@genome-spy/core 0.36.1 → 0.37.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 (523) hide show
  1. package/README.md +1 -0
  2. package/dist/{index.es.js → bundle/index.es.js} +2253 -2115
  3. package/dist/{index.js → bundle/index.js} +180 -44
  4. package/dist/src/data/collector.d.ts +36 -0
  5. package/dist/src/data/collector.d.ts.map +1 -0
  6. package/dist/src/data/collector.js +184 -0
  7. package/dist/src/data/collector.test.js +84 -0
  8. package/dist/src/data/dataFlow.d.ts +65 -0
  9. package/dist/src/data/dataFlow.d.ts.map +1 -0
  10. package/dist/src/data/dataFlow.js +142 -0
  11. package/dist/src/data/dataFlow.test.js +5 -0
  12. package/dist/src/data/facetNode.d.ts +17 -0
  13. package/dist/src/data/facetNode.d.ts.map +1 -0
  14. package/dist/src/data/facetNode.js +17 -0
  15. package/dist/src/data/flow.test.js +72 -0
  16. package/dist/src/data/flowNode.d.ts +136 -0
  17. package/dist/src/data/flowNode.d.ts.map +1 -0
  18. package/dist/src/data/flowNode.js +286 -0
  19. package/dist/src/data/flowNode.test.js +50 -0
  20. package/dist/src/data/flowOptimizer.d.ts +27 -0
  21. package/dist/src/data/flowOptimizer.d.ts.map +1 -0
  22. package/dist/src/data/flowOptimizer.js +133 -0
  23. package/dist/src/data/flowOptimizer.test.js +193 -0
  24. package/dist/src/data/flowTestUtils.d.ts +30 -0
  25. package/dist/src/data/flowTestUtils.d.ts.map +1 -0
  26. package/dist/src/data/flowTestUtils.js +63 -0
  27. package/dist/src/data/formats/fasta.d.ts +20 -0
  28. package/dist/src/data/formats/fasta.d.ts.map +1 -0
  29. package/dist/src/data/formats/fasta.js +32 -0
  30. package/dist/src/data/formats/fasta.test.js +27 -0
  31. package/dist/src/data/sources/dataSource.d.ts +12 -0
  32. package/dist/src/data/sources/dataSource.d.ts.map +1 -0
  33. package/dist/src/data/sources/dataSource.js +25 -0
  34. package/dist/src/data/sources/dataSourceFactory.d.ts +16 -0
  35. package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -0
  36. package/dist/src/data/sources/dataSourceFactory.js +127 -0
  37. package/dist/src/data/sources/dataUtils.d.ts +50 -0
  38. package/dist/src/data/sources/dataUtils.d.ts.map +1 -0
  39. package/dist/src/data/sources/dataUtils.js +83 -0
  40. package/dist/src/data/sources/dynamic/README.md +3 -0
  41. package/dist/src/data/sources/dynamic/axisGenomeSource.d.ts +13 -0
  42. package/dist/src/data/sources/dynamic/axisGenomeSource.d.ts.map +1 -0
  43. package/dist/src/data/sources/dynamic/axisGenomeSource.js +19 -0
  44. package/dist/src/data/sources/dynamic/axisTickSource.d.ts +18 -0
  45. package/dist/src/data/sources/dynamic/axisTickSource.d.ts.map +1 -0
  46. package/dist/src/data/sources/dynamic/axisTickSource.js +73 -0
  47. package/dist/src/data/sources/dynamic/bamSource.d.ts +46 -0
  48. package/dist/src/data/sources/dynamic/bamSource.d.ts.map +1 -0
  49. package/dist/src/data/sources/dynamic/bamSource.js +115 -0
  50. package/dist/src/data/sources/dynamic/bigBedSource.d.ts +51 -0
  51. package/dist/src/data/sources/dynamic/bigBedSource.d.ts.map +1 -0
  52. package/dist/src/data/sources/dynamic/bigBedSource.js +128 -0
  53. package/dist/src/data/sources/dynamic/bigWigSource.d.ts +58 -0
  54. package/dist/src/data/sources/dynamic/bigWigSource.d.ts.map +1 -0
  55. package/dist/src/data/sources/dynamic/bigWigSource.js +166 -0
  56. package/dist/src/data/sources/dynamic/gff3Source.d.ts +8 -0
  57. package/dist/src/data/sources/dynamic/gff3Source.d.ts.map +1 -0
  58. package/dist/src/data/sources/dynamic/gff3Source.js +19 -0
  59. package/dist/src/data/sources/dynamic/indexedFastaSource.d.ts +30 -0
  60. package/dist/src/data/sources/dynamic/indexedFastaSource.d.ts.map +1 -0
  61. package/dist/src/data/sources/dynamic/indexedFastaSource.js +86 -0
  62. package/dist/src/data/sources/dynamic/singleAxisLazySource.d.ts +42 -0
  63. package/dist/src/data/sources/dynamic/singleAxisLazySource.d.ts.map +1 -0
  64. package/dist/src/data/sources/dynamic/singleAxisLazySource.js +129 -0
  65. package/dist/src/data/sources/dynamic/tabixSource.d.ts +54 -0
  66. package/dist/src/data/sources/dynamic/tabixSource.d.ts.map +1 -0
  67. package/dist/src/data/sources/dynamic/tabixSource.js +140 -0
  68. package/dist/src/data/sources/dynamic/windowedMixin.d.ts +32 -0
  69. package/dist/src/data/sources/dynamic/windowedMixin.d.ts.map +1 -0
  70. package/dist/src/data/sources/dynamic/windowedMixin.js +53 -0
  71. package/dist/src/data/sources/inlineSource.d.ts +16 -0
  72. package/dist/src/data/sources/inlineSource.d.ts.map +1 -0
  73. package/dist/src/data/sources/inlineSource.js +68 -0
  74. package/dist/src/data/sources/inlineSource.test.js +56 -0
  75. package/dist/src/data/sources/namedSource.d.ts +25 -0
  76. package/dist/src/data/sources/namedSource.d.ts.map +1 -0
  77. package/dist/src/data/sources/namedSource.js +80 -0
  78. package/dist/src/data/sources/sequenceSource.d.ts +17 -0
  79. package/dist/src/data/sources/sequenceSource.d.ts.map +1 -0
  80. package/dist/src/data/sources/sequenceSource.js +47 -0
  81. package/dist/src/data/sources/sequenceSource.test.js +46 -0
  82. package/dist/src/data/sources/urlSource.d.ts +16 -0
  83. package/dist/src/data/sources/urlSource.d.ts.map +1 -0
  84. package/dist/src/data/sources/urlSource.js +74 -0
  85. package/dist/src/data/transforms/aggregate.d.ts +18 -0
  86. package/dist/src/data/transforms/aggregate.d.ts.map +1 -0
  87. package/dist/src/data/transforms/aggregate.js +67 -0
  88. package/dist/src/data/transforms/clone.d.ts +15 -0
  89. package/dist/src/data/transforms/clone.d.ts.map +1 -0
  90. package/dist/src/data/transforms/clone.js +40 -0
  91. package/dist/src/data/transforms/clone.test.js +11 -0
  92. package/dist/src/data/transforms/coverage.d.ts +30 -0
  93. package/dist/src/data/transforms/coverage.d.ts.map +1 -0
  94. package/dist/src/data/transforms/coverage.js +183 -0
  95. package/dist/src/data/transforms/coverage.test.js +123 -0
  96. package/dist/src/data/transforms/filter.d.ts +12 -0
  97. package/dist/src/data/transforms/filter.d.ts.map +1 -0
  98. package/dist/src/data/transforms/filter.js +33 -0
  99. package/dist/src/data/transforms/filter.test.js +18 -0
  100. package/dist/src/data/transforms/filterScoredLabels.d.ts +29 -0
  101. package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -0
  102. package/dist/src/data/transforms/filterScoredLabels.js +134 -0
  103. package/dist/src/data/transforms/flatten.d.ts +10 -0
  104. package/dist/src/data/transforms/flatten.d.ts.map +1 -0
  105. package/dist/src/data/transforms/flatten.js +68 -0
  106. package/dist/src/data/transforms/flatten.test.js +93 -0
  107. package/dist/src/data/transforms/flattenCompressedExons.d.ts +19 -0
  108. package/dist/src/data/transforms/flattenCompressedExons.d.ts.map +1 -0
  109. package/dist/src/data/transforms/flattenCompressedExons.js +53 -0
  110. package/dist/src/data/transforms/flattenDelimited.d.ts +10 -0
  111. package/dist/src/data/transforms/flattenDelimited.d.ts.map +1 -0
  112. package/dist/src/data/transforms/flattenDelimited.js +66 -0
  113. package/dist/src/data/transforms/flattenDelimited.test.js +87 -0
  114. package/dist/src/data/transforms/flattenSequence.d.ts +11 -0
  115. package/dist/src/data/transforms/flattenSequence.d.ts.map +1 -0
  116. package/dist/src/data/transforms/flattenSequence.js +35 -0
  117. package/dist/src/data/transforms/flattenSequence.test.js +34 -0
  118. package/dist/src/data/transforms/formula.d.ts +13 -0
  119. package/dist/src/data/transforms/formula.d.ts.map +1 -0
  120. package/dist/src/data/transforms/formula.js +35 -0
  121. package/dist/src/data/transforms/formula.test.js +19 -0
  122. package/dist/src/data/transforms/identifier.d.ts +40 -0
  123. package/dist/src/data/transforms/identifier.d.ts.map +1 -0
  124. package/dist/src/data/transforms/identifier.js +106 -0
  125. package/dist/src/data/transforms/identifier.test.js +83 -0
  126. package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts +10 -0
  127. package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts.map +1 -0
  128. package/dist/src/data/transforms/linearizeGenomicCoordinate.js +97 -0
  129. package/dist/src/data/transforms/measureText.d.ts +18 -0
  130. package/dist/src/data/transforms/measureText.d.ts.map +1 -0
  131. package/dist/src/data/transforms/measureText.js +42 -0
  132. package/dist/src/data/transforms/pileup.d.ts +10 -0
  133. package/dist/src/data/transforms/pileup.d.ts.map +1 -0
  134. package/dist/src/data/transforms/pileup.js +126 -0
  135. package/dist/src/data/transforms/pileup.test.js +70 -0
  136. package/dist/src/data/transforms/project.d.ts +13 -0
  137. package/dist/src/data/transforms/project.d.ts.map +1 -0
  138. package/dist/src/data/transforms/project.js +38 -0
  139. package/dist/src/data/transforms/project.test.js +32 -0
  140. package/dist/src/data/transforms/regexExtract.d.ts +13 -0
  141. package/dist/src/data/transforms/regexExtract.d.ts.map +1 -0
  142. package/dist/src/data/transforms/regexExtract.js +57 -0
  143. package/dist/src/data/transforms/regexExtract.test.js +67 -0
  144. package/dist/src/data/transforms/regexFold.d.ts +14 -0
  145. package/dist/src/data/transforms/regexFold.d.ts.map +1 -0
  146. package/dist/src/data/transforms/regexFold.js +139 -0
  147. package/dist/src/data/transforms/regexFold.test.js +160 -0
  148. package/dist/src/data/transforms/sample.d.ts +42 -0
  149. package/dist/src/data/transforms/sample.d.ts.map +1 -0
  150. package/dist/src/data/transforms/sample.js +99 -0
  151. package/dist/src/data/transforms/sample.test.js +38 -0
  152. package/dist/src/data/transforms/stack.d.ts +11 -0
  153. package/dist/src/data/transforms/stack.d.ts.map +1 -0
  154. package/dist/src/data/transforms/stack.js +134 -0
  155. package/dist/src/data/transforms/stack.test.js +91 -0
  156. package/dist/src/data/transforms/transformFactory.d.ts +12 -0
  157. package/dist/src/data/transforms/transformFactory.d.ts.map +1 -0
  158. package/dist/src/data/transforms/transformFactory.js +59 -0
  159. package/dist/src/encoder/accessor.d.ts +15 -0
  160. package/dist/src/encoder/accessor.d.ts.map +1 -0
  161. package/dist/src/encoder/accessor.js +76 -0
  162. package/dist/src/encoder/accessor.test.js +47 -0
  163. package/dist/src/encoder/encoder.d.ts +144 -0
  164. package/dist/src/encoder/encoder.d.ts.map +1 -0
  165. package/dist/src/encoder/encoder.js +400 -0
  166. package/dist/src/encoder/encoder.test.js +98 -0
  167. package/dist/src/fonts/Lato-Regular.json +1267 -0
  168. package/dist/src/fonts/Lato-Regular.png +0 -0
  169. package/dist/src/fonts/OFL.txt +93 -0
  170. package/dist/src/fonts/README.md +3 -0
  171. package/dist/src/fonts/bmFontManager.d.ts +182 -0
  172. package/dist/src/fonts/bmFontManager.d.ts.map +1 -0
  173. package/dist/src/fonts/bmFontManager.js +359 -0
  174. package/dist/src/fonts/bmFontMetrics.d.ts +45 -0
  175. package/dist/src/fonts/bmFontMetrics.d.ts.map +1 -0
  176. package/dist/src/fonts/bmFontMetrics.js +108 -0
  177. package/dist/src/genome/genome.d.ts +172 -0
  178. package/dist/src/genome/genome.d.ts.map +1 -0
  179. package/dist/src/genome/genome.js +379 -0
  180. package/dist/src/genome/genome.test.js +226 -0
  181. package/dist/src/genome/genomeStore.d.ts +20 -0
  182. package/dist/src/genome/genomeStore.d.ts.map +1 -0
  183. package/dist/src/genome/genomeStore.js +54 -0
  184. package/dist/src/genome/locusFormat.d.ts +14 -0
  185. package/dist/src/genome/locusFormat.d.ts.map +1 -0
  186. package/dist/src/genome/locusFormat.js +37 -0
  187. package/dist/src/genome/scaleIndex.d.ts +6 -0
  188. package/dist/src/genome/scaleIndex.d.ts.map +1 -0
  189. package/dist/src/genome/scaleIndex.js +165 -0
  190. package/dist/src/genome/scaleIndex.test.js +78 -0
  191. package/dist/src/genome/scaleLocus.d.ts +3 -0
  192. package/dist/src/genome/scaleLocus.d.ts.map +1 -0
  193. package/dist/src/genome/scaleLocus.js +101 -0
  194. package/dist/src/genome/scaleLocus.test.js +4 -0
  195. package/dist/src/genomeSpy.d.ts +141 -0
  196. package/dist/src/genomeSpy.d.ts.map +1 -0
  197. package/dist/src/genomeSpy.js +788 -0
  198. package/dist/src/gl/arrayBuilder.d.ts +71 -0
  199. package/dist/src/gl/arrayBuilder.d.ts.map +1 -0
  200. package/dist/src/gl/arrayBuilder.js +199 -0
  201. package/dist/src/gl/dataToVertices.d.ts +194 -0
  202. package/dist/src/gl/dataToVertices.d.ts.map +1 -0
  203. package/dist/src/gl/dataToVertices.js +639 -0
  204. package/dist/src/gl/includes/common.glsl.js +2 -0
  205. package/dist/src/gl/includes/picking.fragment.glsl.js +2 -0
  206. package/dist/src/gl/includes/picking.vertex.glsl.js +2 -0
  207. package/dist/src/gl/includes/sampleFacet.glsl.js +2 -0
  208. package/dist/src/gl/includes/scales.glsl.js +2 -0
  209. package/dist/src/gl/link.fragment.glsl.js +2 -0
  210. package/dist/src/gl/link.vertex.glsl.js +2 -0
  211. package/dist/src/gl/point.fragment.glsl.js +2 -0
  212. package/dist/src/gl/point.vertex.glsl.js +2 -0
  213. package/dist/src/gl/rect.fragment.glsl.js +2 -0
  214. package/dist/src/gl/rect.vertex.glsl.js +2 -0
  215. package/dist/src/gl/rule.fragment.glsl.js +2 -0
  216. package/dist/src/gl/rule.vertex.glsl.js +2 -0
  217. package/dist/src/gl/text.fragment.glsl.js +2 -0
  218. package/dist/src/gl/text.vertex.glsl.js +2 -0
  219. package/dist/src/gl/webGLHelper.d.ts +118 -0
  220. package/dist/src/gl/webGLHelper.d.ts.map +1 -0
  221. package/dist/src/gl/webGLHelper.js +513 -0
  222. package/dist/src/img/bowtie.svg +1 -0
  223. package/dist/src/img/genomespy-favicon.svg +34 -0
  224. package/dist/src/index.d.ts +15 -0
  225. package/dist/src/index.d.ts.map +1 -0
  226. package/dist/src/index.html +11 -0
  227. package/dist/src/index.js +129 -0
  228. package/dist/src/marks/link.d.ts +11 -0
  229. package/dist/src/marks/link.d.ts.map +1 -0
  230. package/dist/src/marks/link.js +175 -0
  231. package/dist/src/marks/mark.d.ts +226 -0
  232. package/dist/src/marks/mark.d.ts.map +1 -0
  233. package/dist/src/marks/mark.js +1004 -0
  234. package/dist/src/marks/markUtils.d.ts +23 -0
  235. package/dist/src/marks/markUtils.d.ts.map +1 -0
  236. package/dist/src/marks/markUtils.js +125 -0
  237. package/dist/src/marks/pointMark.d.ts +11 -0
  238. package/dist/src/marks/pointMark.d.ts.map +1 -0
  239. package/dist/src/marks/pointMark.js +251 -0
  240. package/dist/src/marks/rectMark.d.ts +18 -0
  241. package/dist/src/marks/rectMark.d.ts.map +1 -0
  242. package/dist/src/marks/rectMark.js +255 -0
  243. package/dist/src/marks/rule.d.ts +6 -0
  244. package/dist/src/marks/rule.d.ts.map +1 -0
  245. package/dist/src/marks/rule.js +250 -0
  246. package/dist/src/marks/text.d.ts +13 -0
  247. package/dist/src/marks/text.d.ts.map +1 -0
  248. package/dist/src/marks/text.js +279 -0
  249. package/dist/src/scale/colorUtils.d.ts +34 -0
  250. package/dist/src/scale/colorUtils.d.ts.map +1 -0
  251. package/dist/src/scale/colorUtils.js +184 -0
  252. package/dist/src/scale/glslScaleGenerator.d.ts +45 -0
  253. package/dist/src/scale/glslScaleGenerator.d.ts.map +1 -0
  254. package/dist/src/scale/glslScaleGenerator.js +506 -0
  255. package/dist/src/scale/scale.d.ts +10 -0
  256. package/dist/src/scale/scale.d.ts.map +1 -0
  257. package/dist/src/scale/scale.js +456 -0
  258. package/dist/src/scale/scale.test.js +324 -0
  259. package/dist/src/scale/ticks.d.ts +47 -0
  260. package/dist/src/scale/ticks.d.ts.map +1 -0
  261. package/dist/src/scale/ticks.js +203 -0
  262. package/dist/src/scale/ticks.test.js +40 -0
  263. package/dist/src/singlePageApp.d.ts +2 -0
  264. package/dist/src/singlePageApp.d.ts.map +1 -0
  265. package/dist/src/singlePageApp.js +13 -0
  266. package/dist/src/spec/axis.d.ts +402 -0
  267. package/dist/src/spec/channel.d.ts +440 -0
  268. package/dist/src/spec/data.d.ts +370 -0
  269. package/dist/src/spec/font.d.ts +15 -0
  270. package/dist/src/spec/genome.d.ts +35 -0
  271. package/dist/src/spec/mark.d.ts +435 -0
  272. package/dist/src/spec/root.d.ts +22 -0
  273. package/dist/src/spec/sampleView.d.ts +185 -0
  274. package/dist/src/spec/scale.d.ts +273 -0
  275. package/dist/src/spec/title.d.ts +102 -0
  276. package/dist/src/spec/tooltip.d.ts +9 -0
  277. package/dist/src/spec/transform.d.ts +504 -0
  278. package/dist/src/spec/view.d.ts +214 -0
  279. package/dist/src/styles/genome-spy.css.d.ts +3 -0
  280. package/dist/src/styles/genome-spy.css.d.ts.map +1 -0
  281. package/dist/src/styles/genome-spy.css.js +114 -0
  282. package/dist/src/styles/genome-spy.scss +153 -0
  283. package/dist/src/tooltip/dataTooltipHandler.d.ts +2 -0
  284. package/dist/src/tooltip/dataTooltipHandler.d.ts.map +1 -0
  285. package/dist/src/tooltip/dataTooltipHandler.js +64 -0
  286. package/dist/src/tooltip/refseqGeneTooltipHandler.d.ts +2 -0
  287. package/dist/src/tooltip/refseqGeneTooltipHandler.d.ts.map +1 -0
  288. package/dist/src/tooltip/refseqGeneTooltipHandler.js +78 -0
  289. package/dist/src/tooltip/tooltipHandler.d.ts +9 -0
  290. package/dist/src/tooltip/tooltipHandler.d.ts.map +1 -0
  291. package/dist/src/tooltip/tooltipHandler.ts +12 -0
  292. package/dist/src/types/bmFont.d.ts +58 -0
  293. package/dist/src/types/embedApi.d.ts +67 -0
  294. package/dist/src/types/encoder.d.ts +84 -0
  295. package/dist/src/types/flowBatch.d.ts +40 -0
  296. package/dist/src/types/rendering.d.ts +65 -0
  297. package/dist/src/types/scaleResolutionApi.d.ts +40 -0
  298. package/dist/src/types/viewContext.d.ts +85 -0
  299. package/dist/src/utils/addBaseUrl.d.ts +6 -0
  300. package/dist/src/utils/addBaseUrl.d.ts.map +1 -0
  301. package/dist/src/utils/addBaseUrl.js +19 -0
  302. package/dist/src/utils/addBaseUrl.test.js +22 -0
  303. package/dist/src/utils/animator.d.ts +41 -0
  304. package/dist/src/utils/animator.d.ts.map +1 -0
  305. package/dist/src/utils/animator.js +83 -0
  306. package/dist/src/utils/arrayUtils.d.ts +34 -0
  307. package/dist/src/utils/arrayUtils.d.ts.map +1 -0
  308. package/dist/src/utils/arrayUtils.js +61 -0
  309. package/dist/src/utils/binnedIndex.d.ts +23 -0
  310. package/dist/src/utils/binnedIndex.d.ts.map +1 -0
  311. package/dist/src/utils/binnedIndex.js +167 -0
  312. package/dist/src/utils/binnedIndex.test.js +155 -0
  313. package/dist/src/utils/clamp.d.ts +7 -0
  314. package/dist/src/utils/clamp.d.ts.map +1 -0
  315. package/dist/src/utils/clamp.js +8 -0
  316. package/dist/src/utils/cloner.d.ts +16 -0
  317. package/dist/src/utils/cloner.d.ts.map +1 -0
  318. package/dist/src/utils/cloner.js +34 -0
  319. package/dist/src/utils/cloner.test.js +24 -0
  320. package/dist/src/utils/coalesce.d.ts +6 -0
  321. package/dist/src/utils/coalesce.d.ts.map +1 -0
  322. package/dist/src/utils/coalesce.js +11 -0
  323. package/dist/src/utils/coalesce.test.js +16 -0
  324. package/dist/src/utils/concatIterables.d.ts +8 -0
  325. package/dist/src/utils/concatIterables.d.ts.map +1 -0
  326. package/dist/src/utils/concatIterables.js +26 -0
  327. package/dist/src/utils/concatIterables.test.js +8 -0
  328. package/dist/src/utils/debounce.d.ts +8 -0
  329. package/dist/src/utils/debounce.d.ts.map +1 -0
  330. package/dist/src/utils/debounce.js +37 -0
  331. package/dist/src/utils/domainArray.d.ts +61 -0
  332. package/dist/src/utils/domainArray.d.ts.map +1 -0
  333. package/dist/src/utils/domainArray.js +216 -0
  334. package/dist/src/utils/domainArray.test.js +130 -0
  335. package/dist/src/utils/eerp.d.ts +12 -0
  336. package/dist/src/utils/eerp.d.ts.map +1 -0
  337. package/dist/src/utils/eerp.js +13 -0
  338. package/dist/src/utils/expression.d.ts +9 -0
  339. package/dist/src/utils/expression.d.ts.map +1 -0
  340. package/dist/src/utils/expression.js +32 -0
  341. package/dist/src/utils/field.d.ts +17 -0
  342. package/dist/src/utils/field.d.ts.map +1 -0
  343. package/dist/src/utils/field.js +28 -0
  344. package/dist/src/utils/formatObject.d.ts +7 -0
  345. package/dist/src/utils/formatObject.d.ts.map +1 -0
  346. package/dist/src/utils/formatObject.js +37 -0
  347. package/dist/src/utils/indexer.d.ts +16 -0
  348. package/dist/src/utils/indexer.d.ts.map +1 -0
  349. package/dist/src/utils/indexer.js +43 -0
  350. package/dist/src/utils/indexer.test.js +47 -0
  351. package/dist/src/utils/inertia.d.ts +42 -0
  352. package/dist/src/utils/inertia.d.ts.map +1 -0
  353. package/dist/src/utils/inertia.js +124 -0
  354. package/dist/src/utils/interactionEvent.d.ts +26 -0
  355. package/dist/src/utils/interactionEvent.d.ts.map +1 -0
  356. package/dist/src/utils/interactionEvent.js +33 -0
  357. package/dist/src/utils/iterateNestedMaps.d.ts +11 -0
  358. package/dist/src/utils/iterateNestedMaps.d.ts.map +1 -0
  359. package/dist/src/utils/iterateNestedMaps.js +21 -0
  360. package/dist/src/utils/iterateNestedMaps.test.js +33 -0
  361. package/dist/src/utils/kWayMerge.d.ts +9 -0
  362. package/dist/src/utils/kWayMerge.d.ts.map +1 -0
  363. package/dist/src/utils/kWayMerge.js +42 -0
  364. package/dist/src/utils/kWayMerge.test.js +26 -0
  365. package/dist/src/utils/layout/flexLayout.d.ts +182 -0
  366. package/dist/src/utils/layout/flexLayout.d.ts.map +1 -0
  367. package/dist/src/utils/layout/flexLayout.js +381 -0
  368. package/dist/src/utils/layout/flexLayout.test.js +323 -0
  369. package/dist/src/utils/layout/grid.d.ts +29 -0
  370. package/dist/src/utils/layout/grid.d.ts.map +1 -0
  371. package/dist/src/utils/layout/grid.js +95 -0
  372. package/dist/src/utils/layout/grid.test.js +71 -0
  373. package/dist/src/utils/layout/padding.d.ts +83 -0
  374. package/dist/src/utils/layout/padding.d.ts.map +1 -0
  375. package/dist/src/utils/layout/padding.js +155 -0
  376. package/dist/src/utils/layout/point.d.ts +16 -0
  377. package/dist/src/utils/layout/point.d.ts.map +1 -0
  378. package/dist/src/utils/layout/point.js +23 -0
  379. package/dist/src/utils/layout/rectangle.d.ts +142 -0
  380. package/dist/src/utils/layout/rectangle.d.ts.map +1 -0
  381. package/dist/src/utils/layout/rectangle.js +296 -0
  382. package/dist/src/utils/layout/rectangle.test.js +172 -0
  383. package/dist/src/utils/mergeObjects.d.ts +15 -0
  384. package/dist/src/utils/mergeObjects.d.ts.map +1 -0
  385. package/dist/src/utils/mergeObjects.js +99 -0
  386. package/dist/src/utils/mergeObjects.test.js +42 -0
  387. package/dist/src/utils/numberExtractor.d.ts +9 -0
  388. package/dist/src/utils/numberExtractor.d.ts.map +1 -0
  389. package/dist/src/utils/numberExtractor.js +24 -0
  390. package/dist/src/utils/numberExtractor.test.js +6 -0
  391. package/dist/src/utils/point.d.ts +9 -0
  392. package/dist/src/utils/point.d.ts.map +1 -0
  393. package/dist/src/utils/point.js +14 -0
  394. package/dist/src/utils/propertyCacher.d.ts +30 -0
  395. package/dist/src/utils/propertyCacher.d.ts.map +1 -0
  396. package/dist/src/utils/propertyCacher.js +70 -0
  397. package/dist/src/utils/propertyCacher.test.js +85 -0
  398. package/dist/src/utils/propertyCoalescer.d.ts +15 -0
  399. package/dist/src/utils/propertyCoalescer.d.ts.map +1 -0
  400. package/dist/src/utils/propertyCoalescer.js +42 -0
  401. package/dist/src/utils/propertyCoalescer.test.js +22 -0
  402. package/dist/src/utils/reservationMap.d.ts +42 -0
  403. package/dist/src/utils/reservationMap.d.ts.map +1 -0
  404. package/dist/src/utils/reservationMap.js +103 -0
  405. package/dist/src/utils/reservationMap.test.js +20 -0
  406. package/dist/src/utils/scaleNull.d.ts +13 -0
  407. package/dist/src/utils/scaleNull.d.ts.map +1 -0
  408. package/dist/src/utils/scaleNull.js +21 -0
  409. package/dist/src/utils/setOperations.d.ts +31 -0
  410. package/dist/src/utils/setOperations.d.ts.map +1 -0
  411. package/dist/src/utils/setOperations.js +75 -0
  412. package/dist/src/utils/smoothstep.d.ts +7 -0
  413. package/dist/src/utils/smoothstep.d.ts.map +1 -0
  414. package/dist/src/utils/smoothstep.js +10 -0
  415. package/dist/src/utils/throttle.d.ts +8 -0
  416. package/dist/src/utils/throttle.d.ts.map +1 -0
  417. package/dist/src/utils/throttle.js +34 -0
  418. package/dist/src/utils/topK.d.ts +22 -0
  419. package/dist/src/utils/topK.d.ts.map +1 -0
  420. package/dist/src/utils/topK.js +76 -0
  421. package/dist/src/utils/topK.test.js +64 -0
  422. package/dist/src/utils/transition.d.ts +44 -0
  423. package/dist/src/utils/transition.d.ts.map +1 -0
  424. package/dist/src/utils/transition.js +74 -0
  425. package/dist/src/utils/trees.d.ts +56 -0
  426. package/dist/src/utils/trees.d.ts.map +1 -0
  427. package/dist/src/utils/trees.js +92 -0
  428. package/dist/src/utils/trees.test.js +130 -0
  429. package/dist/src/utils/ui/tooltip.d.ts +50 -0
  430. package/dist/src/utils/ui/tooltip.d.ts.map +1 -0
  431. package/dist/src/utils/ui/tooltip.js +189 -0
  432. package/dist/src/utils/url.d.ts +9 -0
  433. package/dist/src/utils/url.d.ts.map +1 -0
  434. package/dist/src/utils/url.js +22 -0
  435. package/dist/src/utils/variableTools.d.ts +14 -0
  436. package/dist/src/utils/variableTools.d.ts.map +1 -0
  437. package/dist/src/utils/variableTools.js +24 -0
  438. package/dist/src/utils/variableTools.test.js +13 -0
  439. package/dist/src/view/axisGridView.d.ts +39 -0
  440. package/dist/src/view/axisGridView.d.ts.map +1 -0
  441. package/dist/src/view/axisGridView.js +246 -0
  442. package/dist/src/view/axisResolution.d.ts +24 -0
  443. package/dist/src/view/axisResolution.d.ts.map +1 -0
  444. package/dist/src/view/axisResolution.js +141 -0
  445. package/dist/src/view/axisResolution.test.js +201 -0
  446. package/dist/src/view/axisView.d.ts +49 -0
  447. package/dist/src/view/axisView.d.ts.map +1 -0
  448. package/dist/src/view/axisView.js +629 -0
  449. package/dist/src/view/concatView.d.ts +16 -0
  450. package/dist/src/view/concatView.d.ts.map +1 -0
  451. package/dist/src/view/concatView.js +84 -0
  452. package/dist/src/view/containerView.d.ts +43 -0
  453. package/dist/src/view/containerView.d.ts.map +1 -0
  454. package/dist/src/view/containerView.js +137 -0
  455. package/dist/src/view/facetView.d.ts +71 -0
  456. package/dist/src/view/facetView.d.ts.map +1 -0
  457. package/dist/src/view/facetView.js +492 -0
  458. package/dist/src/view/flowBuilder.d.ts +37 -0
  459. package/dist/src/view/flowBuilder.d.ts.map +1 -0
  460. package/dist/src/view/flowBuilder.js +383 -0
  461. package/dist/src/view/flowBuilder.test.js +125 -0
  462. package/dist/src/view/gridView.d.ts +111 -0
  463. package/dist/src/view/gridView.d.ts.map +1 -0
  464. package/dist/src/view/gridView.js +1086 -0
  465. package/dist/src/view/implicitRootView.d.ts +9 -0
  466. package/dist/src/view/implicitRootView.d.ts.map +1 -0
  467. package/dist/src/view/implicitRootView.js +23 -0
  468. package/dist/src/view/importView.d.ts +17 -0
  469. package/dist/src/view/importView.d.ts.map +1 -0
  470. package/dist/src/view/importView.js +22 -0
  471. package/dist/src/view/layerView.d.ts +25 -0
  472. package/dist/src/view/layerView.d.ts.map +1 -0
  473. package/dist/src/view/layerView.js +77 -0
  474. package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts +30 -0
  475. package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -0
  476. package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +175 -0
  477. package/dist/src/view/renderingContext/compositeViewRenderingContext.d.ts +14 -0
  478. package/dist/src/view/renderingContext/compositeViewRenderingContext.d.ts.map +1 -0
  479. package/dist/src/view/renderingContext/compositeViewRenderingContext.js +51 -0
  480. package/dist/src/view/renderingContext/debuggingViewRenderingContext.d.ts +51 -0
  481. package/dist/src/view/renderingContext/debuggingViewRenderingContext.d.ts.map +1 -0
  482. package/dist/src/view/renderingContext/debuggingViewRenderingContext.js +94 -0
  483. package/dist/src/view/renderingContext/layoutRecorderViewRenderingContext.d.ts +60 -0
  484. package/dist/src/view/renderingContext/layoutRecorderViewRenderingContext.d.ts.map +1 -0
  485. package/dist/src/view/renderingContext/layoutRecorderViewRenderingContext.js +128 -0
  486. package/dist/src/view/renderingContext/simpleViewRenderingContext.d.ts +19 -0
  487. package/dist/src/view/renderingContext/simpleViewRenderingContext.d.ts.map +1 -0
  488. package/dist/src/view/renderingContext/simpleViewRenderingContext.js +64 -0
  489. package/dist/src/view/renderingContext/svgViewRenderingContext.d.ts +22 -0
  490. package/dist/src/view/renderingContext/svgViewRenderingContext.d.ts.map +1 -0
  491. package/dist/src/view/renderingContext/svgViewRenderingContext.js +125 -0
  492. package/dist/src/view/renderingContext/viewRenderingContext.d.ts +33 -0
  493. package/dist/src/view/renderingContext/viewRenderingContext.d.ts.map +1 -0
  494. package/dist/src/view/renderingContext/viewRenderingContext.js +41 -0
  495. package/dist/src/view/scaleResolution.d.ts +170 -0
  496. package/dist/src/view/scaleResolution.d.ts.map +1 -0
  497. package/dist/src/view/scaleResolution.js +874 -0
  498. package/dist/src/view/scaleResolution.test.js +658 -0
  499. package/dist/src/view/testUtils.d.ts +30 -0
  500. package/dist/src/view/testUtils.d.ts.map +1 -0
  501. package/dist/src/view/testUtils.js +101 -0
  502. package/dist/src/view/title.d.ts +6 -0
  503. package/dist/src/view/title.d.ts.map +1 -0
  504. package/dist/src/view/title.js +165 -0
  505. package/dist/src/view/unitView.d.ts +93 -0
  506. package/dist/src/view/unitView.d.ts.map +1 -0
  507. package/dist/src/view/unitView.js +345 -0
  508. package/dist/src/view/view.d.ts +291 -0
  509. package/dist/src/view/view.d.ts.map +1 -0
  510. package/dist/src/view/view.js +691 -0
  511. package/dist/src/view/view.test.js +214 -0
  512. package/dist/src/view/viewFactory.d.ts +76 -0
  513. package/dist/src/view/viewFactory.d.ts.map +1 -0
  514. package/dist/src/view/viewFactory.js +178 -0
  515. package/dist/src/view/viewFactory.test.js +17 -0
  516. package/dist/src/view/viewUtils.d.ts +90 -0
  517. package/dist/src/view/viewUtils.d.ts.map +1 -0
  518. package/dist/src/view/viewUtils.js +326 -0
  519. package/dist/src/view/zoom.d.ts +23 -0
  520. package/dist/src/view/zoom.d.ts.map +1 -0
  521. package/dist/src/view/zoom.js +89 -0
  522. package/package.json +17 -12
  523. package/dist/style.css +0 -1
