react-msaview 2.0.0 → 2.1.1

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 (149) hide show
  1. package/bundle/index.js +35 -33
  2. package/dist/UniprotTrack.js +6 -5
  3. package/dist/UniprotTrack.js.map +1 -1
  4. package/dist/colorSchemes.d.ts +3 -9
  5. package/dist/colorSchemes.js +8 -6
  6. package/dist/colorSchemes.js.map +1 -1
  7. package/dist/components/BoxTrack.d.ts +4 -3
  8. package/dist/components/BoxTrack.js +6 -137
  9. package/dist/components/BoxTrack.js.map +1 -1
  10. package/dist/components/BoxTrackBlock.d.ts +8 -0
  11. package/dist/components/BoxTrackBlock.js +136 -0
  12. package/dist/components/BoxTrackBlock.js.map +1 -0
  13. package/dist/components/Header.d.ts +2 -1
  14. package/dist/components/Header.js +29 -27
  15. package/dist/components/Header.js.map +1 -1
  16. package/dist/components/ImportForm.d.ts +2 -1
  17. package/dist/components/MSABlock.d.ts +8 -0
  18. package/dist/components/MSABlock.js +103 -0
  19. package/dist/components/MSABlock.js.map +1 -0
  20. package/dist/components/MSACanvas.d.ts +2 -1
  21. package/dist/components/MSACanvas.js +3 -101
  22. package/dist/components/MSACanvas.js.map +1 -1
  23. package/dist/components/MSAMouseoverCanvas.d.ts +6 -0
  24. package/dist/components/MSAMouseoverCanvas.js +52 -0
  25. package/dist/components/MSAMouseoverCanvas.js.map +1 -0
  26. package/dist/components/MSAView.d.ts +2 -1
  27. package/dist/components/MSAView.js +10 -36
  28. package/dist/components/MSAView.js.map +1 -1
  29. package/dist/components/MultiAlignmentSelector.d.ts +6 -0
  30. package/dist/components/MultiAlignmentSelector.js +13 -0
  31. package/dist/components/MultiAlignmentSelector.js.map +1 -0
  32. package/dist/components/ResizeHandles.d.ts +3 -2
  33. package/dist/components/Rubberband.d.ts +1 -1
  34. package/dist/components/Rubberband.js +0 -1
  35. package/dist/components/Rubberband.js.map +1 -1
  36. package/dist/components/Ruler.d.ts +2 -1
  37. package/dist/components/Ruler.js +2 -2
  38. package/dist/components/Ruler.js.map +1 -1
  39. package/dist/components/TextTrack.d.ts +2 -1
  40. package/dist/components/Track.d.ts +3 -2
  41. package/dist/components/Track.js +4 -3
  42. package/dist/components/Track.js.map +1 -1
  43. package/dist/components/TreeBranchMenu.d.ts +14 -0
  44. package/dist/components/TreeBranchMenu.js +26 -0
  45. package/dist/components/TreeBranchMenu.js.map +1 -0
  46. package/dist/components/TreeCanvas.d.ts +2 -1
  47. package/dist/components/TreeCanvas.js +2 -320
  48. package/dist/components/TreeCanvas.js.map +1 -1
  49. package/dist/components/TreeCanvasBlock.d.ts +7 -0
  50. package/dist/components/TreeCanvasBlock.js +252 -0
  51. package/dist/components/TreeCanvasBlock.js.map +1 -0
  52. package/dist/components/TreeMenu.d.ts +12 -0
  53. package/dist/components/TreeMenu.js +56 -0
  54. package/dist/components/TreeMenu.js.map +1 -0
  55. package/dist/components/TreeRuler.d.ts +2 -1
  56. package/dist/components/VerticalGuide.d.ts +2 -1
  57. package/dist/components/ZoomControls.d.ts +6 -0
  58. package/dist/components/ZoomControls.js +58 -0
  59. package/dist/components/ZoomControls.js.map +1 -0
  60. package/dist/components/dialogs/AboutDlg.d.ts +4 -0
  61. package/dist/components/{AboutDlg.js → dialogs/AboutDlg.js} +3 -3
  62. package/dist/components/dialogs/AboutDlg.js.map +1 -0
  63. package/dist/components/{AddTrackDlg.d.ts → dialogs/AddTrackDlg.d.ts} +3 -2
  64. package/dist/components/dialogs/AddTrackDlg.js.map +1 -0
  65. package/dist/components/{AnnotationDlg.d.ts → dialogs/AnnotationDlg.d.ts} +3 -2
  66. package/dist/components/dialogs/AnnotationDlg.js.map +1 -0
  67. package/dist/components/dialogs/DetailsDlg.d.ts +7 -0
  68. package/dist/components/{DetailsDlg.js → dialogs/DetailsDlg.js} +3 -2
  69. package/dist/components/dialogs/DetailsDlg.js.map +1 -0
  70. package/dist/components/{MoreInfoDlg.d.ts → dialogs/MoreInfoDlg.d.ts} +2 -1
  71. package/dist/components/dialogs/MoreInfoDlg.js.map +1 -0
  72. package/dist/components/dialogs/SettingsDlg.d.ts +7 -0
  73. package/dist/components/{SettingsDlg.js → dialogs/SettingsDlg.js} +4 -3
  74. package/dist/components/dialogs/SettingsDlg.js.map +1 -0
  75. package/dist/components/{TrackInfoDlg.d.ts → dialogs/TrackInfoDlg.d.ts} +2 -1
  76. package/dist/components/dialogs/TrackInfoDlg.js.map +1 -0
  77. package/dist/components/dialogs/TracklistDlg.d.ts +7 -0
  78. package/dist/components/{TracklistDlg.js → dialogs/TracklistDlg.js} +2 -2
  79. package/dist/components/dialogs/TracklistDlg.js.map +1 -0
  80. package/dist/components/util.js +0 -1
  81. package/dist/components/util.js.map +1 -1
  82. package/dist/model.d.ts +36 -39
  83. package/dist/model.js +25 -22
  84. package/dist/model.js.map +1 -1
  85. package/dist/parseNewick.js +2 -2
  86. package/dist/parseNewick.js.map +1 -1
  87. package/dist/parsers/FastaMSA.d.ts +1 -3
  88. package/dist/parsers/FastaMSA.js +2 -2
  89. package/dist/parsers/FastaMSA.js.map +1 -1
  90. package/dist/parsers/StockholmMSA.d.ts +3 -5
  91. package/dist/parsers/StockholmMSA.js +3 -3
  92. package/dist/parsers/StockholmMSA.js.map +1 -1
  93. package/dist/util.d.ts +5 -7
  94. package/dist/util.js +4 -2
  95. package/dist/util.js.map +1 -1
  96. package/dist/version.d.ts +1 -1
  97. package/dist/version.js +1 -1
  98. package/dist/version.js.map +1 -1
  99. package/package.json +9 -9
  100. package/src/UniprotTrack.ts +6 -7
  101. package/src/colorSchemes.ts +12 -9
  102. package/src/components/BoxTrack.tsx +6 -198
  103. package/src/components/BoxTrackBlock.tsx +198 -0
  104. package/src/components/Header.tsx +49 -60
  105. package/src/components/MSABlock.tsx +164 -0
  106. package/src/components/MSACanvas.tsx +3 -158
  107. package/src/components/MSAMouseoverCanvas.tsx +87 -0
  108. package/src/components/MSAView.tsx +19 -63
  109. package/src/components/MultiAlignmentSelector.tsx +33 -0
  110. package/src/components/Rubberband.tsx +0 -1
  111. package/src/components/Ruler.tsx +2 -1
  112. package/src/components/Track.tsx +9 -6
  113. package/src/components/TreeBranchMenu.tsx +67 -0
  114. package/src/components/TreeCanvas.tsx +2 -507
  115. package/src/components/TreeCanvasBlock.tsx +359 -0
  116. package/src/components/TreeMenu.tsx +105 -0
  117. package/src/components/ZoomControls.tsx +78 -0
  118. package/src/components/{AboutDlg.tsx → dialogs/AboutDlg.tsx} +3 -9
  119. package/src/components/{AddTrackDlg.tsx → dialogs/AddTrackDlg.tsx} +1 -1
  120. package/src/components/{AnnotationDlg.tsx → dialogs/AnnotationDlg.tsx} +2 -2
  121. package/src/components/{DetailsDlg.tsx → dialogs/DetailsDlg.tsx} +5 -5
  122. package/src/components/{SettingsDlg.tsx → dialogs/SettingsDlg.tsx} +6 -6
  123. package/src/components/{TracklistDlg.tsx → dialogs/TracklistDlg.tsx} +2 -4
  124. package/src/components/util.ts +0 -1
  125. package/src/declare.d.ts +0 -1
  126. package/src/model.ts +32 -29
  127. package/src/parseNewick.ts +2 -3
  128. package/src/parsers/FastaMSA.ts +3 -3
  129. package/src/parsers/StockholmMSA.ts +5 -5
  130. package/src/util.ts +8 -5
  131. package/src/version.ts +1 -1
  132. package/dist/components/AboutDlg.d.ts +0 -4
  133. package/dist/components/AboutDlg.js.map +0 -1
  134. package/dist/components/AddTrackDlg.js.map +0 -1
  135. package/dist/components/AnnotationDlg.js.map +0 -1
  136. package/dist/components/DetailsDlg.d.ts +0 -7
  137. package/dist/components/DetailsDlg.js.map +0 -1
  138. package/dist/components/MoreInfoDlg.js.map +0 -1
  139. package/dist/components/SettingsDlg.d.ts +0 -7
  140. package/dist/components/SettingsDlg.js.map +0 -1
  141. package/dist/components/TrackInfoDlg.js.map +0 -1
  142. package/dist/components/TracklistDlg.d.ts +0 -7
  143. package/dist/components/TracklistDlg.js.map +0 -1
  144. /package/dist/components/{AddTrackDlg.js → dialogs/AddTrackDlg.js} +0 -0
  145. /package/dist/components/{AnnotationDlg.js → dialogs/AnnotationDlg.js} +0 -0
  146. /package/dist/components/{MoreInfoDlg.js → dialogs/MoreInfoDlg.js} +0 -0
  147. /package/dist/components/{TrackInfoDlg.js → dialogs/TrackInfoDlg.js} +0 -0
  148. /package/src/components/{MoreInfoDlg.tsx → dialogs/MoreInfoDlg.tsx} +0 -0
  149. /package/src/components/{TrackInfoDlg.tsx → dialogs/TrackInfoDlg.tsx} +0 -0
