@teselagen/ove 0.7.38 → 0.8.3

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/ove.css CHANGED
@@ -9356,6 +9356,43 @@ button:not(:disabled):active {
9356
9356
  margin-left: 16px;
9357
9357
  }
9358
9358
  }
9359
+ .tg-blueprint-divider {
9360
+ position: relative;
9361
+ }
9362
+
9363
+ /* Override Blueprint's default divider when we use text */
9364
+ .tg-blueprint-divider-with-text.bp3-divider {
9365
+ /* Remove Blueprint's default border styling to avoid duplication */
9366
+ border: none;
9367
+ display: flex;
9368
+ align-items: center;
9369
+ margin: 16px 0;
9370
+ height: auto;
9371
+ }
9372
+
9373
+ .tg-blueprint-divider-with-text::before,
9374
+ .tg-blueprint-divider-with-text::after {
9375
+ content: "";
9376
+ flex: 1;
9377
+ border-bottom: 1px solid rgba(16, 22, 26, 0.15);
9378
+ }
9379
+
9380
+ .tg-blueprint-divider-text {
9381
+ padding: 0 10px;
9382
+ font-size: 14px;
9383
+ color: rgba(92, 112, 128, 0.6);
9384
+ white-space: nowrap;
9385
+ }
9386
+
9387
+ /* Dark theme support */
9388
+ .bp3-dark .tg-blueprint-divider-with-text::before,
9389
+ .bp3-dark .tg-blueprint-divider-with-text::after {
9390
+ border-bottom-color: rgba(255, 255, 255, 0.15);
9391
+ }
9392
+
9393
+ .bp3-dark .tg-blueprint-divider-text {
9394
+ color: rgba(167, 182, 194, 0.6);
9395
+ }
9359
9396
  .rg-celleditor-input,