@@ -0,0 +1,504 @@
1
+ /**
2
+ * The name of the field or a JavaScript expression for accessing nested properties.
3
+ * Dots and brackets in the field name must be escaped.
4
+ */
5
+ export type Field = string;
6
+
7
+ export interface TransformParamsBase {
8
+ /** The type of the transform to be applied */
9
+ type: string;
10
+ }
11
+
12
+ export interface IdentifierParams extends TransformParamsBase {
13
+ type: "identifier";
14
+
15
+ /**
16
+ * **Default:** `"_uniqueId"`
17
+ */
18
+ as?: string;
19
+ }
20
+ export interface FilterParams extends TransformParamsBase {
21
+ type: "filter";
22
+
23
+ /** An expression string. The data object is removed if the expression evaluates to false. */
24
+ expr: string;
25
+ }
26
+
27
+ export interface FormulaParams extends TransformParamsBase {
28
+ type: "formula";
29
+
30
+ /** An expression string */
31
+ expr: string;
32
+
33
+ /** The (new) field where the computed value is written to */
34
+ as: string;
35
+ }
36
+
37
+ export interface ProjectParams extends TransformParamsBase {
38
+ type: "project";
39
+
40
+ /**
41
+ * The fields to be projected.
42
+ */
43
+ fields: Field[];
44
+
45
+ /**
46
+ * New names for the projected fields. If omitted, the names of the source fields are used.
47
+ */
48
+ as?: string[];
49
+ }
50
+
51
+ export interface RegexExtractParams extends TransformParamsBase {
52
+ type: "regexExtract";
53
+
54
+ /**
55
+ * A valid JavaScript regular expression with at least one group. For example: `"^Sample(\\d+)$"`.
56
+ *
57
+ * Read more at: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
58
+ **/
59
+ regex: string;
60
+
61
+ /**
62
+ * The source field
63
+ */
64
+ field: Field;
65
+
66
+ /**
67
+ * The new field or an array of fields where the extracted values are written.
68
+ */
69
+ as: string | string[];
70
+
71
+ /**
72
+ * Do not complain about invalid input. Just skip it and leave the new fields undefined on the affected datum.
73
+ *
74
+ * **Default:** `false`
75
+ **/
76
+ skipInvalidInput?: boolean;
77
+ }
78
+
79
+ export interface RegexFoldParams extends TransformParamsBase {
80
+ type: "regexFold";
81
+
82
+ /**
83
+ * A regular expression that matches to column names. The regex must have one
84
+ * capturing group that is used for extracting the key (e.g., a sample id)
85
+ * from the column name.
86
+ */
87
+ columnRegex: string[] | string;
88
+
89
+ /**
90
+ * A new column name for the extracted values.
91
+ */
92
+ asValue: string[] | string;
93
+
94
+ /**
95
+ * An optional regex that matches to fields that should not be included
96
+ * in the new folded data objects.
97
+ */
98
+ skipRegex?: string;
99
+
100
+ /**
101
+ * **Default:** `"sample"`
102
+ */
103
+ asKey?: string;
104
+ }
105
+
106
+ export type SortOrder = "ascending" | "descending";
107
+
108
+ export interface CompareParams {
109
+ /**
110
+ * The field(s) to sort by
111
+ */
112
+ field: Field[] | Field;
113
+
114
+ /**
115
+ * The order(s) to use: `"ascending"` (default), `"descending"`.
116
+ */
117
+ order?: SortOrder[] | SortOrder;
118
+ }
119
+
120
+ export interface StackParams extends TransformParamsBase {
121
+ type: "stack";
122
+
123
+ /**
124
+ * The field to stack. If no field is defined, a constant value of one is assumed.
125
+ */
126
+ field?: Field;
127
+
128
+ /**
129
+ * The fields to be used for forming groups for different stacks.
130
+ */
131
+ groupby: Field[];
132
+
133
+ /**
134
+ * The sort order of data in each stack.
135
+ */
136
+ sort?: CompareParams;
137
+
138
+ /**
139
+ * How to offset the values in a stack.
140
+ * `"zero"` (default) starts stacking at 0.
141
+ * `"center"` centers the values around zero.
142
+ * `"normalize"` computes intra-stack percentages and normalizes the values to the range of `[0, 1]`.
143
+ * `"information"` computes a layout for a sequence logo. The total height of the stack reflects
144
+ * the group's information content.
145
+ */
146
+ offset?: "zero" | "center" | "normalize" | "information";
147
+
148
+ /**
149
+ * Fields to write the stacked values.
150
+ *
151
+ * **Default:** `["y0", "y1"]`
152
+ */
153
+ as: string[];
154
+
155
+ /**
156
+ * Cardinality, e.g., the number if distinct bases or amino acids. Used for
157
+ * information content calculation when the offset is `"information"`.
158
+ *
159
+ * **Default:** `4`
160
+ */
161
+ cardinality?: number;
162
+
163
+ /**
164
+ * The field that contains the base or amino acid. Used for
165
+ * information content calculation when the offset is `"information"`.
166
+ * The data objects that have `null` in the baseField are considered gaps
167
+ * and they are taken into account when scaling the the locus' information
168
+ * content.
169
+ */
170
+ baseField?: Field;
171
+ }
172
+
173
+ export interface AggregateParams extends TransformParamsBase {
174
+ type: "aggregate";
175
+
176
+ /**
177
+ * Which fields to use for grouping. Missing `groupby` results in a single
178
+ * group that includes all the data items.
179
+ */
180
+ groupby?: Field[];
181
+ }
182
+
183
+ export interface FlattenParams extends TransformParamsBase {
184
+ type: "flatten";
185
+
186
+ /**
187
+ * The field(s) to flatten. If no field is defined, the data object itself
188
+ * is treated as an array to be flattened.
189
+ */
190
+ fields?: Field[] | Field;
191
+
192
+ /**
193
+ * The output field name for the zero-based index of the array values. If unspecified, an index field is not added.
194
+ */
195
+ index?: string;
196
+
197
+ /**
198
+ * The output field name(s) for the flattened field.
199
+ *
200
+ * **Default:** the input fields.
201
+ */
202
+ as?: string[] | string;
203
+ }
204
+
205
+ export interface FlattenDelimitedParams extends TransformParamsBase {
206
+ type: "flattenDelimited";
207
+
208
+ /**
209
+ * The field(s) to split and flatten
210
+ */
211
+ // TODO: Rename to prular to make it consistent with the other flatten transforms
212
+ field: Field[] | Field;
213
+
214
+ /**
215
+ * Separator(s) used on the field(s)
216
+ * TODO: Rename to delimiter
217
+ */
218
+ separator: string[] | string;
219
+
220
+ /**
221
+ * The output field name(s) for the flattened field.
222
+ *
223
+ * **Default:** the input fields.
224
+ */
225
+ as?: string[] | string;
226
+ }
227
+
228
+ export interface FlattenSequenceParams extends TransformParamsBase {
229
+ type: "flattenSequence";
230
+
231
+ /**
232
+ * The field to flatten.
233
+ *
234
+ * **Default:** `"sequence"`
235
+ */
236
+ field?: Field;
237
+
238
+ /**
239
+ * Name of the fields where the zero-based index number and flattened
240
+ * sequence letter are written to.
241
+ *
242
+ * **Default:** `["pos", "sequence"]`
243
+ */
244
+ // TODO: Introduce "index" property to make it consistent with the other flatten transforms
245
+ as?: [string, string];
246
+ }
247
+
248
+ export interface PileupParams extends TransformParamsBase {
249
+ type: "pileup";
250
+
251
+ /**
252
+ * The field representing the start coordinate of the segment (inclusive).
253
+ */
254
+ start: Field;
255
+
256
+ /**
257
+ * The field representing the end coordinate of the segment (exclusive).
258
+ */
259
+ end: Field;
260
+
261
+ /**
262
+ * The output field name for the computed lane.
263
+ *
264
+ * **Default:** `"lane"`.
265
+ */
266
+ as?: string;
267
+
268
+ /**
269
+ * The spacing between adjacent segments on the same lane in coordinate units.
270
+ *
271
+ * **Default:** `1`.
272
+ */
273
+ spacing?: number;
274
+
275
+ /**
276
+ * An optional field indicating the preferred lane. Use together with the
277
+ * `preferredOrder` property.
278
+ */
279
+ preference?: Field;
280
+
281
+ /**
282
+ * The order of the lane preferences. The first element contains the value that
283
+ * should place the segment on the first lane and so forth.
284
+ * If the preferred lane is occupied, the first available lane is taken.
285
+ */
286
+ preferredOrder?: string[] | number[] | boolean[];
287
+ }
288
+
289
+ export interface CoverageParams extends TransformParamsBase {
290
+ type: "coverage";
291
+
292
+ /**
293
+ * An optional chromosome field that is passed through. TODO: groupby
294
+ */
295
+ chrom?: Field;
296
+
297
+ /**
298
+ * The field representing the start coordinate of the segment (inclusive).
299
+ */
300
+ start: Field;
301
+
302
+ /**
303
+ * The field representing the end coordinate of the segment (exclusive).
304
+ */
305
+ end: Field;
306
+
307
+ /**
308
+ * A field representing an optional weight for the segment. Can be used with
309
+ * copy ratios, for example.
310
+ */
311
+ weight?: Field;
312
+
313
+ /**
314
+ * The output field for the computed coverage.
315
+ */
316
+ as?: string;
317
+
318
+ /**
319
+ * The output field for the chromosome.
320
+ *
321
+ * **Default:** Same as `chrom`
322
+ */
323
+ asChrom?: string;
324
+
325
+ /**
326
+ * The output field for the start coordinate.
327
+ *
328
+ * **Default:** Same as `start`
329
+ */
330
+ asStart?: string;
331
+
332
+ /**
333
+ * The output field for the end coordinate.
334
+ *
335
+ * **Default:** Same as `end`
336
+ */
337
+ asEnd?: string;
338
+ }
339
+
340
+ export interface CollectParams extends TransformParamsBase {
341
+ type: "collect";
342
+
343
+ /**
344
+ * Arranges the data into consecutive batches based on the groups.
345
+ * This is mainly intended for internal use so that faceted data can
346
+ * be handled as batches.
347
+ */
348
+ groupby?: Field[];
349
+
350
+ /**
351
+ * The sort order.
352
+ */
353
+ sort?: CompareParams;
354
+ }
355
+
356
+ export interface SampleParams extends TransformParamsBase {
357
+ type: "sample";
358
+
359
+ /**
360
+ * The maximum sample size.
361
+ *
362
+ * **Default:** `500`
363
+ */
364
+ size?: number;
365
+ }
366
+
367
+ export interface MeasureTextParams extends TransformParamsBase {
368
+ type: "measureText";
369
+
370
+ field: Field;
371
+
372
+ fontSize: number;
373
+
374
+ as: string;
375
+
376
+ // TODO: FontFamily etc
377
+ }
378
+
379
+ export interface MergeFacetsParams extends TransformParamsBase {
380
+ type: "mergeFacets";
381
+ }
382
+
383
+ export interface LinearizeGenomicCoordinateParams extends TransformParamsBase {
384
+ type: "linearizeGenomicCoordinate";
385
+
386
+ /**
387
+ * Get the genome assembly from the scale of the channel.
388
+ *
389
+ * **Default:** `"x"`
390
+ */
391
+ channel?: "x" | "y";
392
+
393
+ /**
394
+ * The chromosome/contig field
395
+ */
396
+ chrom: Field;
397
+
398
+ /**
399
+ * The field or fields that contain intra-chromosomal positions
400
+ */
401
+ pos: Field | Field[];
402
+
403
+ /**
404
+ * An offset or offsets that allow for adjusting the numbering base. The offset
405
+ * is subtracted from the positions.
406
+ *
407
+ * GenomeSpy uses internally zero-based indexing with half-open intervals.
408
+ * UCSC-based formats (BED, etc.) generally use this scheme. However, for example,
409
+ * VCF files use one-based indexing and must be adjusted by setting the offset to
410
+ * `1`.
411
+ *
412
+ * **Default:** `0`
413
+ */
414
+ offset?: number | number[];
415
+
416
+ /**
417
+ * The output field or fields for linearized coordinates.
418
+ */
419
+ as: string | string[];
420
+ }
421
+
422
+ export interface FilterScoredLabelsParams extends TransformParamsBase {
423
+ type: "filterScoredLabels";
424
+
425
+ /**
426
+ * The field representing the score used for prioritization.
427
+ */
428
+ score: Field;
429
+
430
+ /**
431
+ * The field representing element's width in pixels
432
+ */
433
+ width: Field;
434
+
435
+ /**
436
+ * The field representing element's position on the domain.
437
+ */
438
+ pos: Field;
439
+
440
+ /**
441
+ * An optional field representing element's lane, e.g., if transcripts
442
+ * are shown using a piled up layout.
443
+ */
444
+ lane?: Field;
445
+
446
+ /**
447
+ * Padding (in pixels) around the element.
448
+ *
449
+ * **Default:** `0`
450
+ */
451
+ padding?: number;
452
+
453
+ /**
454
+ * **Default:** `"x"`
455
+ */
456
+ channel?: "x" | "y";
457
+ }
458
+
459
+ export interface FlattenCompressedExonsParams extends TransformParamsBase {
460
+ type: "flattenCompressedExons";
461
+
462
+ /**
463
+ * The field containing the exons.
464
+ *
465
+ * **Default:** `"exons"`
466
+ */
467
+ exons?: Field;
468
+
469
+ /**
470
+ * Start coordinate of the gene body.
471
+ *
472
+ * **Default:** `"start"`
473
+ */
474
+ start?: Field;
475
+
476
+ /**
477
+ * Field names for the flattened exons.
478
+ *
479
+ * **Default:** `["exonStart", "exonEnd"]`
480
+ */
481
+ as?: [string, string];
482
+ }
483
+
484
+ export type TransformParams =
485
+ | AggregateParams
486
+ | CollectParams
487
+ | CoverageParams
488
+ | FlattenDelimitedParams
489
+ | FormulaParams
490
+ | FilterParams
491
+ | FilterScoredLabelsParams
492
+ | FlattenParams
493
+ | FlattenCompressedExonsParams
494
+ | FlattenSequenceParams
495
+ | IdentifierParams
496
+ | LinearizeGenomicCoordinateParams
497
+ | MeasureTextParams
498
+ | MergeFacetsParams
499
+ | PileupParams
500
+ | ProjectParams
501
+ | RegexExtractParams
502
+ | RegexFoldParams
503
+ | SampleParams
504
+ | StackParams;
@@ -0,0 +1,214 @@
1
+ import { Data } from "./data";
2
+ import { TransformParams } from "./transform";
3
+ import {
4
+ Channel,
5
+ Encoding,
6
+ FacetFieldDef,
7
+ PrimaryPositionalChannel,
8
+ } from "./channel";
9
+ import {
10
+ FillAndStrokeProps,
11
+ MarkConfigAndType,
12
+ MarkType,
13
+ RectProps,
14
+ } from "./mark";
15
+ import { Title } from "./title";
16
+ import { SampleSpec } from "./sampleView";
17
+
18
+ export interface SizeDef {
19
+ /** Size in pixels */
20
+ px?: number;
21
+
22
+ /** Share of the remaining space */
23
+ grow?: number;
24
+ }
25
+
26
+ // TODO: Perhaps this should be in "utils"
27
+ export type GeometricDimension = "width" | "height";
28
+
29
+ export interface FacetMapping {
30
+ column?: FacetFieldDef;
31
+ row?: FacetFieldDef;
32
+ }
33
+
34
+ /**
35
+ * DynamicOpacity specifies a zoom-dependent behavior for view opacity.
36
+ * The opacity is interpolated between the specified stops.
37
+ */
38
+ export interface DynamicOpacity {
39
+ channel?: PrimaryPositionalChannel;
40
+ /** Stops expressed as units (base pairs, for example) per pixel. */
41
+ unitsPerPixel: number[];
42
+ /** Opacity values that match the given stops. */
43
+ values: number[];
44
+ }
45
+
46
+ export type ViewOpacityDef = number | DynamicOpacity;
47
+
48
+ export interface Step {
49
+ step: number;
50
+ }
51
+
52
+ export type Side = "top" | "right" | "bottom" | "left";
53
+
54
+ export type Paddings = Partial<Record<Side, number>>;
55
+
56
+ export type PaddingConfig = Paddings | number;
57
+
58
+ interface CompleteViewBackground extends RectProps, FillAndStrokeProps {
59
+ // TODO: style?: string | string[];
60
+
61
+ // TODO: Move to FillAndStrokeProps or something
62
+ strokeWidth?: number;
63
+ }
64
+
65
+ export type ViewBackground = Pick<
66
+ CompleteViewBackground,
67
+ "fill" | "fillOpacity" | "stroke" | "strokeWidth" | "strokeOpacity"
68
+ >;
69
+
70
+ export interface ViewSpecBase extends ResolveSpec {
71
+ name?: string;
72
+
73
+ height?: SizeDef | number | Step | "container";
74
+ width?: SizeDef | number | Step | "container";
75
+
76
+ /**
77
+ * Padding in pixels.
78
+ *
79
+ * **Default:* `0`
80
+ */
81
+ padding?: PaddingConfig;
82
+
83
+ data?: Data;
84
+ transform?: TransformParams[];
85
+ encoding?: Encoding;
86
+ title?: string | Title;
87
+
88
+ /**
89
+ * A description of the view. Multiple lines can be provided as an array.
90
+ */
91
+ description?: string | string[];
92
+
93
+ baseUrl?: string;
94
+
95
+ /**
96
+ * Opacity of the view and all its children.
97
+ *
98
+ * **Default:* `1.0`
99
+ */
100
+ // TODO: Should be available only in Unit and Layer views.
101
+ opacity?: ViewOpacityDef;
102
+
103
+ /**
104
+ * Visibility of the view. An invisible view is removed from the layout
105
+ * and not rendered.
106
+ *
107
+ * **Default:** `true`
108
+ */
109
+ // TODO: Detach invisible views from the data flow.
110
+ visible?: boolean;
111
+
112
+ /**
113
+ * Is the visibility configurable interactively from the App.
114
+ * Configurability requires that the view has an explicitly specified name
115
+ * that is *unique* in within the view specification.
116
+ *
117
+ * **Default:** `false` for children of `layer`, `true` for others.
118
+ */
119
+ configurableVisibility?: boolean;
120
+ }
121
+
122
+ export interface UnitSpec extends ViewSpecBase, AggregateSamplesSpec {
123
+ view?: ViewBackground;
124
+ mark: MarkType | MarkConfigAndType;
125
+ }
126
+
127
+ export interface AggregateSamplesSpec {
128
+ // TODO: Introduce a type (UnitSpec | LayerSpec) that can ba used in SampleView and here
129
+ aggregateSamples?: (UnitSpec | LayerSpec)[];
130
+ }
131
+
132
+ export interface LayerSpec extends ViewSpecBase, AggregateSamplesSpec {
133
+ view?: ViewBackground;
134
+ layer: (LayerSpec | UnitSpec)[];
135
+ }
136
+
137
+ export interface FacetSpec extends ViewSpecBase {
138
+ facet: any; //FacetMapping | FacetFieldDef
139
+ spec: LayerSpec | UnitSpec;
140
+ columns?: number;
141
+ spacing?: number;
142
+ }
143
+
144
+ export type ResolutionTarget = "scale" | "axis";
145
+
146
+ /**
147
+ * `"independent"` and `"shared"` behave similarly to Vega-Lite.
148
+ * `"excluded"` behaves like `"shared"`, but is not pulled towards the root.
149
+ * `"forced"` behaves like `"shared"`, but is forced towards the root even
150
+ * if the parent has `"independent"` behavior.
151
+ */
152
+ export type ResolutionBehavior =
153
+ | "independent"
154
+ | "shared"
155
+ | "excluded"
156
+ | "forced";
157
+
158
+ export interface ResolveSpec {
159
+ resolve?: Partial<
160
+ Record<
161
+ ResolutionTarget,
162
+ Partial<Record<Channel | "default", ResolutionBehavior>>
163
+ >
164
+ >;
165
+ }
166
+
167
+ export type ContainerSpec = (
168
+ | LayerSpec
169
+ // | FacetSpec
170
+ | SampleSpec
171
+ | VConcatSpec
172
+ | HConcatSpec
173
+ | ConcatSpec
174
+ | UnitSpec
175
+ ) &
176
+ ResolveSpec;
177
+
178
+ export type ViewSpec =
179
+ | UnitSpec
180
+ | LayerSpec
181
+ // | FacetSpec
182
+ | SampleSpec
183
+ | VConcatSpec
184
+ | HConcatSpec
185
+ | ConcatSpec;
186
+
187
+ export interface ImportConfig {
188
+ name?: string;
189
+ url?: string;
190
+ params?: object;
191
+ }
192
+
193
+ export interface ImportSpec {
194
+ import: ImportConfig;
195
+ }
196
+
197
+ export interface ConcatBase extends ViewSpecBase {
198
+ spacing?: number;
199
+ }
200
+
201
+ export interface VConcatSpec extends ConcatBase {
202
+ vconcat: (ViewSpec | ImportSpec)[];
203
+ }
204
+
205
+ export interface HConcatSpec extends ConcatBase {
206
+ hconcat: (ViewSpec | ImportSpec)[];
207
+ }
208
+
209
+ export interface ConcatSpec extends ConcatBase {
210
+ concat: (ViewSpec | ImportSpec)[];
211
+ columns: number;
212
+ }
213
+
214
+ export type AnyConcatSpec = VConcatSpec | HConcatSpec | ConcatSpec;
@@ -0,0 +1,3 @@
1
+ export default css;
2
+ declare const css: ".genome-spy {\n font-family: system-ui, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n position: relative;\n}\n.genome-spy canvas {\n transform: scale(1, 1);\n opacity: 1;\n transition: transform 0.6s, opacity 0.6s;\n}\n.genome-spy .loading-message {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.genome-spy .loading-message .message {\n color: #666;\n opacity: 0;\n transition: opacity 0.7s;\n}\n.genome-spy.loading canvas {\n transform: scale(0.95, 0.95);\n opacity: 0;\n}\n.genome-spy.loading .loading-message .message {\n opacity: 1;\n}\n.genome-spy.loading .ellipsis {\n animation: blinker 1s linear infinite;\n}\n@keyframes blinker {\n 50% {\n opacity: 0;\n }\n}\n.genome-spy .tooltip {\n position: absolute;\n max-width: 450px;\n overflow: hidden;\n background: #f6f6f6;\n padding: 10px;\n font-size: 13px;\n box-shadow: 0px 3px 15px 0px rgba(0, 0, 0, 0.21);\n pointer-events: none;\n z-index: 100;\n}\n.genome-spy .tooltip > :last-child {\n margin-bottom: 0;\n}\n.genome-spy .tooltip > .title {\n padding-bottom: 5px;\n margin-bottom: 5px;\n border-bottom: 1px dashed #b6b6b6;\n}\n.genome-spy .tooltip .summary {\n font-size: 12px;\n}\n.genome-spy .tooltip table {\n border-collapse: collapse;\n}\n.genome-spy .tooltip table:first-child {\n margin-top: 0;\n}\n.genome-spy .tooltip table th,\n.genome-spy .tooltip table td {\n padding: 2px 0.4em;\n vertical-align: top;\n}\n.genome-spy .tooltip table th:first-child,\n.genome-spy .tooltip table td:first-child {\n padding-left: 0;\n}\n.genome-spy .tooltip table th {\n text-align: left;\n font-weight: bold;\n}\n.genome-spy .tooltip .color-legend {\n display: inline-block;\n width: 0.8em;\n height: 0.8em;\n margin-left: 0.4em;\n box-shadow: 0px 0px 3px 1px white;\n}\n.genome-spy .tooltip .attributes .hovered {\n background-color: #e0e0e0;\n}\n.genome-spy .tooltip .na {\n color: #aaa;\n font-style: italic;\n font-size: 80%;\n}\n.genome-spy .gene-track-tooltip .summary {\n font-size: 90%;\n}\n.genome-spy .message-box {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n height: 100%;\n width: 100%;\n}\n.genome-spy .message-box > div {\n border: 1px solid red;\n padding: 10px;\n background: #fff0f0;\n}";
3
+ //# sourceMappingURL=genome-spy.css.d.ts.map