@genome-spy/core 0.67.0 → 0.69.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 (290) hide show
  1. package/dist/bundle/index.es.js +15884 -13130
  2. package/dist/bundle/index.js +130 -149
  3. package/dist/schema.json +6498 -6191
  4. package/dist/src/data/collector.d.ts +20 -0
  5. package/dist/src/data/collector.d.ts.map +1 -1
  6. package/dist/src/data/collector.js +148 -0
  7. package/dist/src/data/dataFlow.d.ts +6 -0
  8. package/dist/src/data/dataFlow.d.ts.map +1 -1
  9. package/dist/src/data/dataFlow.js +20 -0
  10. package/dist/src/data/flowInit.d.ts.map +1 -1
  11. package/dist/src/data/flowInit.js +2 -3
  12. package/dist/src/data/flowNode.d.ts +33 -10
  13. package/dist/src/data/flowNode.d.ts.map +1 -1
  14. package/dist/src/data/flowNode.js +84 -13
  15. package/dist/src/data/flowTestUtils.d.ts +2 -2
  16. package/dist/src/data/flowTestUtils.d.ts.map +1 -1
  17. package/dist/src/data/flowTestUtils.js +5 -4
  18. package/dist/src/data/keyIndex.d.ts +18 -0
  19. package/dist/src/data/keyIndex.d.ts.map +1 -0
  20. package/dist/src/data/keyIndex.js +241 -0
  21. package/dist/src/data/keyIndex.test.d.ts +2 -0
  22. package/dist/src/data/keyIndex.test.d.ts.map +1 -0
  23. package/dist/src/data/sources/dataSource.d.ts.map +1 -1
  24. package/dist/src/data/sources/dataSource.js +7 -3
  25. package/dist/src/data/sources/dataSourceFactory.d.ts +14 -12
  26. package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
  27. package/dist/src/data/sources/dataSourceFactory.js +52 -16
  28. package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
  29. package/dist/src/data/sources/lazy/bigBedSource.js +11 -10
  30. package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
  31. package/dist/src/data/sources/lazy/bigWigSource.js +11 -10
  32. package/dist/src/data/sources/lazy/mockLazySource.d.ts +29 -0
  33. package/dist/src/data/sources/lazy/mockLazySource.d.ts.map +1 -0
  34. package/dist/src/data/sources/lazy/mockLazySource.js +44 -0
  35. package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts +22 -1
  36. package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -1
  37. package/dist/src/data/sources/lazy/singleAxisLazySource.js +34 -2
  38. package/dist/src/data/sources/lazy/singleAxisWindowedSource.d.ts.map +1 -1
  39. package/dist/src/data/sources/lazy/singleAxisWindowedSource.js +16 -1
  40. package/dist/src/data/sources/lazy/tabixSource.d.ts +0 -1
  41. package/dist/src/data/sources/lazy/tabixSource.d.ts.map +1 -1
  42. package/dist/src/data/sources/lazy/tabixSource.js +56 -16
  43. package/dist/src/data/sources/sequenceSource.d.ts.map +1 -1
  44. package/dist/src/data/sources/sequenceSource.js +5 -3
  45. package/dist/src/data/sources/urlSource.d.ts.map +1 -1
  46. package/dist/src/data/sources/urlSource.js +7 -3
  47. package/dist/src/data/transforms/filter.d.ts +4 -4
  48. package/dist/src/data/transforms/filter.d.ts.map +1 -1
  49. package/dist/src/data/transforms/filter.js +13 -7
  50. package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
  51. package/dist/src/data/transforms/filterScoredLabels.js +11 -6
  52. package/dist/src/data/transforms/filterScoredLabels.test.d.ts +2 -0
  53. package/dist/src/data/transforms/filterScoredLabels.test.d.ts.map +1 -0
  54. package/dist/src/data/transforms/formula.d.ts +4 -4
  55. package/dist/src/data/transforms/formula.d.ts.map +1 -1
  56. package/dist/src/data/transforms/formula.js +12 -6
  57. package/dist/src/data/transforms/measureText.d.ts +2 -2
  58. package/dist/src/data/transforms/measureText.d.ts.map +1 -1
  59. package/dist/src/data/transforms/measureText.js +16 -12
  60. package/dist/src/data/transforms/stack.d.ts.map +1 -1
  61. package/dist/src/data/transforms/stack.js +1 -0
  62. package/dist/src/data/transforms/transform.d.ts +2 -2
  63. package/dist/src/data/transforms/transform.d.ts.map +1 -1
  64. package/dist/src/data/transforms/transform.js +3 -3
  65. package/dist/src/encoder/accessor.d.ts +51 -4
  66. package/dist/src/encoder/accessor.d.ts.map +1 -1
  67. package/dist/src/encoder/accessor.js +174 -10
  68. package/dist/src/encoder/encoder.d.ts +11 -2
  69. package/dist/src/encoder/encoder.d.ts.map +1 -1
  70. package/dist/src/encoder/encoder.js +29 -9
  71. package/dist/src/encoder/metadataChannels.d.ts +15 -0
  72. package/dist/src/encoder/metadataChannels.d.ts.map +1 -0
  73. package/dist/src/encoder/metadataChannels.js +65 -0
  74. package/dist/src/encoder/metadataChannels.test.d.ts +2 -0
  75. package/dist/src/encoder/metadataChannels.test.d.ts.map +1 -0
  76. package/dist/src/genome/genome.d.ts +8 -0
  77. package/dist/src/genome/genome.d.ts.map +1 -1
  78. package/dist/src/genome/genome.js +16 -1
  79. package/dist/src/genome/scaleLocus.d.ts.map +1 -1
  80. package/dist/src/genome/scaleLocus.js +14 -1
  81. package/dist/src/genomeSpy/containerUi.d.ts +0 -1
  82. package/dist/src/genomeSpy/containerUi.d.ts.map +1 -1
  83. package/dist/src/genomeSpy/containerUi.js +0 -14
  84. package/dist/src/genomeSpy/inputBindingManager.js +1 -1
  85. package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
  86. package/dist/src/genomeSpy/interactionController.js +7 -1
  87. package/dist/src/genomeSpy/loadingIndicatorManager.d.ts +3 -7
  88. package/dist/src/genomeSpy/loadingIndicatorManager.d.ts.map +1 -1
  89. package/dist/src/genomeSpy/loadingIndicatorManager.js +68 -20
  90. package/dist/src/genomeSpy/loadingStatusRegistry.d.ts +52 -0
  91. package/dist/src/genomeSpy/loadingStatusRegistry.d.ts.map +1 -0
  92. package/dist/src/genomeSpy/loadingStatusRegistry.js +86 -0
  93. package/dist/src/genomeSpy/viewContextFactory.d.ts.map +1 -1
  94. package/dist/src/genomeSpy/viewContextFactory.js +0 -1
  95. package/dist/src/genomeSpy/viewDataInit.d.ts.map +1 -1
  96. package/dist/src/genomeSpy/viewDataInit.js +56 -11
  97. package/dist/src/genomeSpy.d.ts +0 -2
  98. package/dist/src/genomeSpy.d.ts.map +1 -1
  99. package/dist/src/genomeSpy.js +47 -27
  100. package/dist/src/gl/glslScaleGenerator.js +1 -1
  101. package/dist/src/marks/mark.d.ts.map +1 -1
  102. package/dist/src/marks/mark.js +40 -41
  103. package/dist/src/marks/markUtils.js +1 -1
  104. package/dist/src/marks/point.d.ts.map +1 -1
  105. package/dist/src/marks/point.js +4 -6
  106. package/dist/src/paramRuntime/expressionCompiler.d.ts +7 -0
  107. package/dist/src/paramRuntime/expressionCompiler.d.ts.map +1 -0
  108. package/dist/src/paramRuntime/expressionCompiler.js +10 -0
  109. package/dist/src/paramRuntime/expressionRef.d.ts +20 -0
  110. package/dist/src/paramRuntime/expressionRef.d.ts.map +1 -0
  111. package/dist/src/paramRuntime/expressionRef.js +95 -0
  112. package/dist/src/paramRuntime/expressionRef.test.d.ts +2 -0
  113. package/dist/src/paramRuntime/expressionRef.test.d.ts.map +1 -0
  114. package/dist/src/paramRuntime/graphRuntime.d.ts +176 -0
  115. package/dist/src/paramRuntime/graphRuntime.d.ts.map +1 -0
  116. package/dist/src/paramRuntime/graphRuntime.js +628 -0
  117. package/dist/src/paramRuntime/graphRuntime.test.d.ts +2 -0
  118. package/dist/src/paramRuntime/graphRuntime.test.d.ts.map +1 -0
  119. package/dist/src/paramRuntime/index.d.ts +9 -0
  120. package/dist/src/paramRuntime/index.d.ts.map +1 -0
  121. package/dist/src/paramRuntime/index.js +8 -0
  122. package/dist/src/paramRuntime/lifecycleRegistry.d.ts +27 -0
  123. package/dist/src/paramRuntime/lifecycleRegistry.d.ts.map +1 -0
  124. package/dist/src/paramRuntime/lifecycleRegistry.js +54 -0
  125. package/dist/src/paramRuntime/paramRuntime.d.ts +165 -0
  126. package/dist/src/paramRuntime/paramRuntime.d.ts.map +1 -0
  127. package/dist/src/paramRuntime/paramRuntime.js +222 -0
  128. package/dist/src/paramRuntime/paramRuntime.test.d.ts +2 -0
  129. package/dist/src/paramRuntime/paramRuntime.test.d.ts.map +1 -0
  130. package/dist/src/paramRuntime/paramStore.d.ts +68 -0
  131. package/dist/src/paramRuntime/paramStore.d.ts.map +1 -0
  132. package/dist/src/paramRuntime/paramStore.js +148 -0
  133. package/dist/src/paramRuntime/paramStore.test.d.ts +2 -0
  134. package/dist/src/paramRuntime/paramStore.test.d.ts.map +1 -0
  135. package/dist/src/paramRuntime/paramUtils.d.ts +86 -0
  136. package/dist/src/paramRuntime/paramUtils.d.ts.map +1 -0
  137. package/dist/src/paramRuntime/paramUtils.js +272 -0
  138. package/dist/src/paramRuntime/selectionStore.d.ts +6 -0
  139. package/dist/src/paramRuntime/selectionStore.d.ts.map +1 -0
  140. package/dist/src/paramRuntime/selectionStore.js +13 -0
  141. package/dist/src/paramRuntime/types.d.ts +16 -0
  142. package/dist/src/paramRuntime/types.d.ts.map +1 -0
  143. package/dist/src/paramRuntime/types.js +25 -0
  144. package/dist/src/paramRuntime/viewParamRuntime.d.ts +164 -0
  145. package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -0
  146. package/dist/src/paramRuntime/viewParamRuntime.js +443 -0
  147. package/dist/src/scale/scale.d.ts +6 -1
  148. package/dist/src/scale/scale.d.ts.map +1 -1
  149. package/dist/src/scale/scale.js +83 -23
  150. package/dist/src/scales/axisResolution.d.ts.map +1 -1
  151. package/dist/src/scales/axisResolution.js +10 -0
  152. package/dist/src/scales/{scaleDomainAggregator.d.ts → domainPlanner.d.ts} +6 -3
  153. package/dist/src/scales/domainPlanner.d.ts.map +1 -0
  154. package/dist/src/scales/{scaleDomainAggregator.js → domainPlanner.js} +128 -10
  155. package/dist/src/scales/domainPlanner.test.d.ts +2 -0
  156. package/dist/src/scales/domainPlanner.test.d.ts.map +1 -0
  157. package/dist/src/scales/scaleInstanceManager.d.ts +6 -3
  158. package/dist/src/scales/scaleInstanceManager.d.ts.map +1 -1
  159. package/dist/src/scales/scaleInstanceManager.js +17 -11
  160. package/dist/src/scales/scaleInteractionController.d.ts +6 -0
  161. package/dist/src/scales/scaleInteractionController.d.ts.map +1 -1
  162. package/dist/src/scales/scaleInteractionController.js +41 -3
  163. package/dist/src/scales/scaleResolution.d.ts +20 -17
  164. package/dist/src/scales/scaleResolution.d.ts.map +1 -1
  165. package/dist/src/scales/scaleResolution.js +188 -71
  166. package/dist/src/scales/scaleResolution.test.d.ts.map +1 -1
  167. package/dist/src/selection/selection.d.ts +21 -0
  168. package/dist/src/selection/selection.d.ts.map +1 -1
  169. package/dist/src/selection/selection.js +83 -1
  170. package/dist/src/spec/channel.d.ts +52 -15
  171. package/dist/src/spec/coreSchemaRoot.d.ts +53 -0
  172. package/dist/src/spec/data.d.ts +4 -0
  173. package/dist/src/spec/parameter.d.ts +16 -11
  174. package/dist/src/spec/root.d.ts +1 -1
  175. package/dist/src/spec/testing.d.ts +12 -0
  176. package/dist/src/spec/testing.d.ts.map +1 -0
  177. package/dist/src/spec/testing.js +20 -0
  178. package/dist/src/spec/view.d.ts +157 -41
  179. package/dist/src/styles/genome-spy.css +3 -31
  180. package/dist/src/styles/genome-spy.css.d.ts +1 -1
  181. package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
  182. package/dist/src/styles/genome-spy.css.js +0 -29
  183. package/dist/src/tooltip/dataTooltipHandler.d.ts +1 -1
  184. package/dist/src/tooltip/dataTooltipHandler.js +23 -32
  185. package/dist/src/tooltip/dataTooltipHandler.test.d.ts +2 -0
  186. package/dist/src/tooltip/dataTooltipHandler.test.d.ts.map +1 -0
  187. package/dist/src/tooltip/flattenDatumRows.d.ts +13 -0
  188. package/dist/src/tooltip/flattenDatumRows.d.ts.map +1 -0
  189. package/dist/src/tooltip/flattenDatumRows.js +47 -0
  190. package/dist/src/tooltip/flattenDatumRows.test.d.ts +2 -0
  191. package/dist/src/tooltip/flattenDatumRows.test.d.ts.map +1 -0
  192. package/dist/src/tooltip/refseqGeneTooltipHandler.d.ts +1 -1
  193. package/dist/src/tooltip/refseqGeneTooltipHandler.js +7 -1
  194. package/dist/src/tooltip/tooltipContext.d.ts +13 -0
  195. package/dist/src/tooltip/tooltipContext.d.ts.map +1 -0
  196. package/dist/src/tooltip/tooltipContext.js +543 -0
  197. package/dist/src/tooltip/tooltipContext.test.d.ts +2 -0
  198. package/dist/src/tooltip/tooltipContext.test.d.ts.map +1 -0
  199. package/dist/src/tooltip/tooltipHandler.d.ts +40 -1
  200. package/dist/src/tooltip/tooltipHandler.d.ts.map +1 -1
  201. package/dist/src/tooltip/tooltipHandler.ts +62 -1
  202. package/dist/src/types/encoder.d.ts +38 -3
  203. package/dist/src/types/rendering.d.ts +4 -3
  204. package/dist/src/types/viewContext.d.ts +0 -14
  205. package/dist/src/utils/inputBinding.d.ts +10 -2
  206. package/dist/src/utils/inputBinding.d.ts.map +1 -1
  207. package/dist/src/utils/inputBinding.js +12 -3
  208. package/dist/src/utils/throttle.d.ts +4 -1
  209. package/dist/src/utils/throttle.d.ts.map +1 -1
  210. package/dist/src/utils/throttle.js +54 -23
  211. package/dist/src/utils/throttle.test.d.ts +2 -0
  212. package/dist/src/utils/throttle.test.d.ts.map +1 -0
  213. package/dist/src/utils/transition.d.ts +21 -0
  214. package/dist/src/utils/transition.d.ts.map +1 -1
  215. package/dist/src/utils/transition.js +28 -0
  216. package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
  217. package/dist/src/utils/ui/tooltip.js +7 -1
  218. package/dist/src/utils/ui/tooltip.test.d.ts +2 -0
  219. package/dist/src/utils/ui/tooltip.test.d.ts.map +1 -0
  220. package/dist/src/view/axisGridView.d.ts.map +1 -1
  221. package/dist/src/view/axisGridView.js +22 -5
  222. package/dist/src/view/axisView.d.ts.map +1 -1
  223. package/dist/src/view/axisView.js +20 -5
  224. package/dist/src/view/concatView.js +3 -3
  225. package/dist/src/view/containerMutationHelper.js +1 -1
  226. package/dist/src/view/containerView.d.ts +9 -5
  227. package/dist/src/view/containerView.d.ts.map +1 -1
  228. package/dist/src/view/containerView.js +34 -9
  229. package/dist/src/view/dataReadiness.d.ts +46 -0
  230. package/dist/src/view/dataReadiness.d.ts.map +1 -0
  231. package/dist/src/view/dataReadiness.js +267 -0
  232. package/dist/src/view/dataReadiness.test.d.ts +2 -0
  233. package/dist/src/view/dataReadiness.test.d.ts.map +1 -0
  234. package/dist/src/view/facetView.d.ts.map +1 -1
  235. package/dist/src/view/facetView.js +7 -5
  236. package/dist/src/view/flowBuilder.d.ts.map +1 -1
  237. package/dist/src/view/flowBuilder.js +17 -4
  238. package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
  239. package/dist/src/view/gridView/gridChild.js +16 -3
  240. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  241. package/dist/src/view/gridView/gridView.js +119 -2
  242. package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
  243. package/dist/src/view/gridView/scrollbar.js +3 -0
  244. package/dist/src/view/gridView/selectionRect.d.ts +6 -10
  245. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  246. package/dist/src/view/gridView/selectionRect.js +22 -24
  247. package/dist/src/view/gridView/separatorView.d.ts +51 -0
  248. package/dist/src/view/gridView/separatorView.d.ts.map +1 -0
  249. package/dist/src/view/gridView/separatorView.js +275 -0
  250. package/dist/src/view/layerView.d.ts.map +1 -1
  251. package/dist/src/view/layerView.js +7 -5
  252. package/dist/src/view/layout/flexLayout.d.ts +0 -30
  253. package/dist/src/view/layout/flexLayout.d.ts.map +1 -1
  254. package/dist/src/view/layout/flexLayout.js +0 -86
  255. package/dist/src/view/multiscale.d.ts +35 -0
  256. package/dist/src/view/multiscale.d.ts.map +1 -0
  257. package/dist/src/view/multiscale.js +233 -0
  258. package/dist/src/view/multiscale.test.d.ts +2 -0
  259. package/dist/src/view/multiscale.test.d.ts.map +1 -0
  260. package/dist/src/view/testUtils.d.ts.map +1 -1
  261. package/dist/src/view/testUtils.js +6 -1
  262. package/dist/src/view/unitView.d.ts +8 -13
  263. package/dist/src/view/unitView.d.ts.map +1 -1
  264. package/dist/src/view/unitView.js +120 -45
  265. package/dist/src/view/view.d.ts +27 -18
  266. package/dist/src/view/view.d.ts.map +1 -1
  267. package/dist/src/view/view.js +298 -37
  268. package/dist/src/view/viewFactory.d.ts +0 -12
  269. package/dist/src/view/viewFactory.d.ts.map +1 -1
  270. package/dist/src/view/viewFactory.js +55 -25
  271. package/dist/src/view/viewParamRuntime.test.d.ts +2 -0
  272. package/dist/src/view/viewParamRuntime.test.d.ts.map +1 -0
  273. package/dist/src/view/viewSelectors.d.ts +148 -0
  274. package/dist/src/view/viewSelectors.d.ts.map +1 -0
  275. package/dist/src/view/viewSelectors.js +776 -0
  276. package/dist/src/view/viewSelectors.test.d.ts +2 -0
  277. package/dist/src/view/viewSelectors.test.d.ts.map +1 -0
  278. package/dist/src/view/viewUtils.d.ts +0 -8
  279. package/dist/src/view/viewUtils.d.ts.map +1 -1
  280. package/dist/src/view/viewUtils.js +1 -21
  281. package/package.json +4 -4
  282. package/dist/src/scales/scaleDomainAggregator.d.ts.map +0 -1
  283. package/dist/src/scales/scaleDomainAggregator.test.d.ts +0 -2
  284. package/dist/src/scales/scaleDomainAggregator.test.d.ts.map +0 -1
  285. package/dist/src/spec/sampleView.d.ts +0 -197
  286. package/dist/src/view/paramMediator.d.ts +0 -149
  287. package/dist/src/view/paramMediator.d.ts.map +0 -1
  288. package/dist/src/view/paramMediator.js +0 -478
  289. package/dist/src/view/paramMediator.test.d.ts +0 -2
  290. package/dist/src/view/paramMediator.test.d.ts.map +0 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=viewSelectors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewSelectors.test.d.ts","sourceRoot":"","sources":["../../../src/view/viewSelectors.test.js"],"names":[],"mappings":""}
