react-msaview 1.3.1 → 2.0.0

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.
Files changed (200) hide show
  1. package/bundle/index.js +283 -97265
  2. package/dist/StructureModel.d.ts +9 -0
  3. package/dist/StructureModel.js +11 -0
  4. package/dist/StructureModel.js.map +1 -0
  5. package/dist/UniprotTrack.d.ts +27 -0
  6. package/dist/UniprotTrack.js +52 -0
  7. package/dist/UniprotTrack.js.map +1 -0
  8. package/dist/colorSchemes.d.ts +2 -2
  9. package/dist/colorSchemes.js +24 -29
  10. package/dist/colorSchemes.js.map +1 -0
  11. package/dist/components/AboutDlg.d.ts +0 -1
  12. package/dist/components/AboutDlg.js +38 -48
  13. package/dist/components/AboutDlg.js.map +1 -0
  14. package/dist/components/AddTrackDlg.d.ts +0 -1
  15. package/dist/components/AddTrackDlg.js +13 -13
  16. package/dist/components/AddTrackDlg.js.map +1 -0
  17. package/dist/components/AnnotationDlg.d.ts +0 -1
  18. package/dist/components/AnnotationDlg.js +36 -48
  19. package/dist/components/AnnotationDlg.js.map +1 -0
  20. package/dist/components/BoxTrack.d.ts +3 -4
  21. package/dist/components/BoxTrack.js +51 -48
  22. package/dist/components/BoxTrack.js.map +1 -0
  23. package/dist/components/DetailsDlg.d.ts +0 -1
  24. package/dist/components/DetailsDlg.js +7 -7
  25. package/dist/components/DetailsDlg.js.map +1 -0
  26. package/dist/components/Header.d.ts +0 -1
  27. package/dist/components/Header.js +39 -34
  28. package/dist/components/Header.js.map +1 -0
  29. package/dist/components/ImportForm.d.ts +0 -1
  30. package/dist/components/ImportForm.js +59 -71
  31. package/dist/components/ImportForm.js.map +1 -0
  32. package/dist/components/MSACanvas.d.ts +0 -1
  33. package/dist/components/MSACanvas.js +71 -74
  34. package/dist/components/MSACanvas.js.map +1 -0
  35. package/dist/components/MSAView.d.ts +0 -1
  36. package/dist/components/MSAView.js +19 -38
  37. package/dist/components/MSAView.js.map +1 -0
  38. package/dist/components/MoreInfoDlg.d.ts +2 -3
  39. package/dist/components/MoreInfoDlg.js +5 -5
  40. package/dist/components/MoreInfoDlg.js.map +1 -0
  41. package/dist/components/ResizeHandles.d.ts +2 -3
  42. package/dist/components/ResizeHandles.js +31 -32
  43. package/dist/components/ResizeHandles.js.map +1 -0
  44. package/dist/components/Rubberband.d.ts +2 -1
  45. package/dist/components/Rubberband.js +42 -64
  46. package/dist/components/Rubberband.js.map +1 -0
  47. package/dist/components/Ruler.d.ts +0 -15
  48. package/dist/components/Ruler.js +18 -87
  49. package/dist/components/Ruler.js.map +1 -0
  50. package/dist/components/SettingsDlg.d.ts +0 -1
  51. package/dist/components/SettingsDlg.js +29 -22
  52. package/dist/components/SettingsDlg.js.map +1 -0
  53. package/dist/components/TextTrack.d.ts +3 -4
  54. package/dist/components/TextTrack.js +23 -24
  55. package/dist/components/TextTrack.js.map +1 -0
  56. package/dist/components/Track.d.ts +2 -3
  57. package/dist/components/Track.js +38 -38
  58. package/dist/components/Track.js.map +1 -0
  59. package/dist/components/TrackInfoDlg.d.ts +5 -3
  60. package/dist/components/TrackInfoDlg.js +12 -13
  61. package/dist/components/TrackInfoDlg.js.map +1 -0
  62. package/dist/components/TracklistDlg.d.ts +0 -1
  63. package/dist/components/TracklistDlg.js +9 -9
  64. package/dist/components/TracklistDlg.js.map +1 -0
  65. package/dist/components/TreeCanvas.d.ts +0 -1
  66. package/dist/components/TreeCanvas.js +135 -148
  67. package/dist/components/TreeCanvas.js.map +1 -0
  68. package/dist/components/TreeRuler.d.ts +0 -1
  69. package/dist/components/TreeRuler.js +3 -3
  70. package/dist/components/TreeRuler.js.map +1 -0
  71. package/dist/components/VerticalGuide.d.ts +6 -0
  72. package/dist/components/VerticalGuide.js +30 -0
  73. package/dist/components/VerticalGuide.js.map +1 -0
  74. package/dist/components/data/seq2.d.ts +3 -3
  75. package/dist/components/data/seq2.js +33 -3
  76. package/dist/components/data/seq2.js.map +1 -0
  77. package/{bundle/components/Ruler.d.ts → dist/components/util.d.ts} +1 -6
  78. package/dist/components/util.js +69 -0
  79. package/dist/components/util.js.map +1 -0
  80. package/dist/index.d.ts +2 -4
  81. package/dist/index.js +3 -3
  82. package/dist/index.js.map +1 -0
  83. package/dist/layout.js +14 -20
  84. package/dist/layout.js.map +1 -0
  85. package/dist/model.d.ts +94 -74
  86. package/dist/model.js +232 -473
  87. package/dist/model.js.map +1 -0
  88. package/dist/parseNewick.d.ts +1 -5
  89. package/dist/parseNewick.js +10 -7
  90. package/dist/parseNewick.js.map +1 -0
  91. package/dist/parsers/ClustalMSA.d.ts +6 -18
  92. package/dist/parsers/ClustalMSA.js +55 -64
  93. package/dist/parsers/ClustalMSA.js.map +1 -0
  94. package/dist/parsers/FastaMSA.d.ts +4 -9
  95. package/dist/parsers/FastaMSA.js +55 -64
  96. package/dist/parsers/FastaMSA.js.map +1 -0
  97. package/dist/parsers/StockholmMSA.d.ts +8 -13
  98. package/dist/parsers/StockholmMSA.js +78 -107
  99. package/dist/parsers/StockholmMSA.js.map +1 -0
  100. package/dist/util.d.ts +33 -4
  101. package/dist/util.js +76 -24
  102. package/dist/util.js.map +1 -0
  103. package/dist/version.d.ts +1 -0
  104. package/dist/version.js +2 -0
  105. package/dist/version.js.map +1 -0
  106. package/package.json +30 -30
  107. package/src/StructureModel.ts +11 -0
  108. package/src/UniprotTrack.ts +60 -0
  109. package/src/colorSchemes.ts +520 -0
  110. package/src/components/AboutDlg.tsx +64 -0
  111. package/src/components/AddTrackDlg.tsx +74 -0
  112. package/src/components/AnnotationDlg.tsx +144 -0
  113. package/src/components/BoxTrack.tsx +225 -0
  114. package/src/components/DetailsDlg.tsx +28 -0
  115. package/src/components/Header.tsx +117 -0
  116. package/src/components/ImportForm.tsx +192 -0
  117. package/src/components/MSACanvas.tsx +297 -0
  118. package/src/components/MSAView.tsx +132 -0
  119. package/src/components/MoreInfoDlg.tsx +21 -0
  120. package/src/components/ResizeHandles.tsx +137 -0
  121. package/src/components/Rubberband.tsx +271 -0
  122. package/src/components/Ruler.tsx +122 -0
  123. package/src/components/SettingsDlg.tsx +154 -0
  124. package/src/components/TextTrack.tsx +120 -0
  125. package/src/components/Track.tsx +150 -0
  126. package/src/components/TrackInfoDlg.tsx +59 -0
  127. package/src/components/TracklistDlg.tsx +61 -0
  128. package/src/components/TreeCanvas.tsx +633 -0
  129. package/src/components/TreeRuler.tsx +12 -0
  130. package/src/components/VerticalGuide.tsx +50 -0
  131. package/src/components/data/seq2.ts +35 -0
  132. package/src/components/util.ts +94 -0
  133. package/src/declare.d.ts +2 -0
  134. package/src/index.ts +2 -0
  135. package/src/layout.ts +83 -0
  136. package/src/model.ts +790 -0
  137. package/{bundle/parseNewick.d.ts → src/parseNewick.ts} +36 -5
  138. package/src/parsers/ClustalMSA.ts +79 -0
  139. package/src/parsers/FastaMSA.ts +82 -0
  140. package/src/parsers/StockholmMSA.ts +137 -0
  141. package/src/util.ts +142 -0
  142. package/src/version.ts +1 -0
  143. package/bundle/colorSchemes.d.ts +0 -16
  144. package/bundle/colorSchemes.js +0 -455
  145. package/bundle/components/AboutDlg.d.ts +0 -5
  146. package/bundle/components/AboutDlg.js +0 -47
  147. package/bundle/components/AddTrackDlg.d.ts +0 -8
  148. package/bundle/components/AddTrackDlg.js +0 -26
  149. package/bundle/components/AnnotationDlg.d.ts +0 -11
  150. package/bundle/components/AnnotationDlg.js +0 -77
  151. package/bundle/components/BoxTrack.d.ts +0 -7
  152. package/bundle/components/BoxTrack.js +0 -143
  153. package/bundle/components/DetailsDlg.d.ts +0 -8
  154. package/bundle/components/DetailsDlg.js +0 -12
  155. package/bundle/components/Header.d.ts +0 -6
  156. package/bundle/components/Header.js +0 -63
  157. package/bundle/components/ImportForm.d.ts +0 -6
  158. package/bundle/components/ImportForm.js +0 -89
  159. package/bundle/components/MSACanvas.d.ts +0 -6
  160. package/bundle/components/MSACanvas.js +0 -210
  161. package/bundle/components/MSAView.d.ts +0 -6
  162. package/bundle/components/MSAView.js +0 -88
  163. package/bundle/components/MoreInfoDlg.d.ts +0 -6
  164. package/bundle/components/MoreInfoDlg.js +0 -11
  165. package/bundle/components/ResizeHandles.d.ts +0 -8
  166. package/bundle/components/ResizeHandles.js +0 -110
  167. package/bundle/components/Rubberband.d.ts +0 -7
  168. package/bundle/components/Rubberband.js +0 -196
  169. package/bundle/components/Ruler.js +0 -121
  170. package/bundle/components/SettingsDlg.d.ts +0 -8
  171. package/bundle/components/SettingsDlg.js +0 -40
  172. package/bundle/components/TextTrack.d.ts +0 -7
  173. package/bundle/components/TextTrack.js +0 -72
  174. package/bundle/components/Track.d.ts +0 -11
  175. package/bundle/components/Track.js +0 -81
  176. package/bundle/components/TrackInfoDlg.d.ts +0 -6
  177. package/bundle/components/TrackInfoDlg.js +0 -33
  178. package/bundle/components/TracklistDlg.d.ts +0 -8
  179. package/bundle/components/TracklistDlg.js +0 -18
  180. package/bundle/components/TreeCanvas.d.ts +0 -6
  181. package/bundle/components/TreeCanvas.js +0 -431
  182. package/bundle/components/TreeRuler.d.ts +0 -6
  183. package/bundle/components/TreeRuler.js +0 -8
  184. package/bundle/components/data/seq2.d.ts +0 -3
  185. package/bundle/components/data/seq2.js +0 -3
  186. package/bundle/index.d.ts +0 -4
  187. package/bundle/layout.d.ts +0 -23
  188. package/bundle/layout.js +0 -53
  189. package/bundle/model.d.ts +0 -364
  190. package/bundle/model.js +0 -894
  191. package/bundle/parseNewick.js +0 -94
  192. package/bundle/parsers/ClustalMSA.d.ts +0 -39
  193. package/bundle/parsers/ClustalMSA.js +0 -77
  194. package/bundle/parsers/FastaMSA.d.ts +0 -26
  195. package/bundle/parsers/FastaMSA.js +0 -78
  196. package/bundle/parsers/StockholmMSA.d.ts +0 -75
  197. package/bundle/parsers/StockholmMSA.js +0 -142
  198. package/bundle/util.d.ts +0 -17
  199. package/bundle/util.js +0 -33
  200. package/dist/components/package.json +0 -62