9360
9397
  .rg-celleditor input {
9361
9398
  border: none;
@@ -9423,6 +9460,7 @@ button:not(:disabled):active {
9423
9460
  }
9424
9461
  .bp3-popover.tg-info-helper-popover .bp3-popover-content {
9425
9462
  max-width: 340px;
9463
+ white-space: pre-line;
9426
9464
  }
9427
9465
 
9428
9466
  .info-helper-clickable .bp3-popover-target {
@@ -9683,7 +9721,11 @@ body:not(.drag-active)
9683
9721
  user-select: none;
9684
9722
  background: #f7f7f7;
9685
9723
  }
9686
-
9724
+ /* disable the table header interactions while the table is loading */
9725
+ .ReactTable.loading .rt-thead {
9726
+ opacity: 0.7;
9727
+ pointer-events: none;
9728
+ }
9687
9729
  .ReactTable .rt-thead {
9688
9730
  box-shadow: none;
9689
9731
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
@@ -9851,10 +9893,6 @@ body:not(.drag-active)
9851
9893
  padding-left: 2px;
9852
9894
  }
9853
9895
 
9854
- .ReactTable .-loading.disabled {
9855
- cursor: not-allowed;
9856
- }
9857
-
9858
9896
  /* to get the height to resize based on its container: */
9859
9897
  .ReactTable {
9860
9898
  height: 100%;
@@ -9970,14 +10008,6 @@ body:not(.drag-active)
9970
10008
  color: inherit !important;
9971
10009
  }
9972
10010
 
9973
- .bp3-dark .ReactTable .-loading {
9974
- background: #30404d !important;
9975
- }
9976
-
9977
- .bp3-dark .ReactTable .-loading > div {
9978
- color: #f5f8fa !important;
9979
- }
9980
-
9981
10011
  .bp3-dark .ReactTable .rt-tr-group.selected {
9982
10012
  background: #26738cb0 !important;
9983
10013
  }
@@ -11755,6 +11785,9 @@ path.partWithSelectedTag {
11755
11785
  .bp3-dark .alignmentViewTrackContainer text {
11756
11786
  fill: #f5f8fa !important;
11757
11787
  }
11788
+ .bp3-dark [data-tick-mark] {
11789
+ fill: #f5f8fa !important;
11790
+ }
11758
11791
  /* .bp3-dark .veRowViewAxis text {
11759
11792
  stroke: #f5f8fa !important;
11760
11793
  } */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teselagen/ove",
3
- "version": "0.7.38",
3
+ "version": "0.8.3",
4
4
  "main": "./src/index.js",
5
5
  "type": "module",
6
6
  "exports": {
@@ -19,7 +19,7 @@
19
19
  "@teselagen/range-utils": "0.3.13",
20
20
  "@teselagen/react-list": "0.8.18",
21
21
  "@teselagen/sequence-utils": "0.3.32",
22
- "@teselagen/ui": "0.9.6",
22
+ "@teselagen/ui": "0.10.5",
23
23
  "@use-gesture/react": "10.3.0",
24
24
  "biomsa": "^0.2.4",
25
25
  "classnames": "^2.3.2",
@@ -9,8 +9,7 @@ import {
9
9
  } from "@blueprintjs/core";
10
10
  import React from "react";
11
11
  import { map, startCase } from "lodash-es";
12
- import pureNoFunc from "../utils/pureNoFunc";
13
- // import { fullSequenceTranslationMenu } from "../MenuBar/viewSubmenu";
12
+ import { pureNoFunc } from "@teselagen/ui";
14
13
 
15
14
  export default pureNoFunc(function AlignmentVisibilityTool(props) {
16
15
  return (
@@ -3,7 +3,7 @@ import { getRangeAngles } from "@teselagen/range-utils";
3
3
  import PositionAnnotationOnCircle from "./PositionAnnotationOnCircle";
4
4
  import React from "react";
5
5
  import draggableClassnames from "../constants/draggableClassnames";
6
- import pureNoFunc from "../utils/pureNoFunc";
6
+ import { pureNoFunc } from "@teselagen/ui";
7
7
  import { getSelectionMessage } from "../utils/editorUtils";
8
8
 
9
9
  function Caret({
@@ -4,7 +4,7 @@ import PositionAnnotationOnCircle from "./PositionAnnotationOnCircle";
4
4
  import React from "react";
5
5
  import each from "lodash/each";
6
6
  import withHover from "../helperComponents/withHover";
7
- import pureNoFunc from "../utils/pureNoFunc";
7
+ import { pureNoFunc } from "@teselagen/ui";
8
8
 
9
9
  function Cutsites({
10
10
  radius,
@@ -5,7 +5,7 @@ import getRangeAngles from "./getRangeAnglesSpecial";
5
5
  import PositionAnnotationOnCircle from "./PositionAnnotationOnCircle";
6
6
  import React from "react";
7
7
  import draggableClassnames from "../constants/draggableClassnames";
8
- import pureNoFunc from "../utils/pureNoFunc";
8
+ import { pureNoFunc } from "@teselagen/ui";
9
9
  import {
10
10
  getSelectionMessage,
11
11
  preventDefaultStopPropagation
@@ -61,6 +61,9 @@
61
61
  .bp3-dark .alignmentViewTrackContainer text {
62
62
  fill: #f5f8fa !important;
63
63
  }
64
+ .bp3-dark [data-tick-mark] {
65
+ fill: #f5f8fa !important;
66
+ }
64
67
 
65
68
  /* .bp3-dark .veRowViewAxis text {
66
69
  stroke: #f5f8fa !important;
@@ -148,4 +148,3 @@ const Axis = function (props) {
148
148
 
149
149
  // export default Axis
150
150
  export default view(Axis);
151
- // export default pureNoFunc(Axis);
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
2
  import classnames from "classnames";
3
- // import pure from "../../utils/pureNoFunc";
4
3
  import "./style.css";
5
4
  import { getSelectionMessage } from "../../utils/editorUtils";
6
5
  // import draggableClassnames from "../../constants/draggableClassnames";
@@ -4,7 +4,7 @@ import React from "react";
4
4
  import areNonNegativeIntegers from "validate.io-nonnegative-integer-array";
5
5
  import { getOverlapsOfPotentiallyCircularRanges } from "@teselagen/range-utils";
6
6
  import getXStartAndWidthOfRangeWrtRow from "./getXStartAndWidthOfRangeWrtRow";
7
- import pureNoFunc from "../utils/pureNoFunc";
7
+ import { pureNoFunc } from "@teselagen/ui";
8
8
  import { connectToEditor } from "../withEditorProps";
9
9
 
10
10
  let snipStyle = {
@@ -1,8 +1,7 @@
1
1
  import AnnotationPositioner from "../AnnotationPositioner";
2
2
  import AnnotationContainerHolder from "../AnnotationContainerHolder";
3
3
  import React from "react";
4
- import pureNoFunc from "../../utils/pureNoFunc";
5
-
4
+ import { pureNoFunc } from "@teselagen/ui";
6
5
  import "./style.css";
7
6
 
8
7
  import getXStartAndWidthOfRangeWrtRow from "../getXStartAndWidthOfRangeWrtRow";
@@ -2,8 +2,7 @@
2
2
  import draggableClassnames from "../../constants/draggableClassnames";
3
3
  import React from "react";
4
4
  import Caret from "../Caret";
5
- import pureNoFunc from "../../utils/pureNoFunc";
6
-
5
+ import { pureNoFunc } from "@teselagen/ui";
7
6
  import "./style.css";
8
7
 
9
8
  import getXStartAndWidthOfRangeWrtRow from "../getXStartAndWidthOfRangeWrtRow";
@@ -1,6 +1,6 @@
1
1
  // import PropTypes from "prop-types";
2
2
  import React from "react";
3
- import pureNoFunc from "../../utils/pureNoFunc";
3
+ import { pureNoFunc } from "@teselagen/ui";
4
4
 
5
5
  function AASliver(props) {
6
6
  const {
@@ -4,7 +4,7 @@ import {
4
4
  zeroSubrangeByContainerRange
5
5
  } from "@teselagen/range-utils";
6
6
  import AASliver from "./AASliver";
7
- import pureNoFunc from "../../utils/pureNoFunc";
7
+ import { pureNoFunc } from "@teselagen/ui";
8
8
  import { proteinAlphabet } from "@teselagen/sequence-utils";
9
9
 
10
10
  class Translation extends React.Component {
@@ -3,5 +3,6 @@ import { useSelector } from "react-redux";
3
3
  import { get } from "lodash";
4
4
 
5
5
  export const useFormValue = (formName, field) => {
6
- return useSelector(state => get(state.form?.[formName]?.values, field));
6
+ const formValSelector = state => get(state.form?.[formName]?.values, field);
7
+ return useSelector(formValSelector);
7
8
  };
@@ -221,6 +221,10 @@ export default function createSequenceInputPopup(props) {
221
221
  // function closeInput() {
222
222
  // sequenceInputBubble.remove();
223
223
  // }
224
+ if (document.getElementById("sequenceInputBubble")) {
225
+ // remove the old one if it exists
226
+ document.getElementById("sequenceInputBubble").outerHTML = "";
227
+ }
224
228
  div = document.createElement("div");
225
229
  div.style.zIndex = "400000";
226
230
  div.id = "sequenceInputBubble";
@@ -238,8 +238,12 @@ function VectorInteractionHOC(Component /* options */) {
238
238
  sequence: clipboardData.getData("text/plain") || e.target.value
239
239
  };
240
240
  }
241
- if (sequenceData.isProtein && !seqDataToInsert.proteinSequence) {
242
- seqDataToInsert.proteinSequence = seqDataToInsert.sequence;
241
+ if (sequenceData.isProtein) {
242
+ seqDataToInsert.isProtein = true;
243
+
244
+ if (!seqDataToInsert.proteinSequence) {
245
+ seqDataToInsert.proteinSequence = seqDataToInsert.sequence;
246
+ }
243
247
  }
244
248
 
245
249
  if (