jbrowse-plugin-mafviewer 1.2.3 → 1.3.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 (147) hide show
  1. package/dist/BgzipTaffyAdapter/BgzipTaffyAdapter.d.ts +1 -1
  2. package/dist/BigMafAdapter/BigMafAdapter.d.ts +1 -1
  3. package/dist/BigMafAdapter/BigMafAdapter.js +50 -49
  4. package/dist/BigMafAdapter/BigMafAdapter.js.map +1 -1
  5. package/dist/LinearMafDisplay/components/Crosshairs.d.ts +10 -0
  6. package/dist/LinearMafDisplay/components/Crosshairs.js +18 -0
  7. package/dist/LinearMafDisplay/components/Crosshairs.js.map +1 -0
  8. package/dist/LinearMafDisplay/components/GetSequenceDialog/GetSequenceDialog.d.ts +11 -0
  9. package/dist/LinearMafDisplay/components/GetSequenceDialog/GetSequenceDialog.js +97 -0
  10. package/dist/LinearMafDisplay/components/GetSequenceDialog/GetSequenceDialog.js.map +1 -0
  11. package/dist/LinearMafDisplay/components/{ReactComponent.d.ts → LinearMafDisplayComponent.d.ts} +1 -1
  12. package/dist/LinearMafDisplay/components/LinearMafDisplayComponent.js +168 -0
  13. package/dist/LinearMafDisplay/components/LinearMafDisplayComponent.js.map +1 -0
  14. package/dist/LinearMafDisplay/components/MAFTooltip.d.ts +12 -0
  15. package/dist/LinearMafDisplay/components/MAFTooltip.js +29 -0
  16. package/dist/LinearMafDisplay/components/MAFTooltip.js.map +1 -0
  17. package/dist/LinearMafDisplay/components/SetRowHeightDialog/SetRowHeightDialog.js +38 -0
  18. package/dist/LinearMafDisplay/components/SetRowHeightDialog/SetRowHeightDialog.js.map +1 -0
  19. package/dist/LinearMafDisplay/components/Sidebar/ColorLegend.d.ts +6 -0
  20. package/dist/LinearMafDisplay/components/{ColorLegend.js → Sidebar/ColorLegend.js} +2 -3
  21. package/dist/LinearMafDisplay/components/Sidebar/ColorLegend.js.map +1 -0
  22. package/dist/LinearMafDisplay/components/Sidebar/RectBg.js.map +1 -0
  23. package/dist/LinearMafDisplay/components/{SvgWrapper.d.ts → Sidebar/SvgWrapper.d.ts} +1 -1
  24. package/dist/LinearMafDisplay/components/{SvgWrapper.js → Sidebar/SvgWrapper.js} +3 -1
  25. package/dist/LinearMafDisplay/components/Sidebar/SvgWrapper.js.map +1 -0
  26. package/dist/LinearMafDisplay/components/{Tree.d.ts → Sidebar/Tree.d.ts} +2 -1
  27. package/dist/LinearMafDisplay/components/{Tree.js → Sidebar/Tree.js} +2 -0
  28. package/dist/LinearMafDisplay/components/Sidebar/Tree.js.map +1 -0
  29. package/dist/LinearMafDisplay/components/{YScaleBars.d.ts → Sidebar/YScaleBars.d.ts} +1 -1
  30. package/dist/LinearMafDisplay/components/Sidebar/YScaleBars.js +11 -0
  31. package/dist/LinearMafDisplay/components/Sidebar/YScaleBars.js.map +1 -0
  32. package/dist/LinearMafDisplay/index.js +1 -1
  33. package/dist/LinearMafDisplay/index.js.map +1 -1
  34. package/dist/LinearMafDisplay/renderSvg.js +1 -1
  35. package/dist/LinearMafDisplay/renderSvg.js.map +1 -1
  36. package/dist/LinearMafDisplay/stateModel.d.ts +23 -20
  37. package/dist/LinearMafDisplay/stateModel.js +62 -8
  38. package/dist/LinearMafDisplay/stateModel.js.map +1 -1
  39. package/dist/LinearMafDisplay/types.d.ts +5 -3
  40. package/dist/LinearMafDisplay/types.js +1 -15
  41. package/dist/LinearMafDisplay/types.js.map +1 -1
  42. package/dist/LinearMafDisplay/util.d.ts +4 -0
  43. package/dist/LinearMafDisplay/util.js +16 -0
  44. package/dist/LinearMafDisplay/util.js.map +1 -0
  45. package/dist/LinearMafRenderer/LinearMafRenderer.d.ts +5 -4
  46. package/dist/LinearMafRenderer/LinearMafRenderer.js +8 -10
  47. package/dist/LinearMafRenderer/LinearMafRenderer.js.map +1 -1
  48. package/dist/LinearMafRenderer/makeImageData.d.ts +1 -0
  49. package/dist/LinearMafRenderer/makeImageData.js +25 -20
  50. package/dist/LinearMafRenderer/makeImageData.js.map +1 -1
  51. package/dist/MafAddTrackWorkflow/index.js +0 -1
  52. package/dist/MafAddTrackWorkflow/index.js.map +1 -1
  53. package/dist/{MafRPC/index.d.ts → MafGetSamples/MafGetSamples.d.ts} +1 -3
  54. package/dist/{MafRPC/index.js → MafGetSamples/MafGetSamples.js} +2 -7
  55. package/dist/MafGetSamples/MafGetSamples.js.map +1 -0
  56. package/dist/MafGetSamples/index.d.ts +2 -0
  57. package/dist/MafGetSamples/index.js +7 -0
  58. package/dist/MafGetSamples/index.js.map +1 -0
  59. package/dist/MafGetSequences/MafGetSequences.d.ts +16 -0
  60. package/dist/MafGetSequences/MafGetSequences.js +20 -0
  61. package/dist/MafGetSequences/MafGetSequences.js.map +1 -0
  62. package/dist/MafGetSequences/index.d.ts +2 -0
  63. package/dist/MafGetSequences/index.js +7 -0
  64. package/dist/MafGetSequences/index.js.map +1 -0
  65. package/dist/MafTabixAdapter/MafTabixAdapter.d.ts +1 -1
  66. package/dist/MafTabixAdapter/MafTabixAdapter.js +9 -11
  67. package/dist/MafTabixAdapter/MafTabixAdapter.js.map +1 -1
  68. package/dist/MafTabixAdapter/configSchema.js +29 -1
  69. package/dist/MafTabixAdapter/configSchema.js.map +1 -1
  70. package/dist/index.js +4 -2
  71. package/dist/index.js.map +1 -1
  72. package/dist/jbrowse-plugin-mafviewer.umd.production.min.js +9 -20
  73. package/dist/jbrowse-plugin-mafviewer.umd.production.min.js.map +4 -4
  74. package/dist/util/extractSubsequence.d.ts +12 -0
  75. package/dist/util/extractSubsequence.js +60 -0
  76. package/dist/util/extractSubsequence.js.map +1 -0
  77. package/dist/util/extractSubsequence.test.d.ts +1 -0
  78. package/dist/util/extractSubsequence.test.js +42 -0
  79. package/dist/util/extractSubsequence.test.js.map +1 -0
  80. package/dist/util/fastaUtils.d.ts +16 -0
  81. package/dist/util/fastaUtils.js +84 -0
  82. package/dist/util/fastaUtils.js.map +1 -0
  83. package/dist/util/fastaUtils.test.d.ts +1 -0
  84. package/dist/util/fastaUtils.test.js +95 -0
  85. package/dist/util/fastaUtils.test.js.map +1 -0
  86. package/dist/util/fetchSequences.d.ts +18 -0
  87. package/dist/util/fetchSequences.js +39 -0
  88. package/dist/util/fetchSequences.js.map +1 -0
  89. package/dist/util/useSequences.d.ts +21 -0
  90. package/dist/util/useSequences.js +64 -0
  91. package/dist/util/useSequences.js.map +1 -0
  92. package/dist/util.d.ts +2 -2
  93. package/dist/util.js +5 -1
  94. package/dist/util.js.map +1 -1
  95. package/package.json +13 -13
  96. package/src/BigMafAdapter/BigMafAdapter.ts +52 -49
  97. package/src/LinearMafDisplay/components/Crosshairs.tsx +50 -0
  98. package/src/LinearMafDisplay/components/GetSequenceDialog/GetSequenceDialog.tsx +175 -0
  99. package/src/LinearMafDisplay/components/LinearMafDisplayComponent.tsx +257 -0
  100. package/src/LinearMafDisplay/components/MAFTooltip.tsx +59 -0
  101. package/src/LinearMafDisplay/components/SetRowHeightDialog/SetRowHeightDialog.tsx +83 -0
  102. package/src/LinearMafDisplay/components/{ColorLegend.tsx → Sidebar/ColorLegend.tsx} +11 -7
  103. package/src/LinearMafDisplay/components/{SvgWrapper.tsx → Sidebar/SvgWrapper.tsx} +5 -3
  104. package/src/LinearMafDisplay/components/{Tree.tsx → Sidebar/Tree.tsx} +5 -1
  105. package/src/LinearMafDisplay/components/Sidebar/YScaleBars.tsx +23 -0
  106. package/src/LinearMafDisplay/index.ts +1 -1
  107. package/src/LinearMafDisplay/renderSvg.tsx +1 -1
  108. package/src/LinearMafDisplay/stateModel.ts +71 -18
  109. package/src/LinearMafDisplay/types.ts +4 -24
  110. package/src/LinearMafDisplay/util.ts +27 -0
  111. package/src/LinearMafRenderer/LinearMafRenderer.ts +10 -14
  112. package/src/LinearMafRenderer/makeImageData.ts +33 -22
  113. package/src/MafAddTrackWorkflow/index.ts +0 -1
  114. package/src/{MafRPC/index.ts → MafGetSamples/MafGetSamples.ts} +1 -8
  115. package/src/MafGetSamples/index.ts +9 -0
  116. package/src/MafGetSequences/MafGetSequences.ts +47 -0
  117. package/src/MafGetSequences/index.ts +9 -0
  118. package/src/MafTabixAdapter/MafTabixAdapter.ts +13 -12
  119. package/src/MafTabixAdapter/configSchema.ts +29 -1
  120. package/src/index.ts +4 -2
  121. package/src/util/__snapshots__/fastaUtils.test.ts.snap +22 -0
  122. package/src/util/extractSubsequence.test.ts +54 -0
  123. package/src/util/extractSubsequence.ts +74 -0
  124. package/src/util/fastaUtils.test.ts +99 -0
  125. package/src/util/fastaUtils.ts +102 -0
  126. package/src/util/fetchSequences.ts +57 -0
  127. package/src/util/useSequences.ts +90 -0
  128. package/src/util.ts +6 -2
  129. package/dist/LinearMafDisplay/components/ColorLegend.d.ts +0 -8
  130. package/dist/LinearMafDisplay/components/ColorLegend.js.map +0 -1
  131. package/dist/LinearMafDisplay/components/ReactComponent.js +0 -50
  132. package/dist/LinearMafDisplay/components/ReactComponent.js.map +0 -1
  133. package/dist/LinearMafDisplay/components/RectBg.js.map +0 -1
  134. package/dist/LinearMafDisplay/components/SetRowHeight.js +0 -36
  135. package/dist/LinearMafDisplay/components/SetRowHeight.js.map +0 -1
  136. package/dist/LinearMafDisplay/components/SvgWrapper.js.map +0 -1
  137. package/dist/LinearMafDisplay/components/Tree.js.map +0 -1
  138. package/dist/LinearMafDisplay/components/YScaleBars.js +0 -20
  139. package/dist/LinearMafDisplay/components/YScaleBars.js.map +0 -1
  140. package/dist/MafRPC/index.js.map +0 -1
  141. package/src/LinearMafDisplay/components/ReactComponent.tsx +0 -91
  142. package/src/LinearMafDisplay/components/SetRowHeight.tsx +0 -83
  143. package/src/LinearMafDisplay/components/YScaleBars.tsx +0 -41
  144. /package/dist/LinearMafDisplay/components/{SetRowHeight.d.ts → SetRowHeightDialog/SetRowHeightDialog.d.ts} +0 -0
  145. /package/dist/LinearMafDisplay/components/{RectBg.d.ts → Sidebar/RectBg.d.ts} +0 -0
  146. /package/dist/LinearMafDisplay/components/{RectBg.js → Sidebar/RectBg.js} +0 -0
  147. /package/src/LinearMafDisplay/components/{RectBg.tsx → Sidebar/RectBg.tsx} +0 -0
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { LinearMafDisplayModel } from '../stateModel';
2
+ import type { LinearMafDisplayModel } from '../../stateModel';
3
3
  declare const SvgWrapper: ({ children, model, exportSVG, }: {
4
4
  model: LinearMafDisplayModel;
5
5
  children: React.ReactNode;
@@ -7,13 +7,15 @@ const SvgWrapper = observer(function ({ children, model, exportSVG, }) {
7
7
  }
8
8
  else {
9
9
  const { totalHeight } = model;
10
+ const { width } = getContainingView(model);
10
11
  return (React.createElement("svg", { style: {
11
12
  position: 'absolute',
13
+ userSelect: 'none',
12
14
  top: 0,
13
15
  left: 0,
14
16
  pointerEvents: 'none',
15
17
  height: totalHeight,
16
- width: getContainingView(model).width,
18
+ width,
17
19
  } }, children));
18
20
  }
19
21
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SvgWrapper.js","sourceRoot":"","sources":["../../../../src/LinearMafDisplay/components/Sidebar/SvgWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EACpC,QAAQ,EACR,KAAK,EACL,SAAS,GAKV;IACC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,0CAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;QAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAA0B,CAAA;QACnE,OAAO,CACL,6BACE,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,UAAU,EAAE,MAAM;gBAClB,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,CAAC;gBACP,aAAa,EAAE,MAAM;gBACrB,MAAM,EAAE,WAAW;gBACnB,KAAK;aACN,IAEA,QAAQ,CACL,CACP,CAAA;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
+ import type { LinearMafDisplayModel } from '../../stateModel';
2
3
  declare const Tree: ({ model }: {
3
- model: any;
4
+ model: LinearMafDisplayModel;
4
5
  }) => React.JSX.Element;
5
6
  export default Tree;
@@ -11,7 +11,9 @@ const Tree = observer(function ({ model }) {
11
11
  const { source, target } = link;
12
12
  const sy = source.x;
13
13
  const ty = target.x;
14
+ // @ts-expect-error
14
15
  const tx = showBranchLen ? target.len : target.y;
16
+ // @ts-expect-error
15
17
  const sx = showBranchLen ? source.len : source.y;
16
18
  // 1d line intersection to check if line crosses block at all, this is
17
19
  // an optimization that allows us to skip drawing most tree links
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../../src/LinearMafDisplay/components/Sidebar/Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAoC;IACzE,MAAM;IACJ,2EAA2E;IAC3E,mBAAmB;IACnB,8DAA8D;IAC9D,SAAS,EAAE,UAAU,EAErB,SAAS,EACT,aAAa,GACd,GAAG,KAAK,CAAA;IAET,OAAO,CACL,0CACG,SAAS;QACR,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAChC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAE,CAAA;YACpB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAE,CAAA;YACpB,mBAAmB;YACnB,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YAChD,mBAAmB;YACnB,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YAEhD,sEAAsE;YACtE,iEAAiE;YACjE,oBAAoB;YACpB,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC7C,8BAAM,MAAM,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI;gBACvD,8BAAM,MAAM,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAI,CACxC,CAClB,CAAA;QACH,CAAC,CAAC;QACJ,CAAC,CAAC,IAAI,CACP,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,IAAI,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { LinearMafDisplayModel } from '../stateModel';
2
+ import type { LinearMafDisplayModel } from '../../stateModel';
3
3
  export declare const YScaleBars: (props: {
4
4
  model: LinearMafDisplayModel;
5
5
  orientation?: string;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import ColorLegend from './ColorLegend';
4
+ import SvgWrapper from './SvgWrapper';
5
+ export const YScaleBars = observer(function (props) {
6
+ const { model } = props;
7
+ return (React.createElement(SvgWrapper, { ...props },
8
+ React.createElement(ColorLegend, { model: model })));
9
+ });
10
+ export default YScaleBars;
11
+ //# sourceMappingURL=YScaleBars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YScaleBars.js","sourceRoot":"","sources":["../../../../src/LinearMafDisplay/components/Sidebar/YScaleBars.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,UAAU,MAAM,cAAc,CAAA;AAIrC,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,KAI5C;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,OAAO,CACL,oBAAC,UAAU,OAAK,KAAK;QACnB,oBAAC,WAAW,IAAC,KAAK,EAAE,KAAK,GAAI,CAClB,CACd,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { DisplayType } from '@jbrowse/core/pluggableElementTypes';
2
- import ReactComponent from './components/ReactComponent';
2
+ import ReactComponent from './components/LinearMafDisplayComponent';
3
3
  import configSchemaF from './configSchema';
4
4
  import stateModelFactory from './stateModel';
5
5
  export default function LinearMafDisplayF(pluginManager) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearMafDisplay/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEjE,OAAO,cAAc,MAAM,6BAA6B,CAAA;AACxD,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAC1C,OAAO,iBAAiB,MAAM,cAAc,CAAA;AAE5C,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,aAA4B;IACpE,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QACjE,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,kBAAkB;YACxB,YAAY;YACZ,UAAU;YACV,cAAc;YACd,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE,UAAU;YACrB,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearMafDisplay/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEjE,OAAO,cAAc,MAAM,wCAAwC,CAAA;AACnE,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAC1C,OAAO,iBAAiB,MAAM,cAAc,CAAA;AAE5C,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,aAA4B;IACpE,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QACjE,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,kBAAkB;YACxB,YAAY;YACZ,UAAU;YACV,cAAc;YACd,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE,UAAU;YACrB,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { getContainingView } from '@jbrowse/core/util';
3
- import YScaleBars from './components/YScaleBars';
3
+ import YScaleBars from './components/Sidebar/YScaleBars';
4
4
  export async function renderSvg(self, opts, superRenderSvg) {
5
5
  const { height, id } = self;
6
6
  const { offsetPx, width } = getContainingView(self);
@@ -1 +1 @@
1
- {"version":3,"file":"renderSvg.js","sourceRoot":"","sources":["../../src/LinearMafDisplay/renderSvg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,UAAU,MAAM,yBAAyB,CAAA;AAQhD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAA2B,EAC3B,IAA6B,EAC7B,cAA2E;IAE3E,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAA0B,CAAA;IAC5E,MAAM,MAAM,GAAG,WAAW,EAAE,EAAE,CAAA;IAC9B,OAAO,CACL;QACE;YACE,kCAAU,EAAE,EAAE,MAAM;gBAClB,8BAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CACzC,CACN;QACP,2BAAG,QAAQ,EAAE,QAAQ,MAAM,GAAG;YAC5B,2BAAG,EAAE,EAAC,QAAQ,IAAE,MAAM,cAAc,CAAC,IAAI,CAAC,CAAK;YAC/C,2BAAG,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG;gBAClD,oBAAC,UAAU,IAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAC,MAAM,EAAC,SAAS,SAAG,CACtD,CACF,CACH,CACJ,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"renderSvg.js","sourceRoot":"","sources":["../../src/LinearMafDisplay/renderSvg.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,UAAU,MAAM,iCAAiC,CAAA;AAQxD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAA2B,EAC3B,IAA6B,EAC7B,cAA2E;IAE3E,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAA0B,CAAA;IAC5E,MAAM,MAAM,GAAG,WAAW,EAAE,EAAE,CAAA;IAC9B,OAAO,CACL;QACE;YACE,kCAAU,EAAE,EAAE,MAAM;gBAClB,8BAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CACzC,CACN;QACP,2BAAG,QAAQ,EAAE,QAAQ,MAAM,GAAG;YAC5B,2BAAG,EAAE,EAAC,QAAQ,IAAE,MAAM,cAAc,CAAC,IAAI,CAAC,CAAK;YAC/C,2BAAG,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG;gBAClD,oBAAC,UAAU,IAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAC,MAAM,EAAC,SAAS,SAAG,CACtD,CACF,CACH,CACJ,CAAA;AACH,CAAC"}
@@ -1,14 +1,9 @@
1
- import type { NodeWithIdsAndLength } from './types';
1
+ import type { NodeWithIdsAndLength, Sample } from './types';
2
2
  import type PluginManager from '@jbrowse/core/PluginManager';
3
3
  import type { AnyConfigurationModel, AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
4
4
  import type { ExportSvgDisplayOptions } from '@jbrowse/plugin-linear-genome-view';
5
5
  import type { HierarchyNode } from 'd3-hierarchy';
6
6
  import type { Instance } from 'mobx-state-tree';
7
- interface Sample {
8
- id: string;
9
- label: string;
10
- color?: string;
11
- }
12
7
  /**
13
8
  * #stateModel LinearMafDisplay
14
9
  * extends LinearBasicDisplay
@@ -98,6 +93,7 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
98
93
  mismatchRendering: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
99
94
  showBranchLen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
100
95
  treeAreaWidth: import("mobx-state-tree").IType<number | undefined, number, number>;
96
+ showAsUpperCase: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
101
97
  }, {
102
98
  rendererTypeName: string;
103
99
  error: unknown;
@@ -112,15 +108,9 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
112
108
  rendererTypeName: string;
113
109
  error: unknown;
114
110
  message: string | undefined;
115
- } & import(
116
- /**
117
- * #getter
118
- */
119
- "mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
111
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
120
112
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
121
- type: import("mobx-state-tree" /**
122
- * #getter
123
- */).ISimpleType<string>;
113
+ type: import("mobx-state-tree").ISimpleType<string>;
124
114
  rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
125
115
  }, {
126
116
  rendererTypeName: string;
@@ -207,6 +197,7 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
207
197
  readonly renderDelay: number;
208
198
  readonly TooltipComponent: import("@jbrowse/core/util").AnyReactComponentType;
209
199
  readonly selectedFeatureId: string | undefined;
200
+ copyInfoToClipboard(feature: import("@jbrowse/core/util").Feature): void;
210
201
  } & {
211
202
  readonly features: import("@jbrowse/core/util/compositeMap").default<string, import("@jbrowse/core/util").Feature>;
212
203
  readonly featureUnderMouse: import("@jbrowse/core/util").Feature | undefined;
@@ -267,6 +258,10 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
267
258
  samples: Sample[];
268
259
  tree: unknown;
269
260
  }): void;
261
+ /**
262
+ * #action
263
+ */
264
+ setShowAsUpperCase(arg: boolean): void;
270
265
  } & {
271
266
  /**
272
267
  * #getter
@@ -290,11 +285,7 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
290
285
  /**
291
286
  * #getter
292
287
  */
293
- readonly samples: {
294
- id: string;
295
- label: string;
296
- color?: string;
297
- }[] | undefined;
288
+ readonly samples: Sample[] | undefined;
298
289
  /**
299
290
  * #getter
300
291
  */
@@ -335,6 +326,19 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
335
326
  onClick: () => void;
336
327
  subMenu?: undefined;
337
328
  })[];
329
+ } & {
330
+ /**
331
+ * #getter
332
+ */
333
+ readonly svgFontSize: number;
334
+ /**
335
+ * #getter
336
+ */
337
+ readonly canDisplayLabel: boolean;
338
+ /**
339
+ * #getter
340
+ */
341
+ readonly labelWidth: number;
338
342
  } & {
339
343
  afterCreate(): void;
340
344
  } & {
@@ -431,4 +435,3 @@ export default function stateModelFactory(configSchema: AnyConfigurationSchemaTy
431
435
  } & import("mobx-state-tree")._NotCustomized>;
432
436
  export type LinearMafDisplayStateModel = ReturnType<typeof stateModelFactory>;
433
437
  export type LinearMafDisplayModel = Instance<LinearMafDisplayStateModel>;
434
- export {};
@@ -1,14 +1,15 @@
1
+ import { lazy } from 'react';
1
2
  import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
2
- import { getEnv, getSession } from '@jbrowse/core/util';
3
+ import { getEnv, getSession, max, measureText } from '@jbrowse/core/util';
3
4
  import { getRpcSessionId } from '@jbrowse/core/util/tracks';
4
5
  import { ascending } from 'd3-array';
5
6
  import { cluster, hierarchy } from 'd3-hierarchy';
6
7
  import deepEqual from 'fast-deep-equal';
7
8
  import { autorun } from 'mobx';
8
9
  import { addDisposer, isAlive, types } from 'mobx-state-tree';
9
- import SetRowHeightDialog from './components/SetRowHeight';
10
- import { maxLength, setBrLength } from './types';
10
+ import { maxLength, setBrLength } from './util';
11
11
  import { normalize } from '../util';
12
+ const SetRowHeightDialog = lazy(() => import('./components/SetRowHeightDialog/SetRowHeightDialog'));
12
13
  /**
13
14
  * #stateModel LinearMafDisplay
14
15
  * extends LinearBasicDisplay
@@ -50,6 +51,10 @@ export default function stateModelFactory(configSchema, pluginManager) {
50
51
  * #property
51
52
  */
52
53
  treeAreaWidth: 80,
54
+ /**
55
+ * #property
56
+ */
57
+ showAsUpperCase: true,
53
58
  }))
54
59
  .volatile(() => ({
55
60
  /**
@@ -101,6 +106,12 @@ export default function stateModelFactory(configSchema, pluginManager) {
101
106
  self.volatileTree = tree;
102
107
  }
103
108
  },
109
+ /**
110
+ * #action
111
+ */
112
+ setShowAsUpperCase(arg) {
113
+ self.showAsUpperCase = arg;
114
+ },
104
115
  }))
105
116
  .views(self => ({
106
117
  /**
@@ -158,7 +169,19 @@ export default function stateModelFactory(configSchema, pluginManager) {
158
169
  * #getter
159
170
  */
160
171
  get samples() {
161
- return this.rowNames ? normalize(this.rowNames) : self.volatileSamples;
172
+ if (this.rowNames) {
173
+ const volatileSamplesMap = self.volatileSamples
174
+ ? Object.fromEntries(self.volatileSamples.map(e => [e.id, e]))
175
+ : undefined;
176
+ return normalize(this.rowNames).map(r => ({
177
+ ...r,
178
+ label: volatileSamplesMap?.[r.id]?.label || r.label,
179
+ color: volatileSamplesMap?.[r.id]?.color || r.color,
180
+ }));
181
+ }
182
+ else {
183
+ return self.volatileSamples;
184
+ }
162
185
  },
163
186
  /**
164
187
  * #getter
@@ -196,7 +219,7 @@ export default function stateModelFactory(configSchema, pluginManager) {
196
219
  * #method
197
220
  */
198
221
  renderProps() {
199
- const { showAllLetters, rendererConfig, samples, rowHeight, rowProportion, mismatchRendering, } = self;
222
+ const { showAllLetters, rendererConfig, samples, rowHeight, rowProportion, mismatchRendering, showAsUpperCase, } = self;
200
223
  const s = superRenderProps();
201
224
  return {
202
225
  ...s,
@@ -207,6 +230,7 @@ export default function stateModelFactory(configSchema, pluginManager) {
207
230
  rowProportion,
208
231
  showAllLetters,
209
232
  mismatchRendering,
233
+ showAsUpperCase,
210
234
  };
211
235
  },
212
236
  /**
@@ -247,6 +271,14 @@ export default function stateModelFactory(configSchema, pluginManager) {
247
271
  },
248
272
  ],
249
273
  },
274
+ {
275
+ label: 'Use upper-case',
276
+ type: 'checkbox',
277
+ checked: self.showAsUpperCase,
278
+ onClick: () => {
279
+ self.setShowAsUpperCase(!self.showAsUpperCase);
280
+ },
281
+ },
250
282
  {
251
283
  label: 'Show all letters',
252
284
  type: 'checkbox',
@@ -267,13 +299,36 @@ export default function stateModelFactory(configSchema, pluginManager) {
267
299
  },
268
300
  };
269
301
  })
302
+ .views(self => ({
303
+ /**
304
+ * #getter
305
+ */
306
+ get svgFontSize() {
307
+ return Math.min(Math.max(self.rowHeight, 8), 14);
308
+ },
309
+ /**
310
+ * #getter
311
+ */
312
+ get canDisplayLabel() {
313
+ return self.rowHeight >= 7;
314
+ },
315
+ /**
316
+ * #getter
317
+ */
318
+ get labelWidth() {
319
+ const minWidth = 20;
320
+ return max(self.samples
321
+ ?.map(s => measureText(s.label, this.svgFontSize))
322
+ .map(width => (this.canDisplayLabel ? width : minWidth)) || [], 0);
323
+ },
324
+ }))
270
325
  .actions(self => ({
271
326
  afterCreate() {
272
327
  addDisposer(self, autorun(async () => {
273
328
  try {
274
329
  const { rpcManager } = getSession(self);
275
330
  const sessionId = getRpcSessionId(self);
276
- const results = (await rpcManager.call(sessionId, 'MafGetSamples', {
331
+ self.setSamples((await rpcManager.call(sessionId, 'MafGetSamples', {
277
332
  sessionId,
278
333
  adapterConfig: self.adapterConfig,
279
334
  statusCallback: (message) => {
@@ -281,8 +336,7 @@ export default function stateModelFactory(configSchema, pluginManager) {
281
336
  self.setMessage(message);
282
337
  }
283
338
  },
284
- }));
285
- self.setSamples(results);
339
+ })));
286
340
  }
287
341
  catch (e) {
288
342
  console.error(e);
@@ -1 +1 @@
1
- {"version":3,"file":"stateModel.js","sourceRoot":"","sources":["../../src/LinearMafDisplay/stateModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateModel.js","sourceRoot":"","sources":["../../src/LinearMafDisplay/stateModel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { HierarchyNode } from 'd3-hierarchy';
2
1
  export interface NodeWithIds {
3
2
  id: string;
4
3
  name: string;
@@ -13,5 +12,8 @@ export interface NodeWithIdsAndLength {
13
12
  noTree?: boolean;
14
13
  length: number;
15
14
  }
16
- export declare function maxLength(d: HierarchyNode<NodeWithIds>): number;
17
- export declare function setBrLength(d: HierarchyNode<NodeWithIds>, y0: number, k: number): void;
15
+ export interface Sample {
16
+ id: string;
17
+ label?: string;
18
+ color?: string;
19
+ }
@@ -1,16 +1,2 @@
1
- import { max } from 'd3-array';
2
- // basically same as maxLength from https://observablehq.com/@d3/tree-of-life
3
- export function maxLength(d) {
4
- return ((d.data.length || 0) + (d.children ? max(d.children, maxLength) || 0 : 0));
5
- }
6
- // basically same as setRadius from https://observablehq.com/@d3/tree-of-life
7
- export function setBrLength(d, y0, k) {
8
- // @ts-expect-error
9
- d.len = (y0 += Math.max(d.data.length || 0, 0)) * k;
10
- if (d.children) {
11
- d.children.forEach(d => {
12
- setBrLength(d, y0, k);
13
- });
14
- }
15
- }
1
+ export {};
16
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/LinearMafDisplay/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAoB9B,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,CAA6B;IACrD,OAAO,CACL,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAA;AACH,CAAC;AACD,6EAA6E;AAC7E,MAAM,UAAU,WAAW,CACzB,CAA6B,EAC7B,EAAU,EACV,CAAS;IAET,mBAAmB;IACnB,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEnD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/LinearMafDisplay/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { NodeWithIds } from './types';
2
+ import type { HierarchyNode } from 'd3-hierarchy';
3
+ export declare function maxLength(d: HierarchyNode<NodeWithIds>): number;
4
+ export declare function setBrLength(d: HierarchyNode<NodeWithIds>, y0: number, k: number): void;
@@ -0,0 +1,16 @@
1
+ import { max } from 'd3-array';
2
+ // basically same as maxLength from https://observablehq.com/@d3/tree-of-life
3
+ export function maxLength(d) {
4
+ return ((d.data.length || 0) + (d.children ? max(d.children, maxLength) || 0 : 0));
5
+ }
6
+ // basically same as setRadius from https://observablehq.com/@d3/tree-of-life
7
+ export function setBrLength(d, y0, k) {
8
+ // @ts-expect-error
9
+ d.len = (y0 += Math.max(d.data.length || 0, 0)) * k;
10
+ if (d.children) {
11
+ d.children.forEach(d => {
12
+ setBrLength(d, y0, k);
13
+ });
14
+ }
15
+ }
16
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/LinearMafDisplay/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAK9B,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,CAA6B;IACrD,OAAO,CACL,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAA;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,WAAW,CACzB,CAA6B,EAC7B,EAAU,EACV,CAAS;IAET,mBAAmB;IACnB,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEnD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -12,6 +12,7 @@ interface RenderArgs extends RenderArgsDeserialized {
12
12
  showAllLetters: boolean;
13
13
  mismatchRendering: boolean;
14
14
  statusCallback?: (arg: string) => void;
15
+ showAsUpperCase: boolean;
15
16
  }
16
17
  export default class LinearMafRenderer extends FeatureRendererType {
17
18
  getExpandedRegion(region: Region): {
@@ -26,7 +27,7 @@ export default class LinearMafRenderer extends FeatureRendererType {
26
27
  width: number;
27
28
  height: number;
28
29
  containsNoTransferables: boolean;
29
- canvasRecordedData: any;
30
+ canvasRecordedData: Record<string, unknown>;
30
31
  reactElement?: React.ReactElement;
31
32
  html?: string;
32
33
  } | {
@@ -34,15 +35,15 @@ export default class LinearMafRenderer extends FeatureRendererType {
34
35
  width: number;
35
36
  height: number;
36
37
  containsNoTransferables: boolean;
37
- reactElement: import("react/jsx-runtime").JSX.Element;
38
+ imageData: any;
39
+ reactElement?: React.ReactElement;
38
40
  html?: string;
39
41
  } | {
40
42
  features: Map<any, any>;
41
43
  width: number;
42
44
  height: number;
43
45
  containsNoTransferables: boolean;
44
- imageData: any;
45
- reactElement?: React.ReactElement;
46
+ reactElement: React.ReactElement;
46
47
  html?: string;
47
48
  }>;
48
49
  }
@@ -18,18 +18,16 @@ export default class LinearMafRenderer extends FeatureRendererType {
18
18
  const height = samples.length * rowHeight + 100;
19
19
  const width = (region.end - region.start) / bpPerPx;
20
20
  const features = await this.getFeatures(renderProps);
21
- const res = await renderToAbstractCanvas(width, height, renderProps, async (ctx) => {
22
- await updateStatus('Rendering alignment', statusCallback, () => {
23
- makeImageData({
24
- ctx,
25
- renderArgs: {
26
- ...renderProps,
27
- features,
28
- },
29
- });
21
+ const res = await updateStatus('Rendering alignment', statusCallback, () => renderToAbstractCanvas(width, height, renderProps, ctx => {
22
+ makeImageData({
23
+ ctx,
24
+ renderArgs: {
25
+ ...renderProps,
26
+ features,
27
+ },
30
28
  });
31
29
  return undefined;
32
- });
30
+ }));
33
31
  const results = await super.render({
34
32
  ...renderProps,
35
33
  ...res,
@@ -1 +1 @@
1
- {"version":3,"file":"LinearMafRenderer.js","sourceRoot":"","sources":["../../src/LinearMafRenderer/LinearMafRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAEzE,OAAO,EAEL,sBAAsB,EACtB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAe/C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,mBAAmB;IAChE,iBAAiB,CAAC,MAAc;QAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;QAC7B,MAAM,WAAW,GAAG,CAAC,CAAA;QAErB,OAAO;YACL,sEAAsE;YACtE,GAAI,MAAsC;YAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;YACnD,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC;SAClC,CAAA;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,WAAuB;QAClC,MAAM,EACJ,cAAc,GAAG,GAAG,EAAE,GAAE,CAAC,EACzB,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,GACV,GAAG,WAAW,CAAA;QACf,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,GAAG,CAAA;QAC/C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACpD,MAAM,GAAG,GAAG,MAAM,sBAAsB,CACtC,KAAK,EACL,MAAM,EACN,WAAW,EACX,KAAK,EAAC,GAAG,EAAC,EAAE;YACV,MAAM,YAAY,CAAC,qBAAqB,EAAE,cAAc,EAAE,GAAG,EAAE;gBAC7D,aAAa,CAAC;oBACZ,GAAG;oBACH,UAAU,EAAE;wBACV,GAAG,WAAW;wBACd,QAAQ;qBACT;iBACF,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,OAAO,SAAS,CAAA;QAClB,CAAC,CACF,CAAA;QACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YACjC,GAAG,WAAW;YACd,GAAG,GAAG;YACN,KAAK;YACL,MAAM;SACP,CAAC,CAAA;QACF,OAAO;YACL,GAAG,OAAO;YACV,GAAG,GAAG;YACN,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,KAAK;YACL,MAAM;YACN,uBAAuB,EAAE,IAAI;SAC9B,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"LinearMafRenderer.js","sourceRoot":"","sources":["../../src/LinearMafRenderer/LinearMafRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAEzE,OAAO,EAEL,sBAAsB,EACtB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAgB/C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,mBAAmB;IAChE,iBAAiB,CAAC,MAAc;QAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;QAC7B,MAAM,WAAW,GAAG,CAAC,CAAA;QAErB,OAAO;YACL,sEAAsE;YACtE,GAAI,MAAsC;YAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;YACnD,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC;SAClC,CAAA;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,WAAuB;QAClC,MAAM,EACJ,cAAc,GAAG,GAAG,EAAE,GAAE,CAAC,EACzB,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,GACV,GAAG,WAAW,CAAA;QACf,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,GAAG,CAAA;QAC/C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACpD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,qBAAqB,EAAE,cAAc,EAAE,GAAG,EAAE,CACzE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE;YACvD,aAAa,CAAC;gBACZ,GAAG;gBACH,UAAU,EAAE;oBACV,GAAG,WAAW;oBACd,QAAQ;iBACT;aACF,CAAC,CAAA;YACF,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CACH,CAAA;QACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YACjC,GAAG,WAAW;YACd,GAAG,GAAG;YACN,KAAK;YACL,MAAM;SACP,CAAC,CAAA;QACF,OAAO;YACL,GAAG,OAAO;YACV,GAAG,GAAG;YACN,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,KAAK;YACL,MAAM;YACN,uBAAuB,EAAE,IAAI;SAC9B,CAAA;IACH,CAAC;CACF"}
@@ -12,6 +12,7 @@ interface RenderArgs extends RenderArgsDeserialized {
12
12
  mismatchRendering: boolean;
13
13
  features: Map<string, Feature>;
14
14
  statusCallback?: (arg: string) => void;
15
+ showAsUpperCase: boolean;
15
16
  }
16
17
  export declare function makeImageData({ ctx, renderArgs, }: {
17
18
  ctx: CanvasRenderingContext2D;