@@ -0,0 +1,252 @@
1
+ import React, { useEffect, useRef, useState } from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import RBush from 'rbush';
4
+ import TreeMenu from './TreeMenu';
5
+ import TreeBranchMenu from './TreeBranchMenu';
6
+ const extendBounds = 5;
7
+ const radius = 3.5;
8
+ const d = radius * 2;
9
+ const padding = 600;
10
+ const TreeCanvasBlock = observer(function ({ model, offsetY, }) {
11
+ const ref = useRef(null);
12
+ const clickMap = useRef(new RBush());
13
+ const mouseoverRef = useRef(null);
14
+ const [branchMenu, setBranchMenu] = useState();
15
+ const [toggleNodeMenu, setToggleNodeMenu] = useState();
16
+ const [hoverElt, setHoverElt] = useState();
17
+ const { hierarchy, rowHeight, scrollY, treeWidth, showBranchLen, collapsed, margin, labelsAlignRight, noTree, blockSize, drawNodeBubbles, drawTree, treeAreaWidth, structures, highResScaleFactor, } = model;
18
+ useEffect(() => {
19
+ clickMap.current.clear();
20
+ if (!ref.current) {
21
+ return;
22
+ }
23
+ const ctx = ref.current.getContext('2d');
24
+ if (!ctx) {
25
+ return;
26
+ }
27
+ ctx.resetTransform();
28
+ ctx.scale(highResScaleFactor, highResScaleFactor);
29
+ ctx.clearRect(0, 0, treeWidth + padding, blockSize);
30
+ ctx.translate(margin.left, -offsetY);
31
+ const font = ctx.font;
32
+ ctx.font = font.replace(/\d+px/, `${Math.max(8, rowHeight - 8)}px`);
33
+ if (!noTree && drawTree) {
34
+ for (const { source, target } of hierarchy.links()) {
35
+ const y = showBranchLen ? 'len' : 'y';
36
+ // @ts-expect-error
37
+ const { x: sy, [y]: sx } = source;
38
+ // @ts-expect-error
39
+ const { x: ty, [y]: tx } = target;
40
+ const y1 = Math.min(sy, ty);
41
+ const y2 = Math.max(sy, ty);
42
+ // 1d line intersection to check if line crosses block at all, this is
43
+ // an optimization that allows us to skip drawing most tree links
44
+ // outside the block
45
+ if (offsetY + blockSize >= y1 && y2 >= offsetY) {
46
+ ctx.beginPath();
47
+ ctx.moveTo(sx, sy);
48
+ ctx.lineTo(sx, ty);
49
+ ctx.lineTo(tx, ty);
50
+ ctx.stroke();
51
+ }
52
+ }
53
+ if (drawNodeBubbles) {
54
+ for (const node of hierarchy.descendants()) {
55
+ const val = showBranchLen ? 'len' : 'y';
56
+ const {
57
+ // @ts-expect-error
58
+ x: y,
59
+ // @ts-expect-error
60
+ [val]: x, data, } = node;
61
+ const { id = '', name = '' } = data;
62
+ if (y > offsetY - extendBounds &&
63
+ y < offsetY + blockSize + extendBounds) {
64
+ ctx.strokeStyle = 'black';
65
+ ctx.fillStyle = collapsed.includes(id) ? 'black' : 'white';
66
+ ctx.beginPath();
67
+ ctx.arc(x, y, radius, 0, 2 * Math.PI);
68
+ ctx.fill();
69
+ ctx.stroke();
70
+ clickMap.current.insert({
71
+ minX: x - radius,
72
+ maxX: x - radius + d,
73
+ minY: y - radius,
74
+ maxY: y - radius + d,
75
+ branch: true,
76
+ id,
77
+ name,
78
+ });
79
+ }
80
+ }
81
+ }
82
+ }
83
+ if (rowHeight >= 5) {
84
+ if (labelsAlignRight) {
85
+ ctx.textAlign = 'right';
86
+ ctx.setLineDash([1, 3]);
87
+ }
88
+ else {
89
+ ctx.textAlign = 'start';
90
+ }
91
+ for (const node of hierarchy.leaves()) {
92
+ const {
93
+ // @ts-expect-error
94
+ x: y,
95
+ // @ts-expect-error
96
+ y: x, data: { name, id },
97
+ // @ts-expect-error
98
+ len, } = node;
99
+ if (y > offsetY - extendBounds &&
100
+ y < offsetY + blockSize + extendBounds) {
101
+ // note: +rowHeight/4 matches with -rowHeight/4 in msa
102
+ const yp = y + rowHeight / 4;
103
+ const xp = showBranchLen ? len : x;
104
+ const { width } = ctx.measureText(name);
105
+ const height = ctx.measureText('M').width; // use an 'em' for height
106
+ const hasStructure = structures[name];
107
+ ctx.fillStyle = hasStructure ? 'blue' : 'black';
108
+ if (!drawTree && !labelsAlignRight) {
109
+ ctx.fillText(name, 0, yp);
110
+ clickMap.current.insert({
111
+ minX: 0,
112
+ maxX: width,
113
+ minY: yp - height,
114
+ maxY: yp,
115
+ name,
116
+ id,
117
+ });
118
+ }
119
+ else if (labelsAlignRight) {
120
+ const smallPadding = 2;
121
+ const offset = treeAreaWidth - smallPadding - margin.left;
122
+ if (drawTree && !noTree) {
123
+ const { width } = ctx.measureText(name);
124
+ ctx.moveTo(xp + radius + 2, y);
125
+ ctx.lineTo(offset - smallPadding - width, y);
126
+ ctx.stroke();
127
+ }
128
+ ctx.fillText(name, offset, yp);
129
+ clickMap.current.insert({
130
+ minX: treeAreaWidth - margin.left - width,
131
+ maxX: treeAreaWidth - margin.left,
132
+ minY: yp - height,
133
+ maxY: yp,
134
+ name,
135
+ id,
136
+ });
137
+ }
138
+ else {
139
+ ctx.fillText(name, xp + d, yp);
140
+ clickMap.current.insert({
141
+ minX: xp + d,
142
+ maxX: xp + d + width,
143
+ minY: yp - height,
144
+ maxY: yp,
145
+ name,
146
+ id,
147
+ });
148
+ }
149
+ }
150
+ }
151
+ ctx.setLineDash([]);
152
+ }
153
+ }, [
154
+ collapsed,
155
+ rowHeight,
156
+ margin.left,
157
+ hierarchy,
158
+ offsetY,
159
+ treeWidth,
160
+ showBranchLen,
161
+ noTree,
162
+ blockSize,
163
+ drawNodeBubbles,
164
+ drawTree,
165
+ labelsAlignRight,
166
+ treeAreaWidth,
167
+ structures,
168
+ highResScaleFactor,
169
+ ]);
170
+ useEffect(() => {
171
+ const canvas = mouseoverRef.current;
172
+ if (!canvas) {
173
+ return;
174
+ }
175
+ const ctx = canvas.getContext('2d');
176
+ if (!ctx) {
177
+ return;
178
+ }
179
+ ctx.resetTransform();
180
+ ctx.clearRect(0, 0, treeWidth + padding, blockSize);
181
+ ctx.translate(margin.left, -offsetY);
182
+ if (hoverElt) {
183
+ const { minX, maxX, minY, maxY } = hoverElt;
184
+ ctx.fillStyle = 'rgba(0,0,0,0.1)';
185
+ ctx.fillRect(minX, minY, maxX - minX, maxY - minY);
186
+ }
187
+ }, [hoverElt, margin.left, offsetY, blockSize, treeWidth]);
188
+ function hoverBranchClickMap(event) {
189
+ const x = event.nativeEvent.offsetX - margin.left;
190
+ const y = event.nativeEvent.offsetY;
191
+ const [entry] = clickMap.current.search({
192
+ minX: x,
193
+ maxX: x + 1,
194
+ minY: y + offsetY,
195
+ maxY: y + 1 + offsetY,
196
+ });
197
+ return entry && entry.branch
198
+ ? { ...entry, x: event.clientX, y: event.clientY }
199
+ : undefined;
200
+ }
201
+ function hoverNameClickMap(event) {
202
+ const x = event.nativeEvent.offsetX - margin.left;
203
+ const y = event.nativeEvent.offsetY;
204
+ const [entry] = clickMap.current.search({
205
+ minX: x,
206
+ maxX: x + 1,
207
+ minY: y + offsetY,
208
+ maxY: y + 1 + offsetY,
209
+ });
210
+ return entry && !entry.branch
211
+ ? { ...entry, x: event.clientX, y: event.clientY }
212
+ : undefined;
213
+ }
214
+ return (React.createElement(React.Fragment, null,
215
+ (branchMenu === null || branchMenu === void 0 ? void 0 : branchMenu.id) ? (React.createElement(TreeBranchMenu, { node: branchMenu, model: model, onClose: () => setBranchMenu(undefined) })) : null,
216
+ (toggleNodeMenu === null || toggleNodeMenu === void 0 ? void 0 : toggleNodeMenu.id) ? (React.createElement(TreeMenu, { node: toggleNodeMenu, model: model, onClose: () => setToggleNodeMenu(undefined) })) : null,
217
+ React.createElement("canvas", { width: (treeWidth + padding) * highResScaleFactor, height: blockSize * highResScaleFactor, style: {
218
+ width: treeWidth + padding,
219
+ height: blockSize,
220
+ top: scrollY + offsetY,
221
+ left: 0,
222
+ position: 'absolute',
223
+ }, onMouseMove: event => {
224
+ if (!ref.current) {
225
+ return;
226
+ }
227
+ const ret = hoverNameClickMap(event) || hoverBranchClickMap(event);
228
+ ref.current.style.cursor = ret ? 'pointer' : 'default';
229
+ setHoverElt(hoverNameClickMap(event));
230
+ }, onClick: event => {
231
+ const { clientX: x, clientY: y } = event;
232
+ const data = hoverBranchClickMap(event);
233
+ if (data === null || data === void 0 ? void 0 : data.id) {
234
+ setBranchMenu({ ...data, x, y });
235
+ }
236
+ const data2 = hoverNameClickMap(event);
237
+ if (data2 === null || data2 === void 0 ? void 0 : data2.id) {
238
+ setToggleNodeMenu({ ...data2, x, y });
239
+ }
240
+ }, ref: ref }),
241
+ React.createElement("canvas", { style: {
242
+ width: treeWidth + padding,
243
+ height: blockSize,
244
+ top: scrollY + offsetY,
245
+ left: 0,
246
+ position: 'absolute',
247
+ pointerEvents: 'none',
248
+ zIndex: 100,
249
+ }, width: treeWidth + padding, height: blockSize, ref: mouseoverRef })));
250
+ });
251
+ export default TreeCanvasBlock;
252
+ //# sourceMappingURL=TreeCanvasBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeCanvasBlock.js","sourceRoot":"","sources":["../../src/components/TreeCanvasBlock.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../model';
3
+ declare const TreeMenu: ({ node, onClose, model, }: {
4
+ node: {
5
+ x: number;
6
+ y: number;
7
+ name: string;
8
+ };
9
+ model: MsaViewModel;
10
+ onClose: () => void;
11
+ }) => React.JSX.Element;
12
+ export default TreeMenu;
@@ -0,0 +1,56 @@
1
+ import React, { lazy } from 'react';
2
+ import { Menu, MenuItem } from '@mui/material';
3
+ import { observer } from 'mobx-react';
4
+ const MoreInfoDlg = lazy(() => import('./dialogs/MoreInfoDlg'));
5
+ const TreeMenu = observer(function ({ node, onClose, model, }) {
6
+ var _a, _b;
7
+ const { structures } = model;
8
+ const nodeDetails = node ? model.getRowData(node.name) : undefined;
9
+ return (React.createElement(React.Fragment, null,
10
+ React.createElement(Menu, { anchorReference: "anchorPosition", anchorPosition: {
11
+ top: node.y,
12
+ left: node.x,
13
+ }, transitionDuration: 0, keepMounted: true, open: Boolean(node), onClose: onClose },
14
+ React.createElement(MenuItem, { dense: true, disabled: true }, node.name),
15
+ React.createElement(MenuItem, { dense: true, onClick: () => {
16
+ model.setDialogComponent(MoreInfoDlg, {
17
+ info: model.getRowData(node.name),
18
+ });
19
+ onClose();
20
+ } }, "More info..."), (_a = structures[node.name]) === null || _a === void 0 ? void 0 :
21
+ _a.map(entry => {
22
+ return !model.selectedStructures.some(n => n.id === node.name) ? (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: () => {
23
+ model.addStructureToSelection({
24
+ structure: entry,
25
+ id: node.name,
26
+ });
27
+ onClose();
28
+ } },
29
+ "Add PDB to selection (",
30
+ entry.pdb,
31
+ ")")) : (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: () => {
32
+ model.removeStructureFromSelection({
33
+ structure: entry,
34
+ id: node.name,
35
+ });
36
+ onClose();
37
+ } },
38
+ "Remove PDB from selection (",
39
+ entry.pdb,
40
+ ")"));
41
+ }), // @ts-expect-error
42
+ (_b = nodeDetails === null || nodeDetails === void 0 ? void 0 : nodeDetails.data.accession) === null || _b === void 0 ? void 0 :
43
+ _b.map(accession => (React.createElement(MenuItem, { dense: true, key: accession, onClick: () => {
44
+ model.addUniprotTrack({
45
+ // @ts-expect-error
46
+ name: nodeDetails === null || nodeDetails === void 0 ? void 0 : nodeDetails.data.name,
47
+ accession,
48
+ });
49
+ onClose();
50
+ } },
51
+ "Open UniProt track (",
52
+ accession,
53
+ ")"))))));
54
+ });
55
+ export default TreeMenu;
56
+ //# sourceMappingURL=TreeMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeMenu.js","sourceRoot":"","sources":["../../src/components/TreeMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import React from 'react';
1
2
  import { MsaViewModel } from '../model';