@@ -61,14 +61,6 @@ export function loadExternalViewSpec(spec: import("../spec/view.js").ImportSpec,
61
61
  * @param {function(View, View[]):void} visitor
62
62
  */
63
63
  export function stackifyVisitor(visitor: (arg0: View, arg1: View[]) => void): import("./view.js").Visitor;
64
- /**
65
- * Finds the descendants having the given name. The root is included in the search.
66
- *
67
- * @param {View} root
68
- * @param {string} name View name
69
- * @returns {View[]}
70
- */
71
- export function findDescendantsByPath(root: View, name: string): View[];
72
64
  /**
73
65
  *
74
66
  * @param {View} root
@@ -1 +1 @@
1
- {"version":3,"file":"viewUtils.d.ts","sourceRoot":"","sources":["../../../src/view/viewUtils.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,qCAHW,OAAO,oBAAoB,EAAE,UAAU,GAAG,OAAO,iBAAiB,EAAE,YAAY,GAC9E,IAAI,IAAI,aAAa,CAIjC;AAED;;;;GAIG;AACH,oCAHW,OAAO,oBAAoB,EAAE,aAAa,GAAG,OAAO,iBAAiB,EAAE,YAAY,GACjF,IAAI,IAAI,YAAY,CAOhC;AAED;;;GAGG;AACH,+BAFW,IAAI,6EAMd;AAED;;;;GAIG;AACH,wCAFW,IAAI,UASd;AAED;;GAEG;AACH,kDAFW,IAAI,QAiBd;AAED;;;;;;;GAOG;AACH,4CAFW,IAAI,QAUd;AAED;;;;GAIG;AACH,0DAJW,OAAO,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAC7C,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAmBzB;AAED;;;GAGG;AACH,wCAFW,IAAI;UAGO,QAAQ;aAAW,OAAO,oBAAoB,EAAE,OAAO;WAAS,OAAO,oBAAoB,EAAE,KAAK;UAAQ,OAAO,oBAAoB,EAAE,IAAI;IAqBhK;AAED;;;;;GAKG;AACH,2CALW,OAAO,iBAAiB,EAAE,UAAU,WACpC,MAAM,eACN,OAAO,yBAAyB,EAAE,OAAO,GACvC,OAAO,CAAC,OAAO,iBAAiB,EAAE,QAAQ,CAAC,CAsCvD;AAED;;GAEG;AACH,yCAFW,CAAS,IAAI,EAAJ,IAAI,EAAE,IAAM,EAAN,IAAI,EAAE,KAAE,IAAI,+BAkBrC;AAED;;;;;;GAMG;AACH,4CAJW,IAAI,QACJ,MAAM,GACJ,IAAI,EAAE,CAalB;AAED;;;GAGG;AACH,0CAFW,IAAI,eAqBd;AAED;;GAEG;AACH,8CAFW,OAAO,WAAW,EAAE,OAAO;;;EAoBrC;iBA/Q4C,WAAW;qBAFnC,eAAe"}
1
+ {"version":3,"file":"viewUtils.d.ts","sourceRoot":"","sources":["../../../src/view/viewUtils.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,qCAHW,OAAO,oBAAoB,EAAE,UAAU,GAAG,OAAO,iBAAiB,EAAE,YAAY,GAC9E,IAAI,IAAI,aAAa,CAIjC;AAED;;;;GAIG;AACH,oCAHW,OAAO,oBAAoB,EAAE,aAAa,GAAG,OAAO,iBAAiB,EAAE,YAAY,GACjF,IAAI,IAAI,YAAY,CAOhC;AAED;;;GAGG;AACH,+BAFW,IAAI,6EAMd;AAED;;;;GAIG;AACH,wCAFW,IAAI,UASd;AAED;;GAEG;AACH,kDAFW,IAAI,QAiBd;AAED;;;;;;;GAOG;AACH,4CAFW,IAAI,QAUd;AAED;;;;GAIG;AACH,0DAJW,OAAO,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAC7C,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAmBzB;AAED;;;GAGG;AACH,wCAFW,IAAI;UAGO,QAAQ;aAAW,OAAO,oBAAoB,EAAE,OAAO;WAAS,OAAO,oBAAoB,EAAE,KAAK;UAAQ,OAAO,oBAAoB,EAAE,IAAI;IAqBhK;AAED;;;;;GAKG;AACH,2CALW,OAAO,iBAAiB,EAAE,UAAU,WACpC,MAAM,eACN,OAAO,yBAAyB,EAAE,OAAO,GACvC,OAAO,CAAC,OAAO,iBAAiB,EAAE,QAAQ,CAAC,CAsCvD;AAED;;GAEG;AACH,yCAFW,CAAS,IAAI,EAAJ,IAAI,EAAE,IAAM,EAAN,IAAI,EAAE,KAAE,IAAI,+BAkBrC;AAED;;;GAGG;AACH,0CAFW,IAAI,eAqBd;AAED;;GAEG;AACH,8CAFW,OAAO,WAAW,EAAE,OAAO;;;EAoBrC;iBA3P4C,WAAW;qBAFnC,eAAe"}
@@ -126,7 +126,7 @@ export function findEncodedFields(view) {
126
126
  if (view instanceof UnitView) {
127
127
  const encoding = view.getEncoding();
128
128
  for (const [channel, def] of Object.entries(encoding)) {
129
- if (isFieldDef(def) && "type" in def) {
129
+ if (!Array.isArray(def) && isFieldDef(def) && "type" in def) {
130
130
  fieldInfos.push({
131
131
  view,
132
132
  channel,
@@ -207,26 +207,6 @@ export function stackifyVisitor(visitor) {
207
207
  return stackified;
208
208
  }
209
209
 
210
- /**
211
- * Finds the descendants having the given name. The root is included in the search.
212
- *
213
- * @param {View} root
214
- * @param {string} name View name
215
- * @returns {View[]}
216
- */
217
- export function findDescendantsByPath(root, name) {
218
- /** @type {View[]} */
219
- const descendants = [];
220
-
221
- root.visit((view) => {
222
- if (view.name == name) {
223
- descendants.push(view);
224
- }
225
- });
226
-
227
- return descendants;
228
- }
229
-
230
210
  /**
231
211
  *
232
212
  * @param {View} root
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "contributors": [],
9
9
  "license": "MIT",
10
- "version": "0.67.0",
10
+ "version": "0.69.0",
11
11
  "jsdelivr": "dist/bundle/index.js",
12
12
  "unpkg": "dist/bundle/index.js",
13
13
  "browser": "dist/bundle/index.js",
@@ -30,7 +30,7 @@
30
30
  "build": "rm -rf dist && mkdir -p dist && node scripts/build.mjs && vite build && npm run build:schema && npm run build:typings",
31
31
  "prepublishOnly": "npm run build",
32
32
  "test:tsc": "tsc -p tsconfig.json --noEmit",
33
- "build:schema": "mkdir -p dist && ts-json-schema-generator --path 'src/spec/*.ts' --type RootSpec > dist/schema.json",
33
+ "build:schema": "mkdir -p dist && ts-json-schema-generator --path 'src/spec/*.ts' --type CoreRootSpec > dist/schema.json",
34
34
  "build:typings": "tsc -p tsconfig.json --declaration --emitDeclarationOnly --declarationMap --outDir dist/src",
35
35
  "prepack": "node scripts/prepack.mjs",
36
36
  "postpack": "node scripts/postpack.mjs"
@@ -53,7 +53,7 @@
53
53
  "d3-ease": "^3.0.1",
54
54
  "d3-format": "^3.1.0",
55
55
  "events": "^3.3.0",
56
- "flatqueue": "^2.0.3",
56
+ "flatqueue": "^3.0.0",
57
57
  "generic-filehandle2": "^2.0.14",
58
58
  "gff-nostream": "^2.0.0",
59
59
  "internmap": "^2.0.3",
@@ -67,5 +67,5 @@
67
67
  "devDependencies": {
68
68
  "@types/long": "^4.0.1"
69
69
  },
70
- "gitHead": "d53259ccca6238261bbb49255a828bb7d4c575a0"
70
+ "gitHead": "bfb9bd98ceb875f90a458b876208b15b6c12c9f3"
71
71
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"scaleDomainAggregator.d.ts","sourceRoot":"","sources":["../../../src/scales/scaleDomainAggregator.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH;IAgBI;;;;;;OAMG;IACH,0EALG;QAAkD,UAAU,EAApD,MAAM,GAAG,CAAC,qBAAqB,CAAC;QACiB,OAAO,EAAxD,MAAM,OAAO,oBAAoB,EAAE,IAAI;QACf,cAAc,EAAtC,MAAM,MAAM,EAAE;QACgD,mBAAmB,EAAjF,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,KAAK,MAAM,EAAE;KAC9D,EAMA;IAED;;OAEG;IACH,6BAFa,GAAG,EAAE,CAIjB;IAED,+BAEC;IAED;;;;;OAKG;IACH,iDAHW,OAAO,GACL,GAAG,EAAE,CAYjB;IAED;;;;OAIG;IACH,uBAFY,WAAW,CAOtB;IAED;;;;OAIG;IACH,iBAFY,WAAW,GAAG,SAAS,CAIlC;IAED;;;;OAIG;IACH,4BAJW,OAAO,qBAAqB,EAAE,SAAS,wBACvC,OAAO,GACL,OAAO,CAgBnB;;CACJ;0BA1GY,OAAO,yBAAyB,EAAE,WAAW;4BAC7C,OAAO,kBAAkB,EAAE,aAAa;2BACxC,OAAO,kBAAkB,EAAE,YAAY;oCACvC,OAAO,sBAAsB,EAAE,qBAAqB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=scaleDomainAggregator.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scaleDomainAggregator.test.d.ts","sourceRoot":"","sources":["../../../src/scales/scaleDomainAggregator.test.js"],"names":[],"mappings":""}
@@ -1,197 +0,0 @@
1
- import { Data } from "./data.js";
2
- import { Align, FontStyle, FontWeight } from "./font.js";
3
- import { Scale } from "./scale.js";
4
- import { LayerSpec, UnitSpec, ViewSpecBase, ViewBackground } from "./view.js";
5
-
6
- // TODO: Figure out how this could be moved to the app package and excluded
7
- // from the core package.
8
-
9
- /**
10
- * A view specification for a SampleView.
11
- * This is only functional in the GenomeSpy app.
12
- */
13
- export interface SampleSpec extends ViewSpecBase {
14
- /**
15
- * Sample metadata definition.
16
- * If the object is empty, the sample identifiers will be inferred from the data.
17
- */
18
- samples: SampleDef;
19
-
20
- /**
21
- * An object defining the view background and outline. The background is
22
- * repeated for each group.
23
- */
24
- view?: ViewBackground;
25
- /**
26
- * The view specification to be repeated for each sample.
27
- */
28
- spec: LayerSpec | UnitSpec;
29
-
30
- stickySummaries?: boolean;
31
- }
32
-
33
- export type SampleAttributeType = "nominal" | "ordinal" | "quantitative";
34
-
35
- export interface SampleAttributeDef {
36
- /**
37
- * The attribute type. One of `"nominal"`, `"ordinal"`, or `"quantitative"`.
38
- */
39
- type?: SampleAttributeType;
40
-
41
- /**
42
- * Scale definition for the (default) color channel
43
- */
44
- scale?: Scale;
45
-
46
- /**
47
- * An optional scale definition for mapping the attribute to
48
- * the width of a metadata rectangle.
49
- */
50
- barScale?: Scale;
51
-
52
- /**
53
- * Width of the column in pixels.
54
- */
55
- width?: number;
56
-
57
- /**
58
- * Whether the attribute is visible by default.
59
- */
60
- visible?: boolean;
61
-
62
- /**
63
- * The title of the attribute. Defaults to attribute name.
64
- */
65
- title?: string;
66
- }
67
-
68
- export interface SampleDef {
69
- /**
70
- * Optional metadata about the samples.
71
- */
72
- data?: Data;
73
-
74
- /**
75
- * If attributes form a hierarchy, specify the separator character to
76
- * split the attribute names into paths.
77
- */
78
- attributeGroupSeparator?: string;
79
-
80
- /**
81
- * Explicitly specify the sample attributes.
82
- */
83
- attributes?: Record<string, SampleAttributeDef>;
84
-
85
- /**
86
- * Text in the label title
87
- *
88
- * **Default:** `"Sample name"`
89
- */
90
- labelTitleText?: string;
91
-
92
- /**
93
- * How much space in pixels to reserve for the labels.
94
- *
95
- * **Default:** `140`
96
- */
97
- labelLength?: number;
98
-
99
- /**
100
- * The font typeface. GenomeSpy uses [SDF](https://github.com/Chlumsky/msdfgen)
101
- * versions of [Google Fonts](https://fonts.google.com/). Check their
102
- * availability at the [A-Frame
103
- * Fonts](https://github.com/etiennepinchon/aframe-fonts/tree/master/fonts)
104
- * repository. System fonts are **not** supported.
105
- *
106
- * **Default value:** `"Lato"`
107
- */
108
- labelFont?: string;
109
-
110
- /**
111
- * The font style. Valid values: `"normal"` and `"italic"`.
112
- *
113
- * **Default value:** `"normal"`
114
- */
115
- labelFontStyle?: FontStyle;
116
-
117
- /**
118
- * The font weight. The following strings and numbers are valid values:
119
- * `"thin"` (`100`), `"light"` (`300`), `"regular"` (`400`),
120
- * `"normal"` (`400`), `"medium"` (`500`), `"bold"` (`700`),
121
- * `"black"` (`900`)
122
- *
123
- * **Default value:** `"regular"`
124
- */
125
- labelFontWeight?: FontWeight;
126
-
127
- /**
128
- * The font size in pixels.
129
- *
130
- * **Default value:** `11`
131
- */
132
- labelFontSize?: number;
133
-
134
- /**
135
- * The horizontal alignment of the text. One of `"left"`, `"center"`, or `"right"`.
136
- *
137
- * **Default value:** `"left"`
138
- */
139
- labelAlign?: Align;
140
-
141
- /**
142
- * Default size (width) of the metadata attribute columns.
143
- * Can be configured per attribute using the `attributes` property.
144
- *
145
- * **Default value:** `10`
146
- */
147
- attributeSize?: number;
148
-
149
- /**
150
- * The font typeface. GenomeSpy uses [SDF](https://github.com/Chlumsky/msdfgen)
151
- * versions of [Google Fonts](https://fonts.google.com/). Check their
152
- * availability at the [A-Frame
153
- * Fonts](https://github.com/etiennepinchon/aframe-fonts/tree/master/fonts)
154
- * repository. System fonts are **not** supported.
155
- *
156
- * **Default value:** `"Lato"`
157
- */
158
- attributeLabelFont?: string;
159
-
160
- /**
161
- * The font style. Valid values: `"normal"` and `"italic"`.
162
- *
163
- * **Default value:** `"normal"`
164
- */
165
- attributeLabelFontStyle?: FontStyle;
166
-
167
- /**
168
- * The font weight. The following strings and numbers are valid values:
169
- * `"thin"` (`100`), `"light"` (`300`), `"regular"` (`400`),
170
- * `"normal"` (`400`), `"medium"` (`500`), `"bold"` (`700`),
171
- * `"black"` (`900`)
172
- *
173
- * **Default value:** `"regular"`
174
- */
175
- attributeLabelFontWeight?: FontWeight;
176
-
177
- /**
178
- * The font size in pixels.
179
- *
180
- * **Default value:** `11`
181
- */
182
- attributeLabelFontSize?: number;
183
-
184
- /**
185
- * Angle to be added to the default label angle (-90).
186
- *
187
- * **Default value:** `0`
188
- */
189
- attributeLabelAngle?: number;
190
-
191
- /**
192
- * Spacing between attribute columns in pixels.
193
- *
194
- * **Default value:** `1`
195
- */
196
- attributeSpacing?: number;
197
- }
@@ -1,149 +0,0 @@
1
- /**
2
- * @param {any} x
3
- * @returns {x is import("../spec/parameter.js").ExprRef}
4
- */
5
- export function isExprRef(x: any): x is import("../spec/parameter.js").ExprRef;
6
- /**
7
- * Removes ExprRef from the type and checks that the value is not an ExprRef.
8
- * This is designed to be used with `activateExprRefProps`.
9
- *
10
- * @param {T | import("../spec/parameter.js").ExprRef} x
11
- * @template T
12
- * @returns {T}
13
- */
14
- export function withoutExprRef<T>(x: T | import("../spec/parameter.js").ExprRef): T;
15
- /**
16
- * @param {Parameter} param
17
- * @returns {param is import("../spec/parameter.js").VariableParameter}
18
- */
19
- export function isVariableParameter(param: import("../spec/parameter.js").Parameter): param is import("../spec/parameter.js").VariableParameter;
20
- /**
21
- * @param {Parameter} param
22
- * @returns {param is import("../spec/parameter.js").SelectionParameter}
23
- */
24
- export function isSelectionParameter(param: import("../spec/parameter.js").Parameter): param is import("../spec/parameter.js").SelectionParameter;
25
- /**
26
- * Takes a record of properties that may have ExprRefs as values. Converts the
27
- * ExprRefs to getters and setups a listener that is called when any of the
28
- * expressions (upstream parameters) change.
29
- *
30
- * @param {ParamMediator} paramMediator
31
- * @param {T} props The properties object
32
- * @param {(props: (keyof T)[]) => void} [listener] Listener to be called when any of the expressions change
33
- * @returns T
34
- * @template {Record<string, any | import("../spec/parameter.js").ExprRef>} T
35
- */
36
- export function activateExprRefProps<T extends Record<string, any | import("../spec/parameter.js").ExprRef>>(paramMediator: ParamMediator, props: T, listener?: (props: (keyof T)[]) => void): T;
37
- /**
38
- * Validates a parameter name. If the name is invalid, throws an error.
39
- * Otherwise, returns the name.
40
- *
41
- * @param {string} name
42
- * @returns {string} the name
43
- */
44
- export function validateParameterName(name: string): string;
45
- /**
46
- * Creates a function that always returns the same value.
47
- * Provides functionality for creating a constant expression reference.
48
- * They just do nothing.
49
- *
50
- * @param {any} value
51
- * @returns {ExprRefFunction}
52
- */
53
- export function makeConstantExprRef(value: any): ExprRefFunction;
54
- /**
55
- * A class that manages parameters and expressions.
56
- * Supports nesting and scoped parameters.
57
- *
58
- * TODO: The proposed JavaScript signals may provide a better way to implement this.
59
- * https://github.com/proposal-signals/proposal-signals
60
- *
61
- * @typedef {import("../utils/expression.js").ExpressionFunction & { addListener: (listener: () => void) => void, removeListener: (listener: () => void) => void, invalidate: () => void, identifier: () => string}} ExprRefFunction
62
- */
63
- export default class ParamMediator {
64
- /**
65
- * @param {() => ParamMediator} [parentFinder]
66
- * An optional function that returns the parent mediator.
67
- * N.B. The function must always return the same mediator for the same parent,
68
- * i.e., the changing the structure of the hierarchy is NOT supported.
69
- */
70
- constructor(parentFinder?: () => ParamMediator);
71
- /**
72
- * @type {Map<string, Set<() => void>>}
73
- * @protected
74
- */
75
- protected paramListeners: Map<string, Set<() => void>>;
76
- /**
77
- * @param {Parameter} param
78
- * @returns {ParameterSetter}
79
- */
80
- registerParam(param: import("../spec/parameter.js").Parameter): (value: any) => void;
81
- /**
82
- *
83
- * @param {string} paramName
84
- * @param {T} initialValue
85
- * @param {boolean} [passive] If true, the setter will not notify listeners when the value changes.
86
- * @returns {(value: T) => void}
87
- * @template T
88
- */
89
- allocateSetter<T>(paramName: string, initialValue: T, passive?: boolean): (value: T) => void;
90
- /**
91
- * Gets an existing setter for a parameter. Throws if the setter is not found.
92
- * @param {string} paramName
93
- */
94
- getSetter(paramName: string): (value: any) => void;
95
- /**
96
- * Get the value of a parameter from this mediator.
97
- * @param {string} paramName
98
- */
99
- getValue(paramName: string): any;
100
- /**
101
- * Get the value of a parameter from this mediator or the ancestors.
102
- * @param {string} paramName
103
- */
104
- findValue(paramName: string): any;
105
- /**
106
- * Returns configs for all parameters that have been registered using `registerParam`.
107
- */
108
- get paramConfigs(): ReadonlyMap<string, import("../spec/parameter.js").Parameter>;
109
- /**
110
- *
111
- * @param {string} paramName
112
- * @returns {ParamMediator}
113
- */
114
- findMediatorForParam(paramName: string): ParamMediator;
115
- /**
116
- * Parse expr and return a function that returns the value of the parameter.
117
- *
118
- * @param {string} expr
119
- */
120
- createExpression(expr: string): ExprRefFunction;
121
- /**
122
- * A convenience method for evaluating an expression.
123
- *
124
- * @param {string} expr
125
- */
126
- evaluateAndGet(expr: string): any;
127
- /**
128
- * Returns true if this ParamMediator has any parameters that are point selections.
129
- * Point selections necessitate the use of uniqueIds in the data.
130
- *
131
- * @returns {boolean}
132
- */
133
- hasPointSelections(): boolean;
134
- #private;
135
- }
136
- /**
137
- * A class that manages parameters and expressions.
138
- * Supports nesting and scoped parameters.
139
- *
140
- * TODO: The proposed JavaScript signals may provide a better way to implement this.
141
- * https://github.com/proposal-signals/proposal-signals
142
- */
143
- export type ExprRefFunction = import("../utils/expression.js").ExpressionFunction & {
144
- addListener: (listener: () => void) => void;
145
- removeListener: (listener: () => void) => void;
146
- invalidate: () => void;
147
- identifier: () => string;
148
- };
149
- //# sourceMappingURL=paramMediator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paramMediator.d.ts","sourceRoot":"","sources":["../../../src/view/paramMediator.js"],"names":[],"mappings":"AA8VA;;;GAGG;AACH,6BAHW,GAAG,GACD,CAAC,IAAI,OAAO,sBAAsB,EAAE,OAAO,CAIvD;AAED;;;;;;;GAOG;AACH,+BAHa,CAAC,KADH,CAAC,GAAG,OAAO,sBAAsB,EAAE,OAAO,GAExC,CAAC,CAWb;AAED;;;GAGG;AACH,sFAFa,KAAK,IAAI,OAAO,sBAAsB,EAAE,iBAAiB,CAIrE;AAED;;;GAGG;AACH,uFAFa,KAAK,IAAI,OAAO,sBAAsB,EAAE,kBAAkB,CAItE;AAED;;;;;;;;;;GAUG;AACH,qCAF4E,CAAC,SAA/D,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,sBAAsB,EAAE,OAAO,CAAE,iBAJhE,aAAa,SACb,CAAC,aACD,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,IAAI,GAuCjB,CAAC,CACtB;AAED;;;;;;GAMG;AACH,4CAHW,MAAM,GACJ,MAAM,CAUlB;AAED;;;;;;;GAOG;AACH,2CAHW,GAAG,GACD,eAAe,CAY3B;AAldD;;;;;;;;GAQG;AACH;IA2BI;;;;;OAKG;IACH,2BALW,MAAM,aAAa,EAU7B;IA7BD;;;OAGG;IACH,0BAHU,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAGvB;IA2Bf;;;OAGG;IACH,wEAzCqB,GAAG,KAAK,IAAI,CA2GhC;IAED;;;;;;;OAOG;IACH,eAFa,CAAC,aAJH,MAAM,gBACN,CAAC,YACD,OAAO,GACL,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAgC9B;IAED;;;OAGG;IACH,qBAFW,MAAM,WA1Ic,GAAG,KAAK,IAAI,CAkJ1C;IAED;;;OAGG;IACH,oBAFW,MAAM,OAIhB;IAED;;;OAGG;IACH,qBAFW,MAAM,OAKhB;IAED;;OAEG;IACH,oBACsB,WAAW,CAAC,MAAM,2CAAY,CAGnD;IAED;;;;OAIG;IACH,gCAHW,MAAM,GACJ,aAAa,CAQzB;IAID;;;;OAIG;IACH,uBAFW,MAAM,mBAuFhB;IAED;;;;OAIG;IACH,qBAFW,MAAM,OAKhB;IAED;;;;;OAKG;IACH,sBAFa,OAAO,CAiBnB;;CACJ;;;;;;;;8BA1UY,OAAO,wBAAwB,EAAE,kBAAkB,GAAG;IAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,MAAM,CAAA;CAAC"}