react-msaview 5.6.3 → 5.7.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 (115) hide show
  1. package/README.md +1 -1
  2. package/bundle/index.js +134 -140
  3. package/bundle/index.js.map +4 -4
  4. package/dist/colorSchemes.js +1 -1
  5. package/dist/components/ConservationTrack.js +3 -3
  6. package/dist/components/ConservationTrack.js.map +1 -1
  7. package/dist/components/Loading.js +3 -4
  8. package/dist/components/Loading.js.map +1 -1
  9. package/dist/components/MSAView.js +8 -8
  10. package/dist/components/MSAViewer.js +2 -2
  11. package/dist/components/ResizeHandles.js +1 -1
  12. package/dist/components/SequenceTextArea.js +2 -2
  13. package/dist/components/SequenceTextArea.js.map +1 -1
  14. package/dist/components/TextTrack.js +7 -6
  15. package/dist/components/TextTrack.js.map +1 -1
  16. package/dist/components/Track.js +2 -2
  17. package/dist/components/VerticalScrollbar.js +1 -1
  18. package/dist/components/dialogs/AboutDialog.js +1 -1
  19. package/dist/components/dialogs/DomainDialog.js +2 -2
  20. package/dist/components/dialogs/ExportSVGDialog.js +1 -1
  21. package/dist/components/dialogs/InterProScanDialog.js +1 -1
  22. package/dist/components/dialogs/MetadataDialog.js +1 -1
  23. package/dist/components/dialogs/TrackInfoDialog.js +1 -1
  24. package/dist/components/dialogs/UserProvidedDomainsDialog.js +1 -1
  25. package/dist/components/header/ColorSchemeMenu.js +1 -1
  26. package/dist/components/header/FileMenu.js +3 -3
  27. package/dist/components/header/Header.js +11 -11
  28. package/dist/components/header/MSASettingsMenu.js +1 -1
  29. package/dist/components/header/SettingsMenu.js +2 -2
  30. package/dist/components/header/SettingsMenu.js.map +1 -1
  31. package/dist/components/header/TreeSettingsMenu.js +1 -1
  32. package/dist/components/header/getDomainsMenu.d.ts +4 -4
  33. package/dist/components/header/getDomainsMenu.js +3 -3
  34. package/dist/components/import/ImportForm.js +2 -2
  35. package/dist/components/import/ImportFormExamples.js +2 -2
  36. package/dist/components/minimap/Minimap.js +2 -2
  37. package/dist/components/minimap/Minimap.js.map +1 -1
  38. package/dist/components/minimap/MinimapSVG.js +1 -1
  39. package/dist/components/msa/MSACanvas.js +4 -4
  40. package/dist/components/msa/MSACanvas.js.map +1 -1
  41. package/dist/components/msa/MSACanvasBlock.js +7 -7
  42. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  43. package/dist/components/msa/MSAMouseoverCanvas.js +2 -2
  44. package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
  45. package/dist/components/msa/MSAPanel.js +3 -3
  46. package/dist/components/msa/renderBoxFeatureCanvasBlock.js +2 -2
  47. package/dist/components/msa/renderMSABlock.js +4 -4
  48. package/dist/components/msa/renderMSABlock.js.map +1 -1
  49. package/dist/components/msa/renderMSAMouseover.js +1 -1
  50. package/dist/components/msa/useMsaBlockMouse.d.ts +1 -1
  51. package/dist/components/msa/useMsaBlockMouse.js +15 -6
  52. package/dist/components/msa/useMsaBlockMouse.js.map +1 -1
  53. package/dist/components/tracks/renderTracksSvg.d.ts +7 -3
  54. package/dist/components/tracks/renderTracksSvg.js +19 -12
  55. package/dist/components/tracks/renderTracksSvg.js.map +1 -1
  56. package/dist/components/tree/TreeCanvas.js +5 -5
  57. package/dist/components/tree/TreeCanvas.js.map +1 -1
  58. package/dist/components/tree/TreeCanvasBlock.js +5 -5
  59. package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
  60. package/dist/components/tree/TreeNodeMenu.js +1 -1
  61. package/dist/components/tree/TreePanel.js +1 -1
  62. package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +1 -1
  63. package/dist/components/tree/renderTreeCanvas.d.ts +1 -1
  64. package/dist/components/tree/renderTreeCanvas.js +3 -3
  65. package/dist/components/tree/useTreeHover.d.ts +2 -2
  66. package/dist/components/tree/useTreeHover.js +1 -1
  67. package/dist/components/tree/useTreeHover.js.map +1 -1
  68. package/dist/createPaletteMap.js +1 -1
  69. package/dist/fetchUtils.js +15 -1
  70. package/dist/fetchUtils.js.map +1 -1
  71. package/dist/index.js +4 -4
  72. package/dist/launchInterProScan.js +1 -1
  73. package/dist/measureTextCanvas.js +1 -1
  74. package/dist/model/msaModel.js +2 -2
  75. package/dist/model/treeModel.js +2 -2
  76. package/dist/model.d.ts +69 -64
  77. package/dist/model.js +44 -26
  78. package/dist/model.js.map +1 -1
  79. package/dist/propertyConservation.js +1 -1
  80. package/dist/renderToSvg.js +8 -9
  81. package/dist/renderToSvg.js.map +1 -1
  82. package/dist/rowCoordinateCalculations.js +1 -1
  83. package/dist/seqPosToGlobalCol.js +1 -1
  84. package/dist/umd.js +2 -2
  85. package/dist/useCanvasAutorun.js +1 -1
  86. package/dist/useCanvasAutorun.js.map +1 -1
  87. package/dist/useColorContrast.js +1 -1
  88. package/dist/useWheelScroll.js +1 -1
  89. package/dist/version.d.ts +1 -1
  90. package/dist/version.js +1 -1
  91. package/dist/wheelZoom.d.ts +1 -1
  92. package/package.json +8 -7
  93. package/src/components/ConservationTrack.tsx +1 -1
  94. package/src/components/SequenceTextArea.tsx +1 -1
  95. package/src/components/TextTrack.tsx +3 -2
  96. package/src/components/header/SettingsMenu.tsx +1 -1
  97. package/src/components/minimap/Minimap.tsx +1 -1
  98. package/src/components/msa/MSACanvas.tsx +6 -1
  99. package/src/components/msa/MSACanvasBlock.tsx +3 -3
  100. package/src/components/msa/MSAMouseoverCanvas.tsx +1 -1
  101. package/src/components/msa/renderMSABlock.ts +1 -1
  102. package/src/components/msa/useMsaBlockMouse.ts +17 -8
  103. package/src/components/tracks/renderTracksSvg.ts +21 -7
  104. package/src/components/tree/TreeCanvas.tsx +2 -2
  105. package/src/components/tree/TreeCanvasBlock.tsx +1 -1
  106. package/src/components/tree/renderTreeCanvas.test.ts +1 -1
  107. package/src/components/tree/renderTreeCanvas.ts +1 -1
  108. package/src/components/tree/useTreeHover.ts +2 -2
  109. package/src/fetchUtils.test.ts +17 -0
  110. package/src/fetchUtils.ts +16 -1
  111. package/src/model.ts +25 -6
  112. package/src/renderToSvg.tsx +1 -1
  113. package/src/treeMetadata.test.ts +39 -0
  114. package/src/useCanvasAutorun.ts +3 -2
  115. package/src/version.ts +1 -1