2
3
  declare const TreeRuler: ({ model }: {
3
4
  model: MsaViewModel;
4
- }) => JSX.Element;
5
+ }) => React.JSX.Element;
5
6
  export default TreeRuler;
@@ -1,6 +1,7 @@
1
+ import React from 'react';
1
2
  import { MsaViewModel } from '../model';
2
3
  declare const VerticalGuide: ({ model, coordX, }: {
3
4
  model: MsaViewModel;
4
5
  coordX: number;
5
- }) => JSX.Element;
6
+ }) => React.JSX.Element;
6
7
  export default VerticalGuide;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../model';
3
+ declare const ZoomControls: ({ model, }: {
4
+ model: MsaViewModel;
5
+ }) => React.JSX.Element;
6
+ export default ZoomControls;
@@ -0,0 +1,58 @@
1
+ import React from 'react';
2
+ import { IconButton } from '@mui/material';
3
+ import { observer } from 'mobx-react';
4
+ import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
5
+ // icons
6
+ import MoreVert from '@mui/icons-material/MoreVert';
7
+ import ZoomIn from '@mui/icons-material/ZoomIn';
8
+ import ZoomOut from '@mui/icons-material/ZoomOut';
9
+ const ZoomControls = observer(function ZoomControls({ model, }) {
10
+ const { colWidth, rowHeight } = model;
11
+ return (React.createElement(React.Fragment, null,
12
+ React.createElement(IconButton, { onClick: () => {
13
+ model.setColWidth(Math.ceil(colWidth * 1.5));
14
+ model.setRowHeight(Math.ceil(rowHeight * 1.5));
15
+ } },
16
+ React.createElement(ZoomIn, null)),
17
+ React.createElement(IconButton, { onClick: () => {
18
+ model.setColWidth(Math.max(1, Math.floor(colWidth * 0.75)));
19
+ model.setRowHeight(Math.max(1.5, Math.floor(rowHeight * 0.75)));
20
+ } },
21
+ React.createElement(ZoomOut, null)),
22
+ React.createElement(CascadingMenuButton, { menuItems: [
23
+ {
24
+ label: 'Decrease row height',
25
+ onClick: () => {
26
+ model.setRowHeight(Math.max(1.5, rowHeight * 0.75));
27
+ },
28
+ },
29
+ {
30
+ label: 'Increase row height',
31
+ onClick: () => {
32
+ model.setRowHeight(rowHeight * 1.5);
33
+ },
34
+ },
35
+ {
36
+ label: 'Decrease col width',
37
+ onClick: () => {
38
+ model.setColWidth(Math.max(1, colWidth * 0.75));
39
+ },
40
+ },
41
+ {
42
+ label: 'Increase col width',
43
+ onClick: () => {
44
+ model.setColWidth(colWidth * 1.5);
45
+ },
46
+ },
47
+ {
48
+ label: 'Reset zoom to default',
49
+ onClick: () => {
50
+ model.setColWidth(16);
51
+ model.setRowHeight(20);
52
+ },
53
+ },
54
+ ] },
55
+ React.createElement(MoreVert, null))));
56
+ });
57
+ export default ZoomControls;
58
+ //# sourceMappingURL=ZoomControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoomControls.js","sourceRoot":"","sources":["../../src/components/ZoomControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AAKtE,QAAQ;AACR,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,OAAO,OAAO,MAAM,6BAA6B,CAAA;AAEjD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,YAAY,CAAC,EAClD,KAAK,GAGN;IACC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IACrC,OAAO,CACL;QACE,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAA;gBAC5C,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAA;YAChD,CAAC;YAED,oBAAC,MAAM,OAAG,CACC;QACb,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC3D,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACjE,CAAC;YAED,oBAAC,OAAO,OAAG,CACA;QACb,oBAAC,mBAAmB,IAClB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC,CAAA;oBACrD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,YAAY,CAAC,SAAS,GAAG,GAAG,CAAC,CAAA;oBACrC,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAA;oBACjD,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAA;oBACnC,CAAC;iBACF;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;wBACrB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;oBACxB,CAAC;iBACF;aACF;YAED,oBAAC,QAAQ,OAAG,CACQ,CACrB,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AACF,eAAe,YAAY,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export default function AboutDialog({ onClose }: {
3
+ onClose: () => void;
4
+ }): React.JSX.Element;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { Dialog } from '@jbrowse/core/ui';
3
3
  import { DialogContent, Typography, Link } from '@mui/material';