@@ -1,43 +1,31 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  import React, { useEffect, useRef, useState } from 'react';
13
- import { Menu, MenuItem } from '@material-ui/core';
2
+ import { Menu, MenuItem } from '@mui/material';
14
3
  import normalizeWheel from 'normalize-wheel';
15
4
  import { observer } from 'mobx-react';
16
5
  import RBush from 'rbush';
17
6
  import MoreInfoDlg from './MoreInfoDlg';
18
- var extendBounds = 5;
19
- var radius = 3.5;
20
- var d = radius * 2;
21
- var padding = 600;
22
- var TreeMenu = observer(function (_a) {
23
- var _b, _c;
24
- var node = _a.node, onClose = _a.onClose, model = _a.model;
25
- var structures = model.structures;
26
- var nodeDetails = node ? model.getRowDetails(node.name) : undefined;
7
+ const extendBounds = 5;
8
+ const radius = 3.5;
9
+ const d = radius * 2;
10
+ const padding = 600;
11
+ const TreeMenu = observer(function ({ node, onClose, model, }) {
12
+ var _a, _b;
13
+ const { structures } = model;
14
+ const nodeDetails = node ? model.getRowData(node.name) : undefined;
27
15
  return (React.createElement(React.Fragment, null,
28
16
  React.createElement(Menu, { anchorReference: "anchorPosition", anchorPosition: {
29
17
  top: node.y,
30
18
  left: node.x,
31
19
  }, transitionDuration: 0, keepMounted: true, open: Boolean(node), onClose: onClose },
32
20
  React.createElement(MenuItem, { dense: true, disabled: true }, node.name),
33
- React.createElement(MenuItem, { dense: true, onClick: function () {
21
+ React.createElement(MenuItem, { dense: true, onClick: () => {
34
22
  model.setDialogComponent(MoreInfoDlg, {
35
- info: model.getRowDetails(node.name),
23
+ info: model.getRowData(node.name),
36
24
  });
37
25
  onClose();
38
- } }, "More info..."), (_b = structures[node.name]) === null || _b === void 0 ? void 0 :
39
- _b.map(function (entry) {
40
- return !model.selectedStructures.find(function (n) { return n.id === node.name; }) ? (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: function () {
26
+ } }, "More info..."), (_a = structures[node.name]) === null || _a === void 0 ? void 0 :
27
+ _a.map(entry => {
28
+ return !model.selectedStructures.some(n => n.id === node.name) ? (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: () => {
41
29
  model.addStructureToSelection({
42
30
  structure: entry,
43
31
  id: node.name,
@@ -46,7 +34,7 @@ var TreeMenu = observer(function (_a) {
46
34
  } },
47
35
  "Add PDB to selection (",
48
36
  entry.pdb,
49
- ")")) : (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: function () {
37
+ ")")) : (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: () => {
50
38
  model.removeStructureFromSelection({
51
39
  structure: entry,
52
40
  id: node.name,
@@ -56,29 +44,34 @@ var TreeMenu = observer(function (_a) {
56
44
  "Remove PDB from selection (",
57
45
  entry.pdb,
58
46
  ")"));
59
- }), (_c = nodeDetails.accession) === null || _c === void 0 ? void 0 :
60
- _c.map(function (accession) { return (React.createElement(MenuItem, { dense: true, key: accession, onClick: function () {
61
- model.addUniprotTrack({ name: nodeDetails.name, accession: accession });
47
+ }),
48
+ // @ts-expect-error
49
+ (_b = nodeDetails === null || nodeDetails === void 0 ? void 0 : nodeDetails.data.accession) === null || _b === void 0 ? void 0 :
50
+ _b.map((accession) => (React.createElement(MenuItem, { dense: true, key: accession, onClick: () => {
51
+ model.addUniprotTrack({
52
+ // @ts-expect-error
53
+ name: nodeDetails === null || nodeDetails === void 0 ? void 0 : nodeDetails.data.name,
54
+ accession,
55
+ });
62
56
  onClose();
63
57
  } },
64
58
  "Open UniProt track (",
65
59
  accession,
66
- ")")); }))));
60
+ ")"))))));
67
61
  });
68
- var TreeBranchMenu = observer(function (_a) {
69
- var node = _a.node, model = _a.model, onClose = _a.onClose;
62
+ const TreeBranchMenu = observer(function ({ node, model, onClose, }) {
70
63
  return (React.createElement(Menu, { anchorReference: "anchorPosition", anchorPosition: {
71
64
  left: node.x,
72
65
  top: node.y,
73
66
  }, transitionDuration: 0, keepMounted: true, open: Boolean(node), onClose: onClose },
74
67
  React.createElement(MenuItem, { dense: true, disabled: true }, node.name),
75
- React.createElement(MenuItem, { dense: true, onClick: function () {
68
+ React.createElement(MenuItem, { dense: true, onClick: () => {
76
69
  model.toggleCollapsed(node.id);
77
70
  onClose();
78
71
  } }, model.collapsed.includes(node.id)
79
72
  ? 'Expand this node'
80
73
  : 'Collapse this node'),
81
- React.createElement(MenuItem, { dense: true, onClick: function () {
74
+ React.createElement(MenuItem, { dense: true, onClick: () => {
82
75
  model.showOnly === node.id
83
76
  ? model.setShowOnly(undefined)
84
77
  : model.setShowOnly(node.id);
@@ -87,21 +80,20 @@ var TreeBranchMenu = observer(function (_a) {
87
80
  ? 'Disable show only this node'
88
81
  : 'Show only this node')));
89
82
  });
90
- var TreeBlock = observer(function (_a) {
91
- var model = _a.model, offsetY = _a.offsetY;
92
- var ref = useRef(null);
93
- var clickMap = useRef(new RBush());
94
- var mouseoverRef = useRef(null);
95
- var _b = useState(), branchMenu = _b[0], setBranchMenu = _b[1];
96
- var _c = useState(), toggleNodeMenu = _c[0], setToggleNodeMenu = _c[1];
97
- var _d = useState(), hoverElt = _d[0], setHoverElt = _d[1];
98
- var hierarchy = model.hierarchy, rowHeight = model.rowHeight, scrollY = model.scrollY, treeWidth = model.treeWidth, showBranchLen = model.showBranchLen, collapsed = model.collapsed, margin = model.margin, labelsAlignRight = model.labelsAlignRight, noTree = model.noTree, blockSize = model.blockSize, drawNodeBubbles = model.drawNodeBubbles, drawTree = model.drawTree, treeAreaWidth = model.treeAreaWidth, structures = model.structures, highResScaleFactor = model.highResScaleFactor;
99
- useEffect(function () {
83
+ const TreeBlock = observer(function ({ model, offsetY, }) {
84
+ const ref = useRef(null);
85
+ const clickMap = useRef(new RBush());
86
+ const mouseoverRef = useRef(null);
87
+ const [branchMenu, setBranchMenu] = useState();
88
+ const [toggleNodeMenu, setToggleNodeMenu] = useState();
89
+ const [hoverElt, setHoverElt] = useState();
90
+ const { hierarchy, rowHeight, scrollY, treeWidth, showBranchLen, collapsed, margin, labelsAlignRight, noTree, blockSize, drawNodeBubbles, drawTree, treeAreaWidth, structures, highResScaleFactor, } = model;
91
+ useEffect(() => {
100
92
  clickMap.current.clear();
101
93
  if (!ref.current) {
102
94
  return;
103
95
  }
104
- var ctx = ref.current.getContext('2d');
96
+ const ctx = ref.current.getContext('2d');
105
97
  if (!ctx) {
106
98
  return;
107
99
  }
@@ -109,21 +101,20 @@ var TreeBlock = observer(function (_a) {
109
101
  ctx.scale(highResScaleFactor, highResScaleFactor);
110
102
  ctx.clearRect(0, 0, treeWidth + padding, blockSize);
111
103
  ctx.translate(margin.left, -offsetY);
112
- var font = ctx.font;
113
- ctx.font = font.replace(/\d+px/, Math.max(8, rowHeight - 8) + "px");
104
+ const font = ctx.font;
105
+ ctx.font = font.replace(/\d+px/, `${Math.max(8, rowHeight - 8)}px`);
114
106
  if (!noTree && drawTree) {
115
- hierarchy.links().forEach(function (_a) {
116
- var source = _a.source, target = _a.target;
117
- var y = showBranchLen ? 'len' : 'y';
118
- //@ts-ignore
119
- var _b = source, sy = _b.x, _c = y, sx = _b[_c];
120
- //@ts-ignore
121
- var _d = target, ty = _d.x, _e = y, tx = _d[_e];
122
- var y1 = Math.min(sy, ty);
123
- var y2 = Math.max(sy, ty);
124
- //1d line intersection to check if line crosses block at all, this is
125
- //an optimization that allows us to skip drawing most tree links
126
- //outside the block
107
+ hierarchy.links().forEach(({ source, target }) => {
108
+ const y = showBranchLen ? 'len' : 'y';
109
+ // @ts-expect-error
110
+ const { x: sy, [y]: sx } = source;
111
+ // @ts-expect-error
112
+ const { x: ty, [y]: tx } = target;
113
+ const y1 = Math.min(sy, ty);
114
+ const y2 = Math.max(sy, ty);
115
+ // 1d line intersection to check if line crosses block at all, this is
116
+ // an optimization that allows us to skip drawing most tree links
117
+ // outside the block
127
118
  if (offsetY + blockSize >= y1 && y2 >= offsetY) {
128
119
  ctx.beginPath();
129
120
  ctx.moveTo(sx, sy);
@@ -133,16 +124,14 @@ var TreeBlock = observer(function (_a) {
133
124
  }
134
125
  });
135
126
  if (drawNodeBubbles) {
136
- hierarchy.descendants().forEach(function (node) {
137
- var val = showBranchLen ? 'len' : 'y';
138
- var _a = node,
139
- //@ts-ignore
140
- y = _a.x,
141
- //@ts-ignore
142
- _b = val,
143
- //@ts-ignore
144
- x = _a[_b], data = _a.data;
145
- var _c = data.id, id = _c === void 0 ? '' : _c, _d = data.name, name = _d === void 0 ? '' : _d;
127
+ hierarchy.descendants().forEach(node => {
128
+ const val = showBranchLen ? 'len' : 'y';
129
+ const {
130
+ // @ts-expect-error
131
+ x: y,
132
+ // @ts-expect-error
133
+ [val]: x, data, } = node;
134
+ const { id = '', name = '' } = data;
146
135
  if (y > offsetY - extendBounds &&
147
136
  y < offsetY + blockSize + extendBounds) {
148
137
  ctx.strokeStyle = 'black';
@@ -157,8 +146,8 @@ var TreeBlock = observer(function (_a) {
157
146
  minY: y - radius,
158
147
  maxY: y - radius + d,
159
148
  branch: true,
160
- id: id,
161
- name: name,
149
+ id,
150
+ name,
162
151
  });
163
152
  }
164
153
  });
@@ -172,22 +161,22 @@ var TreeBlock = observer(function (_a) {
172
161
  else {
173
162
  ctx.textAlign = 'start';
174
163
  }
175
- hierarchy.leaves().forEach(function (node) {
176
- var
177
- //@ts-ignore
178
- y = node.x,
179
- //@ts-ignore
180
- x = node.y, _a = node.data, name = _a.name, id = _a.id,
181
- //@ts-ignore
182
- len = node.len;
164
+ hierarchy.leaves().forEach(node => {
165
+ const {
166
+ // @ts-expect-error
167
+ x: y,
168
+ // @ts-expect-error
169
+ y: x, data: { name, id },
170
+ // @ts-expect-error
171
+ len, } = node;
183
172
  if (y > offsetY - extendBounds &&
184
173
  y < offsetY + blockSize + extendBounds) {
185
- //note: +rowHeight/4 matches with -rowHeight/4 in msa
186
- var yp = y + rowHeight / 4;
187
- var xp = showBranchLen ? len : x;
188
- var width = ctx.measureText(name).width;
189
- var height = ctx.measureText('M').width; // use an 'em' for height
190
- var hasStructure = structures[name];
174
+ // note: +rowHeight/4 matches with -rowHeight/4 in msa
175
+ const yp = y + rowHeight / 4;
176
+ const xp = showBranchLen ? len : x;
177
+ const { width } = ctx.measureText(name);
178
+ const height = ctx.measureText('M').width; // use an 'em' for height
179
+ const hasStructure = structures[name];
191
180
  ctx.fillStyle = hasStructure ? 'blue' : 'black';
192
181
  if (!drawTree && !labelsAlignRight) {
193
182
  ctx.fillText(name, 0, yp);
@@ -196,17 +185,17 @@ var TreeBlock = observer(function (_a) {
196
185
  maxX: width,
197
186
  minY: yp - height,
198
187
  maxY: yp,
199
- name: name,
200
- id: id,
188
+ name,
189
+ id,
201
190
  });
202
191
  }
203
192
  else if (labelsAlignRight) {
204
- var smallPadding = 2;
205
- var offset = treeAreaWidth - smallPadding - margin.left;
193
+ const smallPadding = 2;
194
+ const offset = treeAreaWidth - smallPadding - margin.left;
206
195
  if (drawTree && !noTree) {
207
- var width_1 = ctx.measureText(name).width;
196
+ const { width } = ctx.measureText(name);
208
197
  ctx.moveTo(xp + radius + 2, y);
209
- ctx.lineTo(offset - smallPadding - width_1, y);
198
+ ctx.lineTo(offset - smallPadding - width, y);
210
199
  ctx.stroke();
211
200
  }
212
201
  ctx.fillText(name, offset, yp);
@@ -215,8 +204,8 @@ var TreeBlock = observer(function (_a) {
215
204
  maxX: treeAreaWidth - margin.left,
216
205
  minY: yp - height,
217
206
  maxY: yp,
218
- name: name,
219
- id: id,
207
+ name,
208
+ id,
220
209
  });
221
210
  }
222
211
  else {
@@ -226,8 +215,8 @@ var TreeBlock = observer(function (_a) {
226
215
  maxX: xp + d + width,
227
216
  minY: yp - height,
228
217
  maxY: yp,
229
- name: name,
230
- id: id,
218
+ name,
219
+ id,
231
220
  });
232
221
  }
233
222
  }
@@ -249,13 +238,14 @@ var TreeBlock = observer(function (_a) {
249
238
  labelsAlignRight,
250
239
  treeAreaWidth,
251
240
  structures,
241
+ highResScaleFactor,
252
242
  ]);
253
- useEffect(function () {
254
- var canvas = mouseoverRef.current;
243
+ useEffect(() => {
244
+ const canvas = mouseoverRef.current;
255
245
  if (!canvas) {
256
246
  return;
257
247
  }
258
- var ctx = canvas.getContext('2d');
248
+ const ctx = canvas.getContext('2d');
259
249
  if (!ctx) {
260
250
  return;
261
251
  }
@@ -263,65 +253,62 @@ var TreeBlock = observer(function (_a) {
263
253
  ctx.clearRect(0, 0, treeWidth + padding, blockSize);
264
254
  ctx.translate(margin.left, -offsetY);
265
255
  if (hoverElt) {
266
- var minX = hoverElt.minX, maxX = hoverElt.maxX, minY = hoverElt.minY, maxY = hoverElt.maxY;
256
+ const { minX, maxX, minY, maxY } = hoverElt;
267
257
  ctx.fillStyle = 'rgba(0,0,0,0.1)';
268
258
  ctx.fillRect(minX, minY, maxX - minX, maxY - minY);
269
259
  }
270
260
  }, [hoverElt, margin.left, offsetY, blockSize, treeWidth]);
271
261
  function hoverBranchClickMap(event) {
272
- var x = event.nativeEvent.offsetX - margin.left;
273
- var y = event.nativeEvent.offsetY;
274
- var entry = clickMap.current.search({
262
+ const x = event.nativeEvent.offsetX - margin.left;
263
+ const y = event.nativeEvent.offsetY;
264
+ const [entry] = clickMap.current.search({
275
265
  minX: x,
276
266
  maxX: x + 1,
277
267
  minY: y + offsetY,
278
268
  maxY: y + 1 + offsetY,
279
- })[0];
269
+ });
280
270
  return entry && entry.branch
281
- ? __assign(__assign({}, entry), { x: event.clientX, y: event.clientY }) : undefined;
271
+ ? { ...entry, x: event.clientX, y: event.clientY }
272
+ : undefined;
282
273
  }
283
274
  function hoverNameClickMap(event) {
284
- var x = event.nativeEvent.offsetX - margin.left;
285
- var y = event.nativeEvent.offsetY;
286
- var entry = clickMap.current.search({
275
+ const x = event.nativeEvent.offsetX - margin.left;
276
+ const y = event.nativeEvent.offsetY;
277
+ const [entry] = clickMap.current.search({
287
278
  minX: x,
288
279
  maxX: x + 1,
289
280
  minY: y + offsetY,
290
281
  maxY: y + 1 + offsetY,
291
- })[0];
282
+ });
292
283
  return entry && !entry.branch
293
- ? __assign(__assign({}, entry), { x: event.clientX, y: event.clientY }) : undefined;
284
+ ? { ...entry, x: event.clientX, y: event.clientY }
285
+ : undefined;
294
286
  }
295
287
  return (React.createElement(React.Fragment, null,
296
- (branchMenu === null || branchMenu === void 0 ? void 0 : branchMenu.id) ? (React.createElement(TreeBranchMenu, { node: branchMenu, model: model, onClose: function () { return setBranchMenu(undefined); } })) : null,
297
- (toggleNodeMenu === null || toggleNodeMenu === void 0 ? void 0 : toggleNodeMenu.id) ? (React.createElement(TreeMenu, { node: toggleNodeMenu, model: model, onClose: function () { return setToggleNodeMenu(undefined); } })) : null,
288
+ (branchMenu === null || branchMenu === void 0 ? void 0 : branchMenu.id) ? (React.createElement(TreeBranchMenu, { node: branchMenu, model: model, onClose: () => setBranchMenu(undefined) })) : null,
289
+ (toggleNodeMenu === null || toggleNodeMenu === void 0 ? void 0 : toggleNodeMenu.id) ? (React.createElement(TreeMenu, { node: toggleNodeMenu, model: model, onClose: () => setToggleNodeMenu(undefined) })) : null,
298
290
  React.createElement("canvas", { width: (treeWidth + padding) * highResScaleFactor, height: blockSize * highResScaleFactor, style: {
299
291
  width: treeWidth + padding,
300
292
  height: blockSize,
301
293
  top: scrollY + offsetY,
302
294
  left: 0,
303
295
  position: 'absolute',
304
- }, onMouseMove: function (event) {
296
+ }, onMouseMove: event => {
305
297
  if (!ref.current) {
306
298
  return;
307
299
  }
308
- var ret = hoverNameClickMap(event) || hoverBranchClickMap(event);
309
- if (ret) {
310
- ref.current.style.cursor = 'pointer';
311
- }
312
- else {
313
- ref.current.style.cursor = 'default';
314
- }
300
+ const ret = hoverNameClickMap(event) || hoverBranchClickMap(event);
301
+ ref.current.style.cursor = ret ? 'pointer' : 'default';
315
302
  setHoverElt(hoverNameClickMap(event));
316
- }, onClick: function (event) {
317
- var x = event.clientX, y = event.clientY;
318
- var data = hoverBranchClickMap(event);
303
+ }, onClick: event => {
304
+ const { clientX: x, clientY: y } = event;
305
+ const data = hoverBranchClickMap(event);
319
306
  if (data === null || data === void 0 ? void 0 : data.id) {
320
- setBranchMenu(__assign(__assign({}, data), { x: x, y: y }));
307
+ setBranchMenu({ ...data, x, y });
321
308
  }
322
- var data2 = hoverNameClickMap(event);
309
+ const data2 = hoverNameClickMap(event);
323
310
  if (data2 === null || data2 === void 0 ? void 0 : data2.id) {
324
- setToggleNodeMenu(__assign(__assign({}, data2), { x: x, y: y }));
311
+ setToggleNodeMenu({ ...data2, x, y });
325
312
  }
326
313
  }, ref: ref }),
327
314
  React.createElement("canvas", { style: {
@@ -334,25 +321,24 @@ var TreeBlock = observer(function (_a) {
334
321
  zIndex: 100,
335
322
  }, width: treeWidth + padding, height: blockSize, ref: mouseoverRef })));
336
323
  });
337
- var TreeCanvas = observer(function (_a) {
338
- var model = _a.model;
339
- var ref = useRef(null);
340
- var scheduled = useRef(false);
341
- var deltaY = useRef(0);
342
- var prevY = useRef(0);
343
- var treeWidth = model.treeWidth, height = model.height, blocksY = model.blocksY;
344
- var _b = useState(false), mouseDragging = _b[0], setMouseDragging = _b[1];
345
- useEffect(function () {
346
- var curr = ref.current;
324
+ const TreeCanvas = observer(function ({ model }) {
325
+ const ref = useRef(null);
326
+ const scheduled = useRef(false);
327
+ const deltaY = useRef(0);
328
+ const prevY = useRef(0);
329
+ const { treeWidth, height, blocksY } = model;
330
+ const [mouseDragging, setMouseDragging] = useState(false);
331
+ useEffect(() => {
332
+ const curr = ref.current;
347
333
  if (!curr) {
348
334
  return;
349
335
  }
350
336
  function onWheel(origEvent) {
351
- var event = normalizeWheel(origEvent);
337
+ const event = normalizeWheel(origEvent);
352
338
  deltaY.current += event.pixelY;
353
339
  if (!scheduled.current) {
354
340
  scheduled.current = true;
355
- requestAnimationFrame(function () {
341
+ requestAnimationFrame(() => {
356
342
  model.doScrollY(-deltaY.current);
357
343
  deltaY.current = 0;
358
344
  scheduled.current = false;
@@ -361,22 +347,22 @@ var TreeCanvas = observer(function (_a) {
361
347
  origEvent.preventDefault();
362
348
  }
363
349
  curr.addEventListener('wheel', onWheel);
364
- return function () {
350
+ return () => {
365
351
  curr.removeEventListener('wheel', onWheel);
366
352
  };
367
353
  }, [model]);
368
- useEffect(function () {
369
- var cleanup = function () { };
354
+ useEffect(() => {
355
+ let cleanup = () => { };
370
356
  function globalMouseMove(event) {
371
357
  event.preventDefault();
372
- var currY = event.clientY;
373
- var distanceY = currY - prevY.current;
358
+ const currY = event.clientY;
359
+ const distanceY = currY - prevY.current;
374
360
  if (distanceY) {
375
361
  // use rAF to make it so multiple event handlers aren't fired per-frame
376
362
  // see https://calendar.perfplanet.com/2013/the-runtime-performance-checklist/
377
363
  if (!scheduled.current) {
378
364
  scheduled.current = true;
379
- window.requestAnimationFrame(function () {
365
+ window.requestAnimationFrame(() => {
380
366
  model.doScrollY(distanceY);
381
367
  scheduled.current = false;
382
368
  prevY.current = event.clientY;
@@ -393,7 +379,7 @@ var TreeCanvas = observer(function (_a) {
393
379
  if (mouseDragging) {
394
380
  window.addEventListener('mousemove', globalMouseMove, true);
395
381
  window.addEventListener('mouseup', globalMouseUp, true);
396
- cleanup = function () {
382
+ cleanup = () => {
397
383
  window.removeEventListener('mousemove', globalMouseMove, true);
398
384
  window.removeEventListener('mouseup', globalMouseUp, true);
399
385
  };
@@ -402,7 +388,7 @@ var TreeCanvas = observer(function (_a) {
402
388
  }, [model, mouseDragging]);
403
389
  function mouseDown(event) {
404
390
  // check if clicking a draggable element or a resize handle
405
- var target = event.target;
391
+ const target = event.target;
406
392
  if (target.draggable || target.dataset.resizer) {
407
393
  return;
408
394
  }
@@ -422,10 +408,11 @@ var TreeCanvas = observer(function (_a) {
422
408
  event.preventDefault();
423
409
  }
424
410
  return (React.createElement("div", { ref: ref, onMouseDown: mouseDown, onMouseUp: mouseUp, onMouseLeave: mouseLeave, style: {
425
- height: height,
411
+ height,
426
412
  position: 'relative',
427
413
  overflow: 'hidden',
428
414
  width: treeWidth + padding,
429
- } }, blocksY.map(function (block) { return (React.createElement(TreeBlock, { key: block, model: model, offsetY: block })); })));
415
+ } }, blocksY.map(block => (React.createElement(TreeBlock, { key: block, model: model, offsetY: block })))));
430
416
  });
431
417
  export default TreeCanvas;
418
+ //# sourceMappingURL=TreeCanvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeCanvas.js","sourceRoot":"","sources":["../../src/components/TreeCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,MAAM,YAAY,GAAG,CAAC,CAAA;AACtB,MAAM,MAAM,GAAG,GAAG,CAAA;AAClB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAA;AAEpB,MAAM,OAAO,GAAG,GAAG,CAAA;AAmBnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAClC,IAAI,EACJ,OAAO,EACP,KAAK,GAKN;;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAElE,OAAO,CACL;QACE,oBAAC,IAAI,IACH,eAAe,EAAC,gBAAgB,EAChC,cAAc,EAAE;gBACd,GAAG,EAAE,IAAI,CAAC,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,CAAC;aACb,EACD,kBAAkB,EAAE,CAAC,EACrB,WAAW,QACX,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EACnB,OAAO,EAAE,OAAO;YAEhB,oBAAC,QAAQ,IAAC,KAAK,QAAC,QAAQ,UACrB,IAAI,CAAC,IAAI,CACD;YAEX,oBAAC,QAAQ,IACP,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,kBAAkB,CAAC,WAAW,EAAE;wBACpC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;qBAClC,CAAC,CAAA;oBACF,OAAO,EAAE,CAAA;gBACX,CAAC,mBAGQ,EAEV,MAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;eAAE,GAAG,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC/D,oBAAC,QAAQ,IACP,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC1B,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,uBAAuB,CAAC;4BAC5B,SAAS,EAAE,KAAK;4BAChB,EAAE,EAAE,IAAI,CAAC,IAAI;yBACd,CAAC,CAAA;wBACF,OAAO,EAAE,CAAA;oBACX,CAAC;;oBAEsB,KAAK,CAAC,GAAG;wBACvB,CACZ,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IACP,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC1B,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,4BAA4B,CAAC;4BACjC,SAAS,EAAE,KAAK;4BAChB,EAAE,EAAE,IAAI,CAAC,IAAI;yBACd,CAAC,CAAA;wBACF,OAAO,EAAE,CAAA;oBACX,CAAC;;oBAE2B,KAAK,CAAC,GAAG;wBAC5B,CACZ,CAAA;YACH,CAAC,CAAC;QAGA,mBAAmB;QACnB,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,SAAS;eAAE,GAAG,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,CACtD,oBAAC,QAAQ,IACP,KAAK,QACL,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,eAAe,CAAC;wBACpB,mBAAmB;wBACnB,IAAI,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,IAAI;wBAC5B,SAAS;qBACV,CAAC,CAAA;oBACF,OAAO,EAAE,CAAA;gBACX,CAAC;;gBAEoB,SAAS;oBACrB,CACZ,CAAC,CAEC,CACN,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAQF,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EACxC,IAAI,EACJ,KAAK,EACL,OAAO,GAKR;IACC,OAAO,CACL,oBAAC,IAAI,IACH,eAAe,EAAC,gBAAgB,EAChC,cAAc,EAAE;YACd,IAAI,EAAE,IAAI,CAAC,CAAC;YACZ,GAAG,EAAE,IAAI,CAAC,CAAC;SACZ,EACD,kBAAkB,EAAE,CAAC,EACrB,WAAW,QACX,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EACnB,OAAO,EAAE,OAAO;QAEhB,oBAAC,QAAQ,IAAC,KAAK,QAAC,QAAQ,UACrB,IAAI,CAAC,IAAI,CACD;QACX,oBAAC,QAAQ,IACP,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC9B,OAAO,EAAE,CAAA;YACX,CAAC,IAEA,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,oBAAoB,CACf;QACX,oBAAC,QAAQ,IACP,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE;oBACxB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;oBAC9B,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC9B,OAAO,EAAE,CAAA;YACX,CAAC,IAEA,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE;YACzB,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,qBAAqB,CAChB,CACN,CACR,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EACnC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,GAAG,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,KAAK,EAAc,CAAC,CAAA;IAChD,MAAM,YAAY,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IACpD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAe,CAAA;IAC3D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAe,CAAA;IACnE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAc,CAAA;IAEtD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAS,EACT,aAAa,EACb,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,eAAe,EACf,QAAQ,EACR,aAAa,EACb,UAAU,EACV,kBAAkB,GACnB,GAAG,KAAK,CAAA;IAET,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAExB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,OAAM;SACP;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG,EAAE;YACR,OAAM;SACP;QAED,GAAG,CAAC,cAAc,EAAE,CAAA;QACpB,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;QACjD,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC,CAAA;QACnD,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;QAEpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;QACrB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;QAEnE,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;YACvB,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC/C,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;gBACrC,mBAAmB;gBACnB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAA;gBACjC,mBAAmB;gBACnB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAA;gBAEjC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC3B,sEAAsE;gBACtE,iEAAiE;gBACjE,oBAAoB;gBACpB,IAAI,OAAO,GAAG,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE;oBAC9C,GAAG,CAAC,SAAS,EAAE,CAAA;oBACf,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;oBAClB,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;oBAClB,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;oBAClB,GAAG,CAAC,MAAM,EAAE,CAAA;iBACb;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,eAAe,EAAE;gBACnB,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACrC,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;oBACvC,MAAM;oBACJ,mBAAmB;oBACnB,CAAC,EAAE,CAAC;oBACJ,mBAAmB;oBACnB,CAAC,GAAG,CAAC,EAAE,CAAC,EACR,IAAI,GACL,GAAG,IAAI,CAAA;oBACR,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;oBAEnC,IACE,CAAC,GAAG,OAAO,GAAG,YAAY;wBAC1B,CAAC,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,EACtC;wBACA,GAAG,CAAC,WAAW,GAAG,OAAO,CAAA;wBACzB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;wBAC1D,GAAG,CAAC,SAAS,EAAE,CAAA;wBACf,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;wBACrC,GAAG,CAAC,IAAI,EAAE,CAAA;wBACV,GAAG,CAAC,MAAM,EAAE,CAAA;wBAEZ,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;4BACtB,IAAI,EAAE,CAAC,GAAG,MAAM;4BAChB,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC;4BACpB,IAAI,EAAE,CAAC,GAAG,MAAM;4BAChB,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC;4BACpB,MAAM,EAAE,IAAI;4BACZ,EAAE;4BACF,IAAI;yBACL,CAAC,CAAA;qBACH;gBACH,CAAC,CAAC,CAAA;aACH;SACF;QAED,IAAI,SAAS,IAAI,EAAE,EAAE;YACnB,IAAI,gBAAgB,EAAE;gBACpB,GAAG,CAAC,SAAS,GAAG,OAAO,CAAA;gBACvB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;aACxB;iBAAM;gBACL,GAAG,CAAC,SAAS,GAAG,OAAO,CAAA;aACxB;YACD,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAChC,MAAM;gBACJ,mBAAmB;gBACnB,CAAC,EAAE,CAAC;gBACJ,mBAAmB;gBACnB,CAAC,EAAE,CAAC,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClB,mBAAmB;gBACnB,GAAG,GACJ,GAAG,IAAI,CAAA;gBAER,IACE,CAAC,GAAG,OAAO,GAAG,YAAY;oBAC1B,CAAC,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,EACtC;oBACA,sDAAsD;oBACtD,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAA;oBAC5B,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;oBAElC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;oBACvC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA,CAAC,yBAAyB;oBAEnE,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;oBACrC,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;oBAE/C,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,EAAE;wBAClC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;wBACzB,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;4BACtB,IAAI,EAAE,CAAC;4BACP,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,EAAE,GAAG,MAAM;4BACjB,IAAI,EAAE,EAAE;4BACR,IAAI;4BACJ,EAAE;yBACH,CAAC,CAAA;qBACH;yBAAM,IAAI,gBAAgB,EAAE;wBAC3B,MAAM,YAAY,GAAG,CAAC,CAAA;wBACtB,MAAM,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,CAAC,IAAI,CAAA;wBACzD,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE;4BACvB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;4BACvC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;4BAC9B,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;4BAC5C,GAAG,CAAC,MAAM,EAAE,CAAA;yBACb;wBACD,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;wBAC9B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;4BACtB,IAAI,EAAE,aAAa,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK;4BACzC,IAAI,EAAE,aAAa,GAAG,MAAM,CAAC,IAAI;4BACjC,IAAI,EAAE,EAAE,GAAG,MAAM;4BACjB,IAAI,EAAE,EAAE;4BACR,IAAI;4BACJ,EAAE;yBACH,CAAC,CAAA;qBACH;yBAAM;wBACL,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;wBAC9B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;4BACtB,IAAI,EAAE,EAAE,GAAG,CAAC;4BACZ,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK;4BACpB,IAAI,EAAE,EAAE,GAAG,MAAM;4BACjB,IAAI,EAAE,EAAE;4BACR,IAAI;4BACJ,EAAE;yBACH,CAAC,CAAA;qBACH;iBACF;YACH,CAAC,CAAC,CAAA;YACF,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;SACpB;IACH,CAAC,EAAE;QACD,SAAS;QACT,SAAS;QACT,MAAM,CAAC,IAAI;QACX,SAAS;QACT,OAAO;QACP,SAAS;QACT,aAAa;QACb,MAAM;QACN,SAAS;QACT,eAAe;QACf,QAAQ;QACR,gBAAgB;QAChB,aAAa;QACb,UAAU;QACV,kBAAkB;KACnB,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAA;QACnC,IAAI,CAAC,MAAM,EAAE;YACX,OAAM;SACP;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,GAAG,EAAE;YACR,OAAM;SACP;QAED,GAAG,CAAC,cAAc,EAAE,CAAA;QACpB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC,CAAA;QACnD,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;QAEpC,IAAI,QAAQ,EAAE;YACZ,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;YAE3C,GAAG,CAAC,SAAS,GAAG,iBAAiB,CAAA;YACjC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAA;SACnD;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IAE1D,SAAS,mBAAmB,CAAC,KAAuB;QAClD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAA;QACjD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAA;QAEnC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC,GAAG,CAAC;YACX,IAAI,EAAE,CAAC,GAAG,OAAO;YACjB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO;SACtB,CAAC,CAAA;QAEF,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM;YAC1B,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE;YAClD,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAuB;QAChD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAA;QACjD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAA;QACnC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC,GAAG,CAAC;YACX,IAAI,EAAE,CAAC,GAAG,OAAO;YACjB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO;SACtB,CAAC,CAAA;QAEF,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;YAC3B,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE;YAClD,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAED,OAAO,CACL;QACG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAE,EAAC,CAAC,CAAC,CAChB,oBAAC,cAAc,IACb,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GACvC,CACH,CAAC,CAAC,CAAC,IAAI;QAEP,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,EAAC,CAAC,CAAC,CACpB,oBAAC,QAAQ,IACP,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAC3C,CACH,CAAC,CAAC,CAAC,IAAI;QAER,gCACE,KAAK,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,kBAAkB,EACjD,MAAM,EAAE,SAAS,GAAG,kBAAkB,EACtC,KAAK,EAAE;gBACL,KAAK,EAAE,SAAS,GAAG,OAAO;gBAC1B,MAAM,EAAE,SAAS;gBACjB,GAAG,EAAE,OAAO,GAAG,OAAO;gBACtB,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,UAAU;aACrB,EACD,WAAW,EAAE,KAAK,CAAC,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;oBAChB,OAAM;iBACP;gBAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAA;gBAElE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;gBAEtD,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;YACvC,CAAC,EACD,OAAO,EAAE,KAAK,CAAC,EAAE;gBACf,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,CAAA;gBAExC,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,EAAE;oBACZ,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;iBACjC;gBAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;gBACtC,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,EAAE;oBACb,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;iBACtC;YACH,CAAC,EACD,GAAG,EAAE,GAAG,GACR;QACF,gCACE,KAAK,EAAE;gBACL,KAAK,EAAE,SAAS,GAAG,OAAO;gBAC1B,MAAM,EAAE,SAAS;gBACjB,GAAG,EAAE,OAAO,GAAG,OAAO;gBACtB,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,UAAU;gBACpB,aAAa,EAAE,MAAM;gBACrB,MAAM,EAAE,GAAG;aACZ,EACD,KAAK,EAAE,SAAS,GAAG,OAAO,EAC1B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,YAAY,GACjB,CACD,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AACF,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACtE,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,KAAK,GAAG,MAAM,CAAS,CAAC,CAAC,CAAA;IAC/B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAC5C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;QACxB,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;QACD,SAAS,OAAO,CAAC,SAAqB;YACpC,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;YACvC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAA;YAE9B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;gBACtB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;gBACxB,qBAAqB,CAAC,GAAG,EAAE;oBACzB,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBAChC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;oBAClB,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;gBAC3B,CAAC,CAAC,CAAA;aACH;YACD,SAAS,CAAC,cAAc,EAAE,CAAA;QAC5B,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;QAEtB,SAAS,eAAe,CAAC,KAAiB;YACxC,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAA;YAC3B,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,OAAO,CAAA;YACvC,IAAI,SAAS,EAAE;gBACb,uEAAuE;gBACvE,8EAA8E;gBAC9E,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;oBACtB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;oBACxB,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;wBAChC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;wBAC1B,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;wBACzB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;oBAC/B,CAAC,CAAC,CAAA;iBACH;aACF;QACH,CAAC;QAED,SAAS,aAAa;YACpB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAA;YACjB,IAAI,aAAa,EAAE;gBACjB,gBAAgB,CAAC,KAAK,CAAC,CAAA;aACxB;QACH,CAAC;QAED,IAAI,aAAa,EAAE;YACjB,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;YAC3D,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;YACvD,OAAO,GAAG,GAAG,EAAE;gBACb,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;gBAC9D,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;YAC5D,CAAC,CAAA;SACF;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAA;IAE1B,SAAS,SAAS,CAAC,KAAuB;QACxC,2DAA2D;QAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAA;QAC1C,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE;YAC9C,OAAM;SACP;QAED,qCAAqC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YAC7B,gBAAgB,CAAC,IAAI,CAAC,CAAA;SACvB;IACH,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,SAAS,OAAO,CAAC,KAAuB;QACtC,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,SAAS,UAAU,CAAC,KAAuB;QACzC,KAAK,CAAC,cAAc,EAAE,CAAA;IACxB,CAAC;IAED,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,UAAU,EACxB,KAAK,EAAE;YACL,MAAM;YACN,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,SAAS,GAAG,OAAO;SAC3B,IAEA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACpB,oBAAC,SAAS,IAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAI,CACxD,CAAC,CACE,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { MsaViewModel } from '../model';
3
2
  declare const TreeRuler: ({ model }: {
4
3
  model: MsaViewModel;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { observer } from 'mobx-react';
3
- var TreeRuler = observer(function (_a) {
4
- var model = _a.model;
5
- var treeWidth = model.treeWidth;
3
+ const TreeRuler = observer(({ model }) => {
4
+ const { treeWidth } = model;
6
5
  return React.createElement("div", { style: { width: treeWidth } });
7
6
  });
8
7
  export default TreeRuler;
8
+ //# sourceMappingURL=TreeRuler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeRuler.js","sourceRoot":"","sources":["../../src/components/TreeRuler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IAChE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC3B,OAAO,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAI,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,eAAe,SAAS,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { MsaViewModel } from '../model';
2
+ declare const VerticalGuide: ({ model, coordX, }: {
3
+ model: MsaViewModel;
4
+ coordX: number;
5
+ }) => JSX.Element;
6
+ export default VerticalGuide;
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { makeStyles } from 'tss-react/mui';
4
+ import { Tooltip } from '@mui/material';
5
+ const useStyles = makeStyles()({
6
+ guide: {
7
+ pointerEvents: 'none',
8
+ height: '100%',
9
+ width: 1,
10
+ position: 'absolute',
11
+ zIndex: 10,
12
+ },
13
+ });
14
+ const VerticalGuide = observer(function ({ model, coordX, }) {
15
+ const { treeAreaWidth } = model;
16
+ const { classes } = useStyles();
17
+ return (React.createElement(React.Fragment, null,
18
+ React.createElement(Tooltip, { open: true, placement: "top", title: `${model.pxToBp(coordX) + 1}`, arrow: true },
19
+ React.createElement("div", { style: {
20
+ left: coordX + treeAreaWidth,
21
+ position: 'absolute',
22
+ height: 1,
23
+ } })),
24
+ React.createElement("div", { className: classes.guide, style: {
25
+ left: coordX + treeAreaWidth,
26
+ background: 'red',
27
+ } })));
28
+ });
29
+ export default VerticalGuide;
30
+ //# sourceMappingURL=VerticalGuide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalGuide.js","sourceRoot":"","sources":["../../src/components/VerticalGuide.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAKvC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,KAAK,EAAE;QACL,aAAa,EAAE,MAAM;QACrB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,EAAE;KACX;CACF,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,EACvC,KAAK,EACL,MAAM,GAIP;IACC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,CACL;QACE,oBAAC,OAAO,IAAC,IAAI,QAAC,SAAS,EAAC,KAAK,EAAC,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK;YACvE,6BACE,KAAK,EAAE;oBACL,IAAI,EAAE,MAAM,GAAG,aAAa;oBAC5B,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,CAAC;iBACV,GACD,CACM;QACV,6BACE,SAAS,EAAE,OAAO,CAAC,KAAK,EACxB,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,GAAG,aAAa;gBAC5B,UAAU,EAAE,KAAK;aAClB,GACD,CACD,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AACF,eAAe,aAAa,CAAA"}
@@ -1,3 +1,3 @@
1
- export const smallMSA: "CLUSTAL O(1.2.3) multiple sequence alignment\nUniProt/Swiss-Prot|P26898|IL2RA_SHEEP MEPSLLMWRFFVFIVVPGCVTEACHDDPPSLRNA----------MFKVLRYE----VGTM\nUniProt/Swiss-Prot|P01590|IL2RA_MOUSE MEPRLLMLGFLSLTIVPSCRAELCLYDPPEVPNA----------TFKALSYK----NGTI\nUniProt/Swiss-Prot|P41690|IL2RA_FELCA MEPSLLLWGILTFVVVHGHVTELCDENPPDIQHA----------TFKALTYK----TGTM\nUniProt/Swiss-Prot|P01589|IL2RA_HUMAN MDSYLLMWGLLTFIMVPGCQAELCDDDPPEIPHA----------TFKAMAYK----EGTM\nUniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU MDPYLLMWGLLTFITVPGCQAELCDDDPPKITHA----------TFKAVAYK----EGTM\nUniProt/Swiss-Prot|Q95118|IL2RG_BOVIN -----------------------------------LLMWGLLT-----------------\nUniProt/Swiss-Prot|P40321|IL2RG_CANFA MLKPPLPLRSLLFLQLSLLGVGLNSTVPMPNGNEDIT------PDFFLTATPSETLSVSS\nUniProt/Swiss-Prot|P26896|IL2RB_RAT MATVDLSWRLPLYILLLLLATT--------------------------------WVSAAV\nUniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE PLPLRSLLFLQLPLLGVGLNP------------------PLPLRSLLFLQLPLLGVGLNP\nUniProt/Swiss-Prot|P36835|IL2_CAPHI -----------LLGVGLNPKFLTP------------------------------------\nUniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO MLKPPLPLRSLLFLQLPLLGVGLNPKFLTPSGNEDIGGKPGTGGDFFLTSTPAGTLDVST\nUniProt/Swiss-Prot|Q29416|IL2_CANFA --------------LFLQLSLLG-------------------------------------\n";
2
- export const smallMSAOnly: "CLUSTAL O(1.2.4) multiple sequence alignment\n\n\nsp|P69905|HBA_HUMAN MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG\t60\nsp|P01942|HBA_MOUSE MVLSGEDKSNIKAAWGKIGGHGAEYGAEALERMFASFPTTKTYFPHFDVSHGSAQVKGHG\t60\nsp|P13786|HBAZ_CAPHI MSLTRTERTIILSLWSKISTQADVIGTETLERLFSCYPQAKTYFPHFDLHSGSAQLRAHG\t60\n * *: ::: : : *.*:. :. *:*:***:* .:* :********: ****::.**\n\nsp|P69905|HBA_HUMAN KKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTP\t120\nsp|P01942|HBA_MOUSE KKVADALASAAGHLDDLPGALSALSDLHAHKLRVDPVNFKLLSHCLLVTLASHHPADFTP\t120\nsp|P13786|HBAZ_CAPHI SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHFPADFTA\t120\n .**. *: .*. :*:: .*** **:***: *********:**********:* **:**\n\nsp|P69905|HBA_HUMAN AVHASLDKFLASVSTVLTSKYR\t142\nsp|P01942|HBA_MOUSE AVHASLDKFLASVSTVLTSKYR\t142\nsp|P13786|HBAZ_CAPHI DAHAAWDKFLSIVSGVLTEKYR\t142\n .**: ****: ** ***.***";
3
- export const smallTree: "(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)";
1
+ export declare const smallMSA = "CLUSTAL O(1.2.3) multiple sequence alignment\nUniProt/Swiss-Prot|P26898|IL2RA_SHEEP MEPSLLMWRFFVFIVVPGCVTEACHDDPPSLRNA----------MFKVLRYE----VGTM\nUniProt/Swiss-Prot|P01590|IL2RA_MOUSE MEPRLLMLGFLSLTIVPSCRAELCLYDPPEVPNA----------TFKALSYK----NGTI\nUniProt/Swiss-Prot|P41690|IL2RA_FELCA MEPSLLLWGILTFVVVHGHVTELCDENPPDIQHA----------TFKALTYK----TGTM\nUniProt/Swiss-Prot|P01589|IL2RA_HUMAN MDSYLLMWGLLTFIMVPGCQAELCDDDPPEIPHA----------TFKAMAYK----EGTM\nUniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU MDPYLLMWGLLTFITVPGCQAELCDDDPPKITHA----------TFKAVAYK----EGTM\nUniProt/Swiss-Prot|Q95118|IL2RG_BOVIN -----------------------------------LLMWGLLT-----------------\nUniProt/Swiss-Prot|P40321|IL2RG_CANFA MLKPPLPLRSLLFLQLSLLGVGLNSTVPMPNGNEDIT------PDFFLTATPSETLSVSS\nUniProt/Swiss-Prot|P26896|IL2RB_RAT MATVDLSWRLPLYILLLLLATT--------------------------------WVSAAV\nUniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE PLPLRSLLFLQLPLLGVGLNP------------------PLPLRSLLFLQLPLLGVGLNP\nUniProt/Swiss-Prot|P36835|IL2_CAPHI -----------LLGVGLNPKFLTP------------------------------------\nUniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO MLKPPLPLRSLLFLQLPLLGVGLNPKFLTPSGNEDIGGKPGTGGDFFLTSTPAGTLDVST\nUniProt/Swiss-Prot|Q29416|IL2_CANFA --------------LFLQLSLLG-------------------------------------\n";
2
+ export declare const smallMSAOnly = "CLUSTAL O(1.2.4) multiple sequence alignment\n\n\nsp|P69905|HBA_HUMAN MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG\t60\nsp|P01942|HBA_MOUSE MVLSGEDKSNIKAAWGKIGGHGAEYGAEALERMFASFPTTKTYFPHFDVSHGSAQVKGHG\t60\nsp|P13786|HBAZ_CAPHI MSLTRTERTIILSLWSKISTQADVIGTETLERLFSCYPQAKTYFPHFDLHSGSAQLRAHG\t60\n * *: ::: : : *.*:. :. *:*:***:* .:* :********: ****::.**\n\nsp|P69905|HBA_HUMAN KKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTP\t120\nsp|P01942|HBA_MOUSE KKVADALASAAGHLDDLPGALSALSDLHAHKLRVDPVNFKLLSHCLLVTLASHHPADFTP\t120\nsp|P13786|HBAZ_CAPHI SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHFPADFTA\t120\n .**. *: .*. :*:: .*** **:***: *********:**********:* **:**\n\nsp|P69905|HBA_HUMAN AVHASLDKFLASVSTVLTSKYR\t142\nsp|P01942|HBA_MOUSE AVHASLDKFLASVSTVLTSKYR\t142\nsp|P13786|HBAZ_CAPHI DAHAAWDKFLSIVSGVLTEKYR\t142\n .**: ****: ** ***.***";
3
+ export declare const smallTree = "(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)";