@@ -0,0 +1,39 @@
1
+ import { expect, test, vi } from 'vitest'
2
+
3
+ import stateModelFactory from './model.ts'
4
+
5
+ const MsaView = stateModelFactory()
6
+
7
+ const msa = '>seq1\nACGT\n>seq2\nACCT\n'
8
+
9
+ test('treeMetadata is parsed and keyed by row name', () => {
10
+ const model = MsaView.create({ type: 'MsaView' })
11
+ model.setData({
12
+ msa,
13
+ treeMetadata: JSON.stringify({ seq1: { genome: 'Human' } }),
14
+ })
15
+ expect(model.treeMetadata.seq1?.genome).toBe('Human')
16
+ expect(model.treeMetadata.seq2).toBeUndefined()
17
+ expect(model.getRowData('seq1').treeMetadata).toEqual({ genome: 'Human' })
18
+ })
19
+
20
+ test('malformed treeMetadata degrades to empty rather than throwing', () => {
21
+ const model = MsaView.create({ type: 'MsaView' })
22
+ const spy = vi.spyOn(console, 'error').mockImplementation(() => {})
23
+ model.setData({ msa, treeMetadata: '{not json' })
24
+
25
+ // treeMetadata comes from a user-supplied file, and consumers of this
26
+ // computed run during layout/render (labelWidthMap measures every label), so
27
+ // a parse failure must not throw out of them
28
+ expect(model.treeMetadata).toEqual({})
29
+ expect(() => model.getRowData('seq1')).not.toThrow()
30
+ expect(spy).toHaveBeenCalled()
31
+ spy.mockRestore()
32
+ })
33
+
34
+ test('non-object treeMetadata degrades to empty', () => {
35
+ const model = MsaView.create({ type: 'MsaView' })
36
+ model.setData({ msa, treeMetadata: 'null' })
37
+ expect(model.treeMetadata).toEqual({})
38
+ expect(() => model.getRowData('seq1')).not.toThrow()
39
+ })
@@ -1,8 +1,9 @@
1
1
  import { useEffect, useRef } from 'react'
2
- import type React from 'react'
3
2
 
4
3
  import { autorun } from 'mobx'
5
4
 
5
+ import type React from 'react'
6
+
6
7
  // Wires a canvas ref to a mobx autorun: grabs the 2d context once the canvas
7
8
  // mounts and re-runs `draw` whenever any observable it reads changes. Collapses
8
9
  // the getContext/null-guard/autorun-dispose boilerplate repeated by every
@@ -22,7 +23,7 @@ export function useCanvasAutorun(
22
23
  draw(ctx)
23
24
  })
24
25
  : undefined
25
- // eslint-disable-next-line @eslint-react/exhaustive-deps
26
+ // eslint-disable-next-line react-hooks/exhaustive-deps
26
27
  }, deps)
27
28
  return ref
28
29
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '5.6.3'
1
+ export const version = '5.7.1'