4
- import { version } from '../version';
5
- export default function AboutDialog({ onClose, open, }) {
6
- return (React.createElement(Dialog, { onClose: () => onClose(), open: open, title: "About this plugin" },
4
+ import { version } from '../../version';
5
+ export default function AboutDialog({ onClose }) {
6
+ return (React.createElement(Dialog, { onClose: () => onClose(), open: true, title: "About this plugin" },
7
7
  React.createElement(DialogContent, null,
8
8
  React.createElement(Typography, null,
9
9
  "MSAView ",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AboutDlg.js","sourceRoot":"","sources":["../../../src/components/dialogs/AboutDlg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAA2B;IACtE,OAAO,CACL,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,QAAC,KAAK,EAAC,mBAAmB;QAC9D,oBAAC,aAAa;YACZ,oBAAC,UAAU;;gBACA,OAAO;;gBAChB,oBAAC,IAAI,IAAC,IAAI,EAAC,gDAAgD,aAEpD;oBAEI;YAEb;gBACE;oBACE,oBAAC,UAAU;;wBAC0B,GAAG;wBACtC,oBAAC,IAAI,IAAC,IAAI,EAAC,wCAAwC,cAAe;wBAAC,GAAG;;wBAC7B,GAAG;wBAC5C,oBAAC,IAAI,IAAC,IAAI,EAAC,gEAAgE,WAEpE,CACI,CACV;gBACL;oBACE,oBAAC,UAAU;;wBAC+C,GAAG;wBAC3D,oBAAC,IAAI,IAAC,IAAI,EAAC,kDAAkD,WAEtD,CACI,CACV;gBACL;oBACE,oBAAC,UAAU;;wBAEU,GAAG;wBACtB,oBAAC,IAAI,IAAC,IAAI,EAAC,oDAAoD,WAExD,CACI,CACV;gBACL;oBACE,oBAAC,UAAU;;wBACoC,GAAG;wBAChD,oBAAC,IAAI,IAAC,IAAI,EAAC,uDAAuD,WAE3D,CACI,CACV,CACF,CACS,CACT,CACV,CAAA;AACH,CAAC"}
@@ -1,7 +1,8 @@
1
- import { MsaViewModel } from '../model';
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../../model';
2
3
  declare const _default: ({ model, onClose, open, }: {
3
4
  model: MsaViewModel;
4
5
  onClose: () => void;
5
6
  open: boolean;
6
- }) => JSX.Element;
7
+ }) => React.JSX.Element;
7
8
  export default _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddTrackDlg.js","sourceRoot":"","sources":["../../../src/components/dialogs/AddTrackDlg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EACL,aAAa,EACb,aAAa,EACb,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,eAAe,QAAQ,CAAC,UAAU,EAChC,KAAK,EACL,OAAO,EACP,IAAI,GAKL;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAgB,CAAA;IAC1D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAEtD,OAAO,CACL,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,WAAW;QAC7D,oBAAC,aAAa;YACZ,oBAAC,UAAU,kEAEE;YACb,oBAAC,SAAS,IACR,MAAM,QACN,UAAU,EAAC,qCAAqC,EAChD,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAChB,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtC,CAAC,IAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,oBAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,IAC/C,MAAM,CACE,CACZ,CAAC,CACQ;YACZ,oBAAC,YAAY,IAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,GAAI;YAChE,oBAAC,aAAa;gBACZ,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;wBACzB,IAAI,SAAS,EAAE;4BACb,mEAAmE;4BACnE,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;yBAClC;oBACH,CAAC,EACD,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,WAGR;gBACT,oBAAC,MAAM,IACL,KAAK,EAAC,WAAW,EACjB,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,aAGjB,CACK,CACF,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
- import { MsaViewModel } from '../model';
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../../model';
2
3
  declare const _default: ({ onClose, data, model, }: {
3
4
  model: MsaViewModel;
4
5
  onClose: () => void;
@@ -6,5 +7,5 @@ declare const _default: ({ onClose, data, model, }: {
6
7
  left: number;
7
8
  right: number;
8
9
  };
9
- }) => JSX.Element;
10
+ }) => React.JSX.Element;
10
11
  export default _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnnotationDlg.js","sourceRoot":"","sources":["../../../src/components/dialogs/AnnotationDlg.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../../model';
3
+ declare const DetailsDialog: ({ model, onClose, }: {
4
+ model: MsaViewModel;
5
+ onClose: () => void;
6
+ }) => React.JSX.Element;
7
+ export default DetailsDialog;
@@ -3,10 +3,11 @@ import { DialogContent } from '@mui/material';
3
3
  import { observer } from 'mobx-react';
4
4
  import { Dialog } from '@jbrowse/core/ui';
5
5
  import { Attributes } from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail';
6
- export default observer(function ({ model, onClose, open, }) {
6
+ const DetailsDialog = observer(function ({ model, onClose, }) {
7
7
  const { header } = model;
8
- return (React.createElement(Dialog, { onClose: () => onClose(), open: open, title: "Metadata" },
8
+ return (React.createElement(Dialog, { onClose: () => onClose(), open: true, title: "Metadata" },
9
9
  React.createElement(DialogContent, null,
10
10
  React.createElement(Attributes, { attributes: header }))));
11
11
  });
12
+ export default DetailsDialog;
12
13
  //# sourceMappingURL=DetailsDlg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailsDlg.js","sourceRoot":"","sources":["../../../src/components/dialogs/DetailsDlg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,mDAAmD,CAAA;AAK9E,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,EACvC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAExB,OAAO,CACL,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,QAAC,KAAK,EAAC,UAAU;QACrD,oBAAC,aAAa;YACZ,oBAAC,UAAU,IAAC,UAAU,EAAE,MAAM,GAAI,CACpB,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,aAAa,CAAA"}
@@ -1,5 +1,6 @@
1
+ import React from 'react';
1
2
  declare const _default: ({ info, onClose, }: {
2
3
  info: Record<string, unknown>;
3
4
  onClose: () => void;
4
- }) => JSX.Element;
5
+ }) => React.JSX.Element;
5
6
  export default _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoreInfoDlg.js","sourceRoot":"","sources":["../../../src/components/dialogs/MoreInfoDlg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mDAAmD,CAAA;AAE9E,eAAe,QAAQ,CAAC,UAAU,EAChC,IAAI,EACJ,OAAO,GAIR;IACC,OAAO,CACL,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,QAAC,KAAK,EAAC,UAAU;QACrD,oBAAC,aAAa;YACZ,oBAAC,UAAU,IAAC,UAAU,EAAE,IAAI,GAAI,CAClB,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../../model';
3
+ declare const SettingsDialog: ({ model, onClose, }: {
4
+ model: MsaViewModel;
5
+ onClose: () => void;
6
+ }) => React.JSX.Element;
7
+ export default SettingsDialog;
@@ -3,13 +3,13 @@ import { observer } from 'mobx-react';
3
3
  import { makeStyles } from 'tss-react/mui';
4
4
  import { Dialog } from '@jbrowse/core/ui';
5
5
  import { Button, Checkbox, DialogActions, DialogContent, FormControlLabel, MenuItem, TextField, } from '@mui/material';
6
- import colorSchemes from '../colorSchemes';
6
+ import colorSchemes from '../../colorSchemes';
7
7
  const useStyles = makeStyles()(theme => ({
8
8
  field: {
9
9
  margin: theme.spacing(4),
10
10
  },
11
11
  }));
12
- export default observer(function ({ model, onClose, open, }) {
12
+ const SettingsDialog = observer(function ({ model, onClose, }) {
13
13
  const { classes } = useStyles();
14
14
  const { colorSchemeName, noTree } = model;
15
15
  const [rowHeight, setRowHeight] = useState(`${model.rowHeight}`);
@@ -21,7 +21,7 @@ export default observer(function ({ model, onClose, open, }) {
21
21
  const rowHeightError = error(rowHeight);
22
22
  const colWidthError = error(colWidth);
23
23
  const treeWidthError = error(treeWidth);
24
- return (React.createElement(Dialog, { onClose: () => onClose(), open: open, title: "Settings" },
24
+ return (React.createElement(Dialog, { open: true, onClose: () => onClose(), title: "Settings" },
25
25
  React.createElement(DialogContent, null,
26
26
  React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: model.showBranchLen, onChange: () => model.toggleBranchLen() }), label: "Show branch length" }),
27
27
  React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: model.bgColor, onChange: () => model.toggleBgColor() }), label: "Color background" }),
@@ -44,4 +44,5 @@ export default observer(function ({ model, onClose, open, }) {
44
44
  onClose();
45
45
  }, variant: "contained", color: "primary" }, "Submit")))));
46
46
  });
47
+ export default SettingsDialog;
47
48
  //# sourceMappingURL=SettingsDlg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsDlg.js","sourceRoot":"","sources":["../../../src/components/dialogs/SettingsDlg.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
+ import React from 'react';
1
2
  declare const TrackInfoDialog: ({ model, onClose, }: {
2
3
  model: {
3
4
  name: string;
4
5
  data: string;
5
6
  };
6
7
  onClose: () => void;
7
- }) => JSX.Element;
8
+ }) => React.JSX.Element;
8
9
  export default TrackInfoDialog;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackInfoDlg.js","sourceRoot":"","sources":["../../../src/components/dialogs/TrackInfoDlg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,IAAI,MAAM,mBAAmB,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,YAAY;KACxB;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,EACzC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAA;IACvD,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,CACL,oBAAC,MAAM,IACL,IAAI,QACJ,OAAO,EAAE,OAAO,EAChB,SAAS,QACT,QAAQ,EAAC,IAAI,EACb,KAAK,EAAE,gBAAgB,KAAK,CAAC,IAAI,EAAE;QAEnC,oBAAC,aAAa;YACZ,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAChB,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,UAAU,CAAC,GAAG,EAAE;wBACd,QAAQ,CAAC,mBAAmB,CAAC,CAAA;oBAC/B,CAAC,EAAE,GAAG,CAAC,CAAA;gBACT,CAAC,IAEA,KAAK,CACC;YACT,6BAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,IAAG,KAAK,CAAC,IAAI,CAAO,CACtC;QAChB,oBAAC,aAAa;YACZ,oBAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,WAAW,YAEtD,CACK,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,eAAe,CAAA"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { MsaViewModel } from '../../model';
3
+ declare const _default: ({ model, onClose, }: {
4
+ model: MsaViewModel;
5
+ onClose: () => void;
6
+ }) => React.JSX.Element;
7
+ export default _default;