@jbrowse/core 4.3.0 → 5.0.0-beta.2

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 (1140) hide show
  1. package/README.md +822 -0
  2. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +13 -3
  3. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +33 -22
  4. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +8 -3
  5. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +117 -19
  6. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -8
  7. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -4
  8. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
  9. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +2 -2
  10. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +1 -1
  11. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -4
  12. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +1 -1
  13. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +12 -5
  14. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
  15. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +28 -17
  16. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +1 -1
  17. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +19 -40
  18. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +6 -4
  19. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +46 -30
  20. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +20 -0
  21. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +66 -0
  22. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
  23. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +2 -2
  24. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -0
  25. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +17 -0
  26. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
  27. package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +3 -9
  28. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
  29. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +3 -3
  30. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
  31. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +7 -14
  32. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +2 -1
  33. package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +19 -13
  34. package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +5 -4
  35. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +8 -1
  36. package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +32 -10
  37. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +18 -0
  38. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +10 -0
  39. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.d.ts +7 -4
  40. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +62 -24
  41. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +10 -5
  42. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +64 -41
  43. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +1 -1
  44. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +17 -8
  45. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +6 -0
  46. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +19 -0
  47. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.d.ts +5 -4
  48. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +15 -18
  49. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +1 -1
  50. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +33 -17
  51. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.d.ts +3 -3
  52. package/esm/BaseFeatureWidget/SequenceFeatureDetails/consts.js +7 -3
  53. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +11 -0
  54. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +29 -0
  55. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +1 -1
  56. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -6
  57. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +18 -6
  58. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +11 -29
  59. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +9 -2
  60. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +63 -58
  61. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +7 -3
  62. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +38 -51
  63. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
  64. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +19 -27
  65. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +6 -0
  66. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +18 -0
  67. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +12 -0
  68. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +97 -0
  69. package/esm/BaseFeatureWidget/SequenceFeatureDetails/index.js +1 -1
  70. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +50 -63
  71. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +62 -59
  72. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.d.ts +21 -0
  73. package/esm/BaseFeatureWidget/SequenceFeatureDetails/panelAssemblyName.js +24 -0
  74. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +5 -3
  75. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +93 -75
  76. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +1 -1
  77. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +4 -11
  78. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +5 -2
  79. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +21 -48
  80. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.d.ts +8 -0
  81. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/PlainSequence.js +20 -0
  82. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +6 -3
  83. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +33 -13
  84. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +7 -4
  85. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +67 -11
  86. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.d.ts +14 -0
  87. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/renderSequenceSegments.js +42 -0
  88. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +1 -1
  89. package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +7 -7
  90. package/esm/BaseFeatureWidget/SequenceFeatureDetails/types.d.ts +8 -1
  91. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.d.ts +9 -9
  92. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +28 -44
  93. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.d.ts +23 -0
  94. package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceFetch.js +31 -0
  95. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +90 -1
  96. package/esm/BaseFeatureWidget/SequenceFeatureDetails/util.js +145 -23
  97. package/esm/BaseFeatureWidget/configSchema.js +1 -1
  98. package/esm/BaseFeatureWidget/formatDetails.d.ts +38 -0
  99. package/esm/BaseFeatureWidget/formatDetails.js +103 -0
  100. package/esm/BaseFeatureWidget/index.d.ts +3 -1
  101. package/esm/BaseFeatureWidget/index.js +2 -2
  102. package/esm/BaseFeatureWidget/stateModelFactory.d.ts +80 -62
  103. package/esm/BaseFeatureWidget/stateModelFactory.js +128 -29
  104. package/esm/BaseFeatureWidget/types.d.ts +4 -3
  105. package/esm/BaseFeatureWidget/util.d.ts +4 -29
  106. package/esm/BaseFeatureWidget/util.js +20 -84
  107. package/esm/CorePlugin.js +11 -6
  108. package/esm/PhasedScheduler.d.ts +4 -2
  109. package/esm/PhasedScheduler.js +18 -2
  110. package/esm/Plugin.d.ts +6 -1
  111. package/esm/Plugin.js +7 -0
  112. package/esm/PluginLoader.d.ts +41 -40
  113. package/esm/PluginLoader.js +206 -78
  114. package/esm/PluginManager.d.ts +421 -55
  115. package/esm/PluginManager.js +461 -89
  116. package/esm/ReExports/BaseFeatureDetails.js +7 -6
  117. package/esm/ReExports/MuiDataGridReExports.d.ts +2 -2
  118. package/esm/ReExports/MuiDataGridReExports.js +58 -130
  119. package/esm/ReExports/MuiReExports.d.ts +3 -134
  120. package/esm/ReExports/MuiReExports.js +43 -16
  121. package/esm/ReExports/MuiStylesReExports.d.ts +66 -0
  122. package/esm/ReExports/MuiStylesReExports.js +55 -0
  123. package/esm/ReExports/index.js +1 -1
  124. package/esm/ReExports/lazify.d.ts +2 -2
  125. package/esm/ReExports/lazify.js +16 -3
  126. package/esm/ReExports/list.js +54 -229
  127. package/esm/ReExports/modules.js +62 -93
  128. package/esm/ReExports/muiComponentNames.d.ts +18 -0
  129. package/esm/ReExports/muiComponentNames.js +130 -0
  130. package/esm/ReExports/publicUtil.d.ts +1 -0
  131. package/esm/ReExports/publicUtil.js +28 -0
  132. package/esm/ReExports/registry.d.ts +2 -0
  133. package/esm/ReExports/registry.js +28 -0
  134. package/esm/ReExports/sharedModules.d.ts +96 -0
  135. package/esm/ReExports/sharedModules.js +59 -0
  136. package/esm/ReExports/uiStub.d.ts +1 -0
  137. package/esm/ReExports/uiStub.js +13 -0
  138. package/esm/ReExports/workerModules.d.ts +2 -0
  139. package/esm/ReExports/workerModules.js +10 -0
  140. package/esm/TextSearch/BaseResults.d.ts +20 -21
  141. package/esm/TextSearch/BaseResults.js +8 -33
  142. package/esm/TextSearch/TextSearchManager.d.ts +14 -34
  143. package/esm/TextSearch/TextSearchManager.js +87 -34
  144. package/esm/assemblyManager/assembly.d.ts +307 -34
  145. package/esm/assemblyManager/assembly.js +551 -262
  146. package/esm/assemblyManager/assemblyAdapters.d.ts +12 -0
  147. package/esm/assemblyManager/assemblyAdapters.js +18 -0
  148. package/esm/assemblyManager/assemblyConfigSchema.d.ts +192 -17
  149. package/esm/assemblyManager/assemblyConfigSchema.js +213 -19
  150. package/esm/assemblyManager/assemblyManager.d.ts +711 -303
  151. package/esm/assemblyManager/assemblyManager.js +351 -46
  152. package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +32 -0
  153. package/esm/assemblyManager/expandAssemblyConfigShorthand.js +85 -0
  154. package/esm/assemblyManager/geneticCodes.d.ts +21 -0
  155. package/esm/assemblyManager/geneticCodes.js +47 -0
  156. package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +9 -0
  157. package/esm/assemblyManager/getSequenceAdapterConfig.js +12 -0
  158. package/esm/assemblyManager/index.d.ts +1 -1
  159. package/esm/assemblyManager/index.js +2 -2
  160. package/esm/assemblyManager/loadRefNameMap.d.ts +5 -0
  161. package/esm/assemblyManager/loadRefNameMap.js +80 -0
  162. package/esm/assemblyManager/refNameColors.d.ts +1 -0
  163. package/esm/assemblyManager/refNameColors.js +32 -0
  164. package/esm/assemblyManager/refNameMaps.d.ts +26 -0
  165. package/esm/assemblyManager/refNameMaps.js +87 -0
  166. package/esm/assemblyManager/refNameMismatch.d.ts +54 -0
  167. package/esm/assemblyManager/refNameMismatch.js +66 -0
  168. package/esm/checkPlugins.d.ts +11 -0
  169. package/esm/checkPlugins.js +77 -0
  170. package/esm/configuration/configurationSchema.d.ts +122 -20
  171. package/esm/configuration/configurationSchema.js +374 -140
  172. package/esm/configuration/configurationSlot.d.ts +283 -30
  173. package/esm/configuration/configurationSlot.js +205 -226
  174. package/esm/configuration/formatAboutConfigSchema.d.ts +55 -0
  175. package/esm/configuration/formatAboutConfigSchema.js +58 -0
  176. package/esm/configuration/formatDetailsConfigSchema.d.ts +80 -0
  177. package/esm/configuration/formatDetailsConfigSchema.js +90 -0
  178. package/esm/configuration/fullConfSnapshot.d.ts +28 -0
  179. package/esm/configuration/fullConfSnapshot.js +66 -0
  180. package/esm/configuration/getConf.d.ts +88 -0
  181. package/esm/configuration/getConf.js +74 -0
  182. package/esm/configuration/index.d.ts +19 -3
  183. package/esm/configuration/index.js +19 -2
  184. package/esm/configuration/mergeFormatCallbacks.d.ts +15 -0
  185. package/esm/configuration/mergeFormatCallbacks.js +24 -0
  186. package/esm/configuration/promotableDefaults.d.ts +199 -0
  187. package/esm/configuration/promotableDefaults.js +332 -0
  188. package/esm/configuration/promotablePin.d.ts +55 -0
  189. package/esm/configuration/promotableResolve.d.ts +108 -0
  190. package/esm/configuration/promotableResolve.js +117 -0
  191. package/esm/configuration/promotableSlots.d.ts +12 -0
  192. package/esm/configuration/promotableSlots.js +45 -0
  193. package/esm/configuration/readConfObject.d.ts +56 -0
  194. package/esm/configuration/readConfObject.js +161 -0
  195. package/esm/configuration/schemaRegistry.d.ts +35 -0
  196. package/esm/configuration/schemaRegistry.js +50 -0
  197. package/esm/configuration/schemaTypes.d.ts +23 -0
  198. package/esm/configuration/schemaTypes.js +94 -0
  199. package/esm/configuration/slotFacade.d.ts +82 -0
  200. package/esm/configuration/slotFacade.js +89 -0
  201. package/esm/configuration/slotShape.d.ts +12 -0
  202. package/esm/configuration/slotShape.js +84 -0
  203. package/esm/configuration/slotValueUtils.d.ts +17 -0
  204. package/esm/configuration/slotValueUtils.js +25 -0
  205. package/esm/configuration/tabixIndexFields.d.ts +44 -0
  206. package/esm/configuration/tabixIndexFields.js +45 -0
  207. package/esm/configuration/tabixShorthand.d.ts +34 -0
  208. package/esm/configuration/tabixShorthand.js +45 -0
  209. package/esm/configuration/types.d.ts +170 -7
  210. package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +24 -10
  211. package/esm/data_adapters/BaseAdapter/BaseAdapter.js +23 -15
  212. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +132 -7
  213. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +136 -25
  214. package/esm/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +1 -0
  215. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -5
  216. package/esm/data_adapters/BaseAdapter/BaseSequenceAdapter.js +9 -7
  217. package/esm/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +2 -1
  218. package/esm/data_adapters/BaseAdapter/CytobandAdapter.d.ts +7 -0
  219. package/esm/data_adapters/BaseAdapter/RegionsAdapter.d.ts +2 -1
  220. package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +29 -0
  221. package/esm/data_adapters/BaseAdapter/featureDensity.js +17 -0
  222. package/esm/data_adapters/BaseAdapter/getAdapterId.d.ts +2 -0
  223. package/esm/data_adapters/BaseAdapter/getAdapterId.js +9 -0
  224. package/esm/data_adapters/BaseAdapter/index.d.ts +7 -4
  225. package/esm/data_adapters/BaseAdapter/index.js +6 -5
  226. package/esm/data_adapters/BaseAdapter/stats.d.ts +37 -5
  227. package/esm/data_adapters/BaseAdapter/stats.js +89 -24
  228. package/esm/data_adapters/BaseAdapter/types.d.ts +11 -8
  229. package/esm/data_adapters/BaseAdapter/types.js +1 -0
  230. package/esm/data_adapters/BaseAdapter/util.d.ts +5 -1
  231. package/esm/data_adapters/BaseAdapter/util.js +14 -3
  232. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
  233. package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +4 -4
  234. package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +36 -4
  235. package/esm/data_adapters/CytobandAdapter/configSchema.js +46 -2
  236. package/esm/data_adapters/CytobandAdapter/index.js +3 -3
  237. package/esm/data_adapters/adapterSessionRefcount.d.ts +61 -0
  238. package/esm/data_adapters/adapterSessionRefcount.js +96 -0
  239. package/esm/data_adapters/dataAdapterCache.d.ts +35 -1
  240. package/esm/data_adapters/dataAdapterCache.js +62 -22
  241. package/esm/data_adapters/getFeatureAdapter.d.ts +22 -0
  242. package/esm/data_adapters/getFeatureAdapter.js +27 -0
  243. package/esm/data_adapters/getSequenceSubAdapter.d.ts +21 -0
  244. package/esm/data_adapters/getSequenceSubAdapter.js +44 -0
  245. package/esm/pluggableElementTypes/AdapterType.d.ts +52 -2
  246. package/esm/pluggableElementTypes/AdapterType.js +44 -5
  247. package/esm/pluggableElementTypes/AddTrackWorkflowType.d.ts +6 -1
  248. package/esm/pluggableElementTypes/AddTrackWorkflowType.js +3 -1
  249. package/esm/pluggableElementTypes/ConnectionType.d.ts +5 -5
  250. package/esm/pluggableElementTypes/ConnectionType.js +1 -1
  251. package/esm/pluggableElementTypes/DisplayType.d.ts +19 -10
  252. package/esm/pluggableElementTypes/DisplayType.js +53 -5
  253. package/esm/pluggableElementTypes/InternetAccountType.js +1 -1
  254. package/esm/pluggableElementTypes/PluggableElementBase.d.ts +13 -0
  255. package/esm/pluggableElementTypes/PluggableElementBase.js +13 -0
  256. package/esm/pluggableElementTypes/RpcMethodType.d.ts +132 -12
  257. package/esm/pluggableElementTypes/RpcMethodType.js +263 -98
  258. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +19 -9
  259. package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +26 -20
  260. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.d.ts +5 -0
  261. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegion.js +18 -0
  262. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.d.ts +5 -0
  263. package/esm/pluggableElementTypes/RpcMethodTypeWithRenameRegions.js +10 -0
  264. package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +3 -3
  265. package/esm/pluggableElementTypes/TextSearchAdapterType.js +3 -1
  266. package/esm/pluggableElementTypes/TrackType.d.ts +2 -1
  267. package/esm/pluggableElementTypes/TrackType.js +1 -1
  268. package/esm/pluggableElementTypes/ViewType.d.ts +27 -3
  269. package/esm/pluggableElementTypes/ViewType.js +84 -4
  270. package/esm/pluggableElementTypes/WidgetType.d.ts +2 -2
  271. package/esm/pluggableElementTypes/WidgetType.js +1 -1
  272. package/esm/pluggableElementTypes/addMenuItems.d.ts +87 -0
  273. package/esm/pluggableElementTypes/addMenuItems.js +82 -0
  274. package/esm/pluggableElementTypes/extendElementType.d.ts +30 -0
  275. package/esm/pluggableElementTypes/extendElementType.js +73 -0
  276. package/esm/pluggableElementTypes/index.d.ts +7 -7
  277. package/esm/pluggableElementTypes/index.js +24 -14
  278. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +70 -15
  279. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +90 -10
  280. package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +646 -84
  281. package/esm/pluggableElementTypes/models/BaseDisplayModel.js +241 -60
  282. package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +216 -35
  283. package/esm/pluggableElementTypes/models/BaseTrackModel.js +365 -83
  284. package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +216 -16
  285. package/esm/pluggableElementTypes/models/BaseViewModel.js +150 -16
  286. package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +51 -0
  287. package/esm/pluggableElementTypes/models/HighlightsMixin.js +78 -0
  288. package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +163 -29
  289. package/esm/pluggableElementTypes/models/InternetAccountModel.js +218 -48
  290. package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +177 -0
  291. package/esm/pluggableElementTypes/models/assertDisplayContract.js +239 -0
  292. package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -8
  293. package/esm/pluggableElementTypes/models/baseConnectionConfig.js +18 -2
  294. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +39 -20
  295. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +23 -2
  296. package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +181 -65
  297. package/esm/pluggableElementTypes/models/baseTrackConfig.js +191 -89
  298. package/esm/pluggableElementTypes/models/components/SaveTrackData.d.ts +3 -8
  299. package/esm/pluggableElementTypes/models/components/SaveTrackData.js +113 -139
  300. package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +55 -0
  301. package/esm/pluggableElementTypes/models/components/fetchTrackData.js +83 -0
  302. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +40 -0
  303. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +115 -0
  304. package/esm/pluggableElementTypes/models/index.d.ts +6 -3
  305. package/esm/pluggableElementTypes/models/index.js +10 -8
  306. package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +34 -0
  307. package/esm/pluggableElementTypes/models/migrateTrackConfig.js +54 -0
  308. package/esm/pluggableElementTypes/models/saveTrackFileTypes/bed.js +75 -7
  309. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +9 -3
  310. package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +153 -103
  311. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.d.ts +6 -1
  312. package/esm/pluggableElementTypes/models/saveTrackFileTypes/gff3.js +70 -74
  313. package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +9 -1
  314. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.d.ts +21 -0
  315. package/esm/pluggableElementTypes/models/saveTrackFileTypes/util.js +51 -0
  316. package/esm/pluggableElementTypes/models/uriMatchesDomains.d.ts +29 -0
  317. package/esm/pluggableElementTypes/models/uriMatchesDomains.js +62 -0
  318. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.d.ts +5 -4
  319. package/esm/pluggableElementTypes/renderers/util/serializableFilterChain.js +20 -10
  320. package/esm/pluginDefinitions.d.ts +198 -0
  321. package/esm/pluginDefinitions.js +220 -0
  322. package/esm/rpc/BaseRpcDriver.d.ts +27 -35
  323. package/esm/rpc/BaseRpcDriver.js +74 -107
  324. package/esm/rpc/MainThreadRpcDriver.d.ts +9 -10
  325. package/esm/rpc/MainThreadRpcDriver.js +18 -29
  326. package/esm/rpc/RpcClient.d.ts +38 -0
  327. package/esm/rpc/RpcClient.js +154 -0
  328. package/esm/rpc/RpcManager.d.ts +116 -27
  329. package/esm/rpc/RpcManager.js +177 -50
  330. package/esm/rpc/RpcRegistry.d.ts +275 -0
  331. package/esm/rpc/RpcRegistry.js +1 -0
  332. package/esm/rpc/RpcServer.d.ts +41 -0
  333. package/esm/rpc/RpcServer.js +235 -0
  334. package/esm/rpc/WebWorkerRpcDriver.d.ts +71 -24
  335. package/esm/rpc/WebWorkerRpcDriver.js +312 -27
  336. package/esm/rpc/byteBudget.d.ts +58 -0
  337. package/esm/rpc/byteBudget.js +50 -0
  338. package/esm/rpc/configSchema.d.ts +27 -5
  339. package/esm/rpc/configSchema.js +40 -16
  340. package/esm/rpc/coreRpcMethods.d.ts +3 -5
  341. package/esm/rpc/coreRpcMethods.js +10 -12
  342. package/esm/rpc/explainTransferError.d.ts +35 -0
  343. package/esm/rpc/explainTransferError.js +158 -0
  344. package/esm/rpc/methods/CoreFreeResources.d.ts +19 -4
  345. package/esm/rpc/methods/CoreFreeResources.js +17 -6
  346. package/esm/rpc/methods/CoreGetExportData.d.ts +5 -18
  347. package/esm/rpc/methods/CoreGetExportData.js +26 -15
  348. package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
  349. package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
  350. package/esm/rpc/methods/CoreGetFeatures.d.ts +6 -15
  351. package/esm/rpc/methods/CoreGetFeatures.js +15 -17
  352. package/esm/rpc/methods/CoreGetInfo.d.ts +6 -0
  353. package/esm/rpc/methods/CoreGetInfo.js +12 -0
  354. package/esm/rpc/methods/CoreGetMetadata.d.ts +4 -7
  355. package/esm/rpc/methods/CoreGetMetadata.js +6 -9
  356. package/esm/rpc/methods/CoreGetRefNames.d.ts +4 -8
  357. package/esm/rpc/methods/CoreGetRefNames.js +24 -13
  358. package/esm/rpc/methods/CoreGetRegionByteEstimate.d.ts +6 -0
  359. package/esm/rpc/methods/CoreGetRegionByteEstimate.js +19 -0
  360. package/esm/rpc/methods/CoreGetRegions.d.ts +4 -6
  361. package/esm/rpc/methods/CoreGetRegions.js +6 -9
  362. package/esm/rpc/methods/CoreGetSequence.d.ts +4 -11
  363. package/esm/rpc/methods/CoreGetSequence.js +12 -13
  364. package/esm/rpc/serializeError/index.d.ts +9 -0
  365. package/esm/rpc/serializeError/index.js +86 -0
  366. package/esm/svg/SvgExport.d.ts +30 -0
  367. package/esm/svg/SvgExport.js +53 -0
  368. package/esm/svg/constants.d.ts +1 -0
  369. package/esm/svg/constants.js +5 -0
  370. package/esm/svg/saveSvgAsImage.d.ts +6 -0
  371. package/esm/svg/saveSvgAsImage.js +90 -0
  372. package/esm/svg/svgId.d.ts +42 -0
  373. package/esm/svg/svgId.js +84 -0
  374. package/esm/svg/svgReady.d.ts +137 -0
  375. package/esm/svg/svgReady.js +164 -0
  376. package/esm/svg/trackNames.d.ts +27 -0
  377. package/esm/svg/trackNames.js +31 -0
  378. package/esm/svg/wrapSvgExport.d.ts +12 -0
  379. package/esm/svg/wrapSvgExport.js +78 -0
  380. package/esm/ui/ActionLink.d.ts +7 -0
  381. package/esm/ui/ActionLink.js +9 -0
  382. package/esm/ui/AddCustomPluginDialog.d.ts +14 -0
  383. package/esm/ui/AddCustomPluginDialog.js +61 -0
  384. package/esm/ui/AddGenomePane.d.ts +8 -0
  385. package/esm/ui/AddGenomePane.js +228 -0
  386. package/esm/ui/AdvancedOptions.d.ts +6 -0
  387. package/esm/ui/AdvancedOptions.js +17 -0
  388. package/esm/ui/AppLogo.d.ts +1 -1
  389. package/esm/ui/AppLogo.js +2 -2
  390. package/esm/ui/AssemblySelector.d.ts +5 -8
  391. package/esm/ui/AssemblySelector.js +8 -26
  392. package/esm/ui/BaseExportSvgDialog.d.ts +16 -0
  393. package/esm/ui/BaseExportSvgDialog.js +84 -0
  394. package/esm/ui/BaseTooltip.d.ts +14 -3
  395. package/esm/ui/BaseTooltip.js +151 -34
  396. package/esm/ui/CascadingMenu.d.ts +9 -18
  397. package/esm/ui/CascadingMenu.js +390 -41
  398. package/esm/ui/CascadingMenuButton.d.ts +9 -11
  399. package/esm/ui/CascadingMenuButton.js +36 -18
  400. package/esm/ui/CascadingMenuHelpDialog.d.ts +2 -2
  401. package/esm/ui/CascadingMenuHelpDialog.js +4 -5
  402. package/esm/ui/CascadingMenuHelpIconButton.d.ts +2 -1
  403. package/esm/ui/CascadingMenuHelpIconButton.js +18 -9
  404. package/esm/ui/ColorPicker.d.ts +6 -9
  405. package/esm/ui/ColorPicker.js +36 -39
  406. package/esm/ui/ConfirmDialog.d.ts +2 -9
  407. package/esm/ui/ConfirmDialog.js +6 -9
  408. package/esm/ui/ContextMenu.d.ts +50 -0
  409. package/esm/ui/ContextMenu.js +55 -0
  410. package/esm/ui/CopyToClipboardButton.d.ts +10 -0
  411. package/esm/ui/CopyToClipboardButton.js +14 -0
  412. package/esm/ui/Crosshairs.d.ts +10 -0
  413. package/esm/ui/Crosshairs.js +15 -0
  414. package/esm/ui/DOMPurifySanitizedHTML.d.ts +1 -1
  415. package/esm/ui/DOMPurifySanitizedHTML.js +5 -5
  416. package/esm/ui/DataGridFlexContainer.d.ts +9 -2
  417. package/esm/ui/DataGridFlexContainer.js +4 -3
  418. package/esm/ui/Dialog.d.ts +5 -2
  419. package/esm/ui/Dialog.js +35 -27
  420. package/esm/ui/DraggableDialog.d.ts +3 -3
  421. package/esm/ui/DraggableDialog.js +50 -12
  422. package/esm/ui/DropDownMenu.d.ts +4 -2
  423. package/esm/ui/DropDownMenu.js +4 -4
  424. package/esm/ui/EditableTypography.d.ts +3 -1
  425. package/esm/ui/EditableTypography.js +34 -26
  426. package/esm/ui/ErrorActions.d.ts +24 -0
  427. package/esm/ui/ErrorActions.js +20 -0
  428. package/esm/ui/ErrorBanner.d.ts +7 -0
  429. package/esm/ui/ErrorBanner.js +35 -0
  430. package/esm/ui/ErrorBar.d.ts +6 -0
  431. package/esm/ui/ErrorBar.js +35 -0
  432. package/esm/ui/ErrorBoundary.d.ts +29 -5
  433. package/esm/ui/ErrorBoundary.js +32 -2
  434. package/esm/ui/ErrorMessage.d.ts +2 -4
  435. package/esm/ui/ErrorMessage.js +17 -52
  436. package/esm/ui/ErrorMessageStackTraceContents.d.ts +1 -1
  437. package/esm/ui/ErrorMessageStackTraceContents.js +3 -3
  438. package/esm/ui/ErrorMessageStackTraceDialog.d.ts +1 -1
  439. package/esm/ui/ErrorMessageStackTraceDialog.js +57 -96
  440. package/esm/ui/ErrorOverlay.d.ts +8 -0
  441. package/esm/ui/ErrorOverlay.js +5 -0
  442. package/esm/ui/ExportSvgDialog.d.ts +7 -0
  443. package/esm/ui/ExportSvgDialog.js +9 -0
  444. package/esm/ui/ExternalLink.d.ts +1 -1
  445. package/esm/ui/FactoryResetDialog.d.ts +1 -1
  446. package/esm/ui/FactoryResetDialog.js +6 -15
  447. package/esm/ui/FatalErrorDialog.d.ts +3 -2
  448. package/esm/ui/FatalErrorDialog.js +6 -5
  449. package/esm/ui/FileDropZone.d.ts +25 -0
  450. package/esm/ui/FileDropZone.js +128 -0
  451. package/esm/ui/FileSelector/FileSelector.d.ts +1 -1
  452. package/esm/ui/FileSelector/FileSelector.js +59 -30
  453. package/esm/ui/FileSelector/LocalFileChooser.d.ts +7 -2
  454. package/esm/ui/FileSelector/LocalFileChooser.js +61 -47
  455. package/esm/ui/FileSelector/LocationInput.d.ts +1 -1
  456. package/esm/ui/FileSelector/LocationInput.js +8 -12
  457. package/esm/ui/FileSelector/SourceTypeSelector.d.ts +5 -5
  458. package/esm/ui/FileSelector/SourceTypeSelector.js +9 -7
  459. package/esm/ui/FileSelector/UrlChooser.d.ts +1 -1
  460. package/esm/ui/FileSelector/UrlChooser.js +26 -2
  461. package/esm/ui/FileSelector/emptySourceType.d.ts +2 -0
  462. package/esm/ui/FileSelector/emptySourceType.js +14 -0
  463. package/esm/ui/FileSelector/useInternetAccounts.d.ts +383 -71
  464. package/esm/ui/FileSelector/useInternetAccounts.js +13 -6
  465. package/esm/ui/FileSelector/util.d.ts +58 -3
  466. package/esm/ui/FileSelector/util.js +128 -11
  467. package/esm/ui/GpuFallbackButton.d.ts +12 -0
  468. package/esm/ui/GpuFallbackButton.js +20 -0
  469. package/esm/ui/HoverMenu.d.ts +12 -3
  470. package/esm/ui/HoverMenu.js +31 -9
  471. package/esm/ui/HoverTooltip.d.ts +27 -0
  472. package/esm/ui/HoverTooltip.js +24 -0
  473. package/esm/ui/Icons.d.ts +6 -4
  474. package/esm/ui/Icons.js +9 -0
  475. package/esm/ui/InfoDialog.d.ts +7 -0
  476. package/esm/ui/InfoDialog.js +16 -0
  477. package/esm/ui/InlineMenuControls.d.ts +6 -0
  478. package/esm/ui/InlineMenuControls.js +17 -0
  479. package/esm/ui/JexlFilterDialog.d.ts +23 -0
  480. package/esm/ui/JexlFilterDialog.js +94 -0
  481. package/esm/ui/LabeledCheckbox.d.ts +9 -0
  482. package/esm/ui/LabeledCheckbox.js +7 -0
  483. package/esm/ui/LegendSwatchGlyph.d.ts +7 -0
  484. package/esm/ui/LegendSwatchGlyph.js +25 -0
  485. package/esm/ui/LoadingDots.d.ts +1 -0
  486. package/esm/ui/LoadingDots.js +30 -0
  487. package/esm/ui/LoadingEllipses.d.ts +17 -1
  488. package/esm/ui/LoadingEllipses.js +20 -29
  489. package/esm/ui/LoadingOverlay.d.ts +23 -0
  490. package/esm/ui/LoadingOverlay.js +137 -0
  491. package/esm/ui/LoadingProgress.d.ts +16 -0
  492. package/esm/ui/LoadingProgress.js +16 -0
  493. package/esm/ui/Logo.d.ts +2 -2
  494. package/esm/ui/Logo.js +23 -24
  495. package/esm/ui/Menu.js +1 -1
  496. package/esm/ui/MenuItemChevron.d.ts +3 -0
  497. package/esm/ui/MenuItemChevron.js +19 -0
  498. package/esm/ui/MenuItemEndDecoration.d.ts +4 -0
  499. package/esm/ui/MenuItemEndDecoration.js +28 -0
  500. package/esm/ui/MenuItemTrailing.d.ts +12 -0
  501. package/esm/ui/MenuItemTrailing.js +42 -0
  502. package/esm/ui/MenuTypes.d.ts +134 -5
  503. package/esm/ui/MenuTypes.js +16 -1
  504. package/esm/ui/MonospaceTextField.d.ts +9 -0
  505. package/esm/ui/MonospaceTextField.js +37 -0
  506. package/esm/ui/NumberTextField.d.ts +31 -0
  507. package/esm/ui/NumberTextField.js +33 -0
  508. package/esm/ui/PaletteContext.d.ts +92 -0
  509. package/esm/ui/PaletteContext.js +133 -0
  510. package/esm/ui/PinAdornment.d.ts +5 -0
  511. package/esm/ui/PinAdornment.js +85 -0
  512. package/esm/ui/PluggableComponent.d.ts +10 -0
  513. package/esm/ui/PluggableComponent.js +19 -0
  514. package/esm/ui/PluggableComponents.d.ts +29 -0
  515. package/esm/ui/PluggableComponents.js +28 -0
  516. package/esm/ui/PluggableElements.d.ts +23 -0
  517. package/esm/ui/PluggableElements.js +24 -0
  518. package/esm/ui/PluginStoreCard.d.ts +17 -0
  519. package/esm/ui/PluginStoreCard.js +45 -0
  520. package/esm/ui/PopoverPicker.d.ts +6 -0
  521. package/esm/ui/PopoverPicker.js +25 -0
  522. package/esm/ui/PrerenderedCanvas.d.ts +1 -1
  523. package/esm/ui/PrerenderedCanvas.js +5 -4
  524. package/esm/ui/ProgressChip.d.ts +37 -0
  525. package/esm/ui/ProgressChip.js +66 -0
  526. package/esm/ui/RedErrorMessageBox.d.ts +1 -1
  527. package/esm/ui/RedErrorMessageBox.js +9 -3
  528. package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  529. package/esm/ui/RefNameAutocomplete/EndAdornment.js +31 -0
  530. package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -0
  531. package/esm/ui/RefNameAutocomplete/HelpDialog.js +7 -0
  532. package/esm/ui/RefNameAutocomplete/index.d.ts +22 -0
  533. package/esm/ui/RefNameAutocomplete/index.js +78 -0
  534. package/esm/ui/RefNameAutocomplete/util.d.ts +49 -0
  535. package/esm/ui/RefNameAutocomplete/util.js +168 -0
  536. package/esm/ui/ReplaceCurrentViewButton.d.ts +19 -0
  537. package/esm/ui/ReplaceCurrentViewButton.js +22 -0
  538. package/esm/ui/ResizeHandle.d.ts +13 -7
  539. package/esm/ui/ResizeHandle.js +42 -55
  540. package/esm/ui/ReturnToImportFormDialog.d.ts +1 -1
  541. package/esm/ui/ReturnToImportFormDialog.js +7 -9
  542. package/esm/ui/SanitizedHTML.d.ts +6 -1
  543. package/esm/ui/SanitizedHTML.js +7 -47
  544. package/esm/ui/ScrollEdgeShadow.d.ts +44 -0
  545. package/esm/ui/ScrollEdgeShadow.js +98 -0
  546. package/esm/ui/ScrollZoomToggle.d.ts +38 -0
  547. package/esm/ui/ScrollZoomToggle.js +92 -0
  548. package/esm/ui/SequenceAdapterInputs.d.ts +9 -0
  549. package/esm/ui/SequenceAdapterInputs.js +30 -0
  550. package/esm/ui/SettingsChangesTable.d.ts +14 -0
  551. package/esm/ui/SettingsChangesTable.js +49 -0
  552. package/esm/ui/ShareLinkField.d.ts +6 -0
  553. package/esm/ui/ShareLinkField.js +42 -0
  554. package/esm/ui/SingleSlider.d.ts +8 -0
  555. package/esm/ui/SingleSlider.js +11 -0
  556. package/esm/ui/SizeSliderRow.d.ts +16 -0
  557. package/esm/ui/SizeSliderRow.js +50 -0
  558. package/esm/ui/SliderTooltip.d.ts +2 -0
  559. package/esm/ui/SliderTooltip.js +17 -0
  560. package/esm/ui/Snackbar.d.ts +4 -2
  561. package/esm/ui/Snackbar.js +11 -8
  562. package/esm/ui/SnackbarContents.d.ts +1 -1
  563. package/esm/ui/SnackbarContents.js +21 -3
  564. package/esm/ui/SnackbarModel.d.ts +40 -0
  565. package/esm/ui/SnackbarModel.js +43 -11
  566. package/esm/ui/StackTraceButton.d.ts +5 -0
  567. package/esm/ui/StackTraceButton.js +16 -0
  568. package/esm/ui/StatusProgressBar.d.ts +37 -0
  569. package/esm/ui/StatusProgressBar.js +76 -0
  570. package/esm/ui/SubmitDialog.d.ts +6 -0
  571. package/esm/ui/SubmitDialog.js +9 -0
  572. package/esm/ui/SubmitForm.d.ts +23 -0
  573. package/esm/ui/SubmitForm.js +23 -0
  574. package/esm/ui/SvgColorLegend.d.ts +13 -0
  575. package/esm/ui/SvgColorLegend.js +65 -0
  576. package/esm/ui/SvgGradientLegend.d.ts +26 -0
  577. package/esm/ui/SvgGradientLegend.js +26 -0
  578. package/esm/ui/TagTextField.d.ts +40 -0
  579. package/esm/ui/TagTextField.js +32 -0
  580. package/esm/ui/VerticalScrollbar.d.ts +45 -0
  581. package/esm/ui/VerticalScrollbar.js +158 -0
  582. package/esm/ui/ViewLoadingScreen.d.ts +24 -0
  583. package/esm/ui/ViewLoadingScreen.js +76 -0
  584. package/esm/ui/addExtensionElement.d.ts +18 -0
  585. package/esm/ui/addExtensionElement.js +23 -0
  586. package/esm/ui/buildExtraTrackMenuItems.d.ts +22 -0
  587. package/esm/ui/buildExtraTrackMenuItems.js +14 -0
  588. package/esm/ui/colorSwatchStyle.d.ts +9 -0
  589. package/esm/ui/colorSwatchStyle.js +11 -0
  590. package/esm/ui/colors.d.ts +61 -8
  591. package/esm/ui/colors.js +135 -1
  592. package/esm/ui/extensionSelectors.d.ts +38 -0
  593. package/esm/ui/extensionSelectors.js +49 -0
  594. package/esm/ui/filterMenuItems.d.ts +112 -0
  595. package/esm/ui/filterMenuItems.js +86 -0
  596. package/esm/ui/formatErrorStack.d.ts +1 -0
  597. package/esm/ui/formatErrorStack.js +56 -0
  598. package/esm/ui/gpuFallback.d.ts +33 -0
  599. package/esm/ui/gpuFallback.js +39 -0
  600. package/esm/ui/highlightChipReveal.d.ts +32 -0
  601. package/esm/ui/highlightChipReveal.js +39 -0
  602. package/esm/ui/hoverBoxStyle.d.ts +11 -0
  603. package/esm/ui/hoverBoxStyle.js +13 -0
  604. package/esm/ui/index.d.ts +76 -4
  605. package/esm/ui/index.js +90 -19
  606. package/esm/ui/inlineMenuRowWidth.d.ts +1 -0
  607. package/esm/ui/inlineMenuRowWidth.js +8 -0
  608. package/esm/ui/launchTargetsMenuItem.d.ts +18 -0
  609. package/esm/ui/launchTargetsMenuItem.js +24 -0
  610. package/esm/ui/launchViewMenu.d.ts +4 -0
  611. package/esm/ui/launchViewMenu.js +42 -0
  612. package/esm/ui/legendMenuItem.d.ts +38 -0
  613. package/esm/ui/legendMenuItem.js +44 -0
  614. package/esm/ui/legendSpec.d.ts +62 -0
  615. package/esm/ui/legendSpec.js +78 -0
  616. package/esm/ui/loadingDotKeyframes.d.ts +18 -0
  617. package/esm/ui/loadingDotKeyframes.js +17 -0
  618. package/esm/ui/makeSizeMenu.d.ts +30 -0
  619. package/esm/ui/makeSizeMenu.js +82 -0
  620. package/esm/ui/mapStackTrace.d.ts +8 -0
  621. package/esm/ui/mapStackTrace.js +108 -0
  622. package/esm/ui/measureLegendText.d.ts +1 -0
  623. package/esm/ui/measureLegendText.js +8 -0
  624. package/esm/ui/menuItemAdornment.d.ts +33 -0
  625. package/esm/ui/menuItemAdornment.js +50 -0
  626. package/esm/ui/menuItems.d.ts +28 -0
  627. package/esm/ui/menuItems.js +26 -0
  628. package/esm/ui/menuLabels.d.ts +41 -0
  629. package/esm/ui/menuLabels.js +43 -0
  630. package/esm/ui/multiTrackMenuItems.d.ts +19 -0
  631. package/esm/ui/multiTrackMenuItems.js +15 -0
  632. package/esm/ui/palette.d.ts +559 -0
  633. package/esm/ui/palette.js +746 -0
  634. package/esm/ui/parseError.d.ts +4 -0
  635. package/esm/ui/parseError.js +18 -0
  636. package/esm/ui/persistentScrollbarStyle.d.ts +49 -0
  637. package/esm/ui/persistentScrollbarStyle.js +53 -0
  638. package/esm/ui/promotableMenuItems.d.ts +19 -0
  639. package/esm/ui/promotableMenuItems.js +91 -0
  640. package/esm/ui/promotablePinCoverage.d.ts +44 -0
  641. package/esm/ui/promotablePinCoverage.js +88 -0
  642. package/esm/ui/radioSubMenu.d.ts +33 -0
  643. package/esm/ui/radioSubMenu.js +32 -0
  644. package/esm/ui/react-colorful.js +5 -1
  645. package/esm/ui/replaceViewAction.d.ts +31 -0
  646. package/esm/ui/replaceViewAction.js +39 -0
  647. package/esm/ui/rewriteExternalAnchors.d.ts +1 -0
  648. package/esm/ui/rewriteExternalAnchors.js +8 -0
  649. package/esm/ui/scrollZoomLabels.d.ts +17 -0
  650. package/esm/ui/scrollZoomLabels.js +22 -0
  651. package/esm/ui/showSubMenu.d.ts +19 -0
  652. package/esm/ui/showSubMenu.js +30 -0
  653. package/esm/ui/sliderScale.d.ts +6 -0
  654. package/esm/ui/sliderScale.js +30 -0
  655. package/esm/ui/statusProgressKeyframes.d.ts +6 -0
  656. package/esm/ui/statusProgressKeyframes.js +14 -0
  657. package/esm/ui/stripStackTraceMessage.d.ts +1 -0
  658. package/esm/ui/stripStackTraceMessage.js +9 -0
  659. package/esm/ui/styleTheme.d.ts +158 -0
  660. package/esm/ui/styleTheme.js +115 -0
  661. package/esm/ui/submenuAim.d.ts +30 -0
  662. package/esm/ui/submenuAim.js +37 -0
  663. package/esm/ui/theme.d.ts +343 -29
  664. package/esm/ui/theme.js +258 -342
  665. package/esm/ui/toggleMenuItems.d.ts +42 -0
  666. package/esm/ui/toggleMenuItems.js +60 -0
  667. package/esm/ui/useAssemblySelection.d.ts +153 -0
  668. package/esm/ui/useAssemblySelection.js +54 -0
  669. package/esm/ui/useCoalescedPointer.d.ts +36 -0
  670. package/esm/ui/useCoalescedPointer.js +60 -0
  671. package/esm/ui/useCopyToClipboard.d.ts +15 -0
  672. package/esm/ui/useCopyToClipboard.js +41 -0
  673. package/esm/ui/useExportSvgPreference.d.ts +1 -0
  674. package/esm/ui/useExportSvgPreference.js +4 -0
  675. package/esm/ui/useMouseTracking.d.ts +71 -0
  676. package/esm/ui/useMouseTracking.js +179 -0
  677. package/esm/ui/useRecentLocations.d.ts +28 -0
  678. package/esm/ui/useRecentLocations.js +31 -0
  679. package/esm/ui/wrapComponent.d.ts +47 -0
  680. package/esm/ui/wrapComponent.js +58 -0
  681. package/esm/ui/zIndexes.d.ts +28 -0
  682. package/esm/ui/zIndexes.js +38 -0
  683. package/esm/util/Base1DUtils.d.ts +204 -16
  684. package/esm/util/Base1DUtils.js +310 -175
  685. package/esm/util/Base1DViewModel.d.ts +97 -20
  686. package/esm/util/Base1DViewModel.js +148 -39
  687. package/esm/util/FileSaver/index.d.ts +1 -0
  688. package/esm/util/FileSaver/index.js +27 -0
  689. package/esm/util/IntervalTree.d.ts +18 -39
  690. package/esm/util/IntervalTree.js +63 -244
  691. package/esm/util/SvgCanvas.d.ts +81 -0
  692. package/esm/util/SvgCanvas.js +500 -0
  693. package/esm/util/TimeTraveller.d.ts +12 -0
  694. package/esm/util/TimeTraveller.js +130 -27
  695. package/esm/util/aborting.d.ts +17 -4
  696. package/esm/util/aborting.js +30 -25
  697. package/esm/util/adapterMetadata.d.ts +20 -0
  698. package/esm/util/adapterMetadata.js +39 -0
  699. package/esm/util/addAndShowTrack.d.ts +22 -0
  700. package/esm/util/addAndShowTrack.js +27 -0
  701. package/esm/util/addRelativeUris.d.ts +17 -0
  702. package/esm/util/addRelativeUris.js +42 -0
  703. package/esm/util/addTrackComponent.d.ts +72 -0
  704. package/esm/util/addTrackComponent.js +53 -0
  705. package/esm/util/addTrackFromWidget.d.ts +94 -0
  706. package/esm/util/addTrackFromWidget.js +90 -0
  707. package/esm/util/analytics.d.ts +32 -3
  708. package/esm/util/analytics.js +102 -49
  709. package/esm/util/animationAllowed.d.ts +17 -0
  710. package/esm/util/animationAllowed.js +22 -0
  711. package/esm/util/applyRowResizeWheel.d.ts +10 -0
  712. package/esm/util/applyRowResizeWheel.js +34 -0
  713. package/esm/util/assemblyConfigUtils.d.ts +144 -0
  714. package/esm/util/assemblyConfigUtils.js +498 -0
  715. package/esm/util/bandHeight.d.ts +53 -0
  716. package/esm/util/bandHeight.js +56 -0
  717. package/esm/util/bandLayout.d.ts +51 -0
  718. package/esm/util/bandLayout.js +36 -0
  719. package/esm/util/bezierConnector.d.ts +14 -0
  720. package/esm/util/bezierConnector.js +108 -0
  721. package/esm/util/bgzfWorkerPool.d.ts +78 -0
  722. package/esm/util/bgzfWorkerPool.js +81 -0
  723. package/esm/util/blockTypes.d.ts +64 -45
  724. package/esm/util/blockTypes.js +67 -74
  725. package/esm/util/bpUtils.d.ts +81 -0
  726. package/esm/util/bpUtils.js +103 -0
  727. package/esm/util/cacheBudgets.d.ts +55 -0
  728. package/esm/util/cacheBudgets.js +55 -0
  729. package/esm/util/cachedSetup.d.ts +51 -0
  730. package/esm/util/cachedSetup.js +87 -0
  731. package/esm/util/calculateDynamicBlocks.d.ts +5 -0
  732. package/esm/util/calculateDynamicBlocks.js +85 -82
  733. package/esm/util/calculateStaticBlocks.d.ts +2 -3
  734. package/esm/util/calculateStaticBlocks.js +48 -71
  735. package/esm/util/chooseGridPitch.d.ts +9 -0
  736. package/esm/util/chooseGridPitch.js +31 -0
  737. package/esm/util/clampToContig.d.ts +26 -0
  738. package/esm/util/clampToContig.js +28 -0
  739. package/esm/util/cmpStr.d.ts +1 -0
  740. package/esm/util/cmpStr.js +7 -0
  741. package/esm/util/coarseStripHTML.js +3 -15
  742. package/esm/util/color/cssColorsLevel4.js +6 -2
  743. package/esm/util/color/index.d.ts +81 -2
  744. package/esm/util/color/index.js +194 -25
  745. package/esm/util/color-bits/bit.d.ts +4 -0
  746. package/esm/util/color-bits/bit.js +37 -0
  747. package/esm/util/color-bits/convert.d.ts +23 -0
  748. package/esm/util/color-bits/convert.js +294 -0
  749. package/esm/util/color-bits/core.d.ts +34 -0
  750. package/esm/util/color-bits/core.js +67 -0
  751. package/esm/util/color-bits/format.d.ts +24 -0
  752. package/esm/util/color-bits/format.js +82 -0
  753. package/esm/util/color-bits/functions.d.ts +33 -0
  754. package/esm/util/color-bits/functions.js +70 -0
  755. package/esm/util/color-bits/index.d.ts +5 -0
  756. package/esm/util/color-bits/index.js +4 -0
  757. package/esm/util/color-bits/parse.d.ts +17 -0
  758. package/esm/util/color-bits/parse.js +382 -0
  759. package/esm/util/colorBits.d.ts +39 -0
  760. package/esm/util/colorBits.js +180 -0
  761. package/esm/util/colorRamp.d.ts +37 -0
  762. package/esm/util/colorRamp.js +93 -0
  763. package/esm/util/colord.d.ts +8 -0
  764. package/esm/util/colord.js +43 -191
  765. package/esm/util/convertCodingSequenceToPeptides.d.ts +17 -3
  766. package/esm/util/convertCodingSequenceToPeptides.js +51 -4
  767. package/esm/util/copyText.d.ts +18 -0
  768. package/esm/util/copyText.js +30 -0
  769. package/esm/util/copyToClipboard.d.ts +4 -0
  770. package/esm/util/copyToClipboard.js +58 -0
  771. package/esm/util/createStopTokenRotation.d.ts +118 -0
  772. package/esm/util/createStopTokenRotation.js +127 -0
  773. package/esm/util/createSvgRasterCanvas.d.ts +7 -0
  774. package/esm/util/createSvgRasterCanvas.js +22 -0
  775. package/esm/util/crypto.d.ts +24 -0
  776. package/esm/util/crypto.js +85 -2
  777. package/esm/util/dataGridUtils.d.ts +9 -0
  778. package/esm/util/dataGridUtils.js +36 -0
  779. package/esm/util/dedupe.js +1 -0
  780. package/esm/util/deepEqual.d.ts +8 -0
  781. package/esm/util/deepEqual.js +22 -0
  782. package/esm/util/deepMerge.d.ts +20 -0
  783. package/esm/util/deepMerge.js +44 -0
  784. package/esm/util/diagonalizeRegions.d.ts +23 -0
  785. package/esm/util/diagonalizeRegions.js +192 -0
  786. package/esm/util/environment.d.ts +4 -0
  787. package/esm/util/environment.js +43 -0
  788. package/esm/util/eventPoint.d.ts +32 -0
  789. package/esm/util/eventPoint.js +28 -0
  790. package/esm/util/fetchAndMaybeUnzip.d.ts +6 -0
  791. package/esm/util/fetchAndMaybeUnzip.js +64 -0
  792. package/esm/util/fetchContext.d.ts +82 -0
  793. package/esm/util/fetchContext.js +59 -0
  794. package/esm/util/fetchHub.d.ts +15 -0
  795. package/esm/util/fetchHub.js +31 -0
  796. package/esm/util/fetchJson.d.ts +1 -0
  797. package/esm/util/fetchJson.js +7 -0
  798. package/esm/util/fetchPhases.d.ts +77 -0
  799. package/esm/util/fetchPhases.js +1 -0
  800. package/esm/util/fetchSeq.d.ts +5 -1
  801. package/esm/util/fetchSeq.js +18 -6
  802. package/esm/util/fileHandleStore.d.ts +19 -2
  803. package/esm/util/fileHandleStore.js +95 -35
  804. package/esm/util/flatbush/index.d.ts +27 -6
  805. package/esm/util/flatbush/index.js +194 -218
  806. package/esm/util/formatBytes.d.ts +9 -0
  807. package/esm/util/formatBytes.js +18 -0
  808. package/esm/util/formatFastaStrings.d.ts +13 -0
  809. package/esm/util/formatFastaStrings.js +13 -0
  810. package/esm/util/formatGuessers.d.ts +30 -0
  811. package/esm/util/formatGuessers.js +69 -0
  812. package/esm/util/formatRelativeTime.d.ts +1 -0
  813. package/esm/util/formatRelativeTime.js +25 -0
  814. package/esm/util/frameCoalescer.d.ts +30 -0
  815. package/esm/util/frameCoalescer.js +22 -0
  816. package/esm/util/freezeDeep.d.ts +28 -0
  817. package/esm/util/freezeDeep.js +41 -0
  818. package/esm/util/geneticCodes.d.ts +56 -0
  819. package/esm/util/geneticCodes.js +371 -0
  820. package/esm/util/getFileName.d.ts +11 -0
  821. package/esm/util/getFileName.js +34 -0
  822. package/esm/util/getLocationUri.d.ts +49 -0
  823. package/esm/util/getLocationUri.js +63 -0
  824. package/esm/util/getRelativeX.d.ts +4 -0
  825. package/esm/util/getRelativeX.js +7 -0
  826. package/esm/util/getStr.d.ts +6 -0
  827. package/esm/util/getStr.js +15 -0
  828. package/esm/util/highlights.d.ts +21 -0
  829. package/esm/util/highlights.js +100 -0
  830. package/esm/util/hooks.d.ts +168 -0
  831. package/esm/util/hooks.js +443 -0
  832. package/esm/util/htmlText.d.ts +13 -0
  833. package/esm/util/htmlText.js +66 -0
  834. package/esm/util/idMaker.d.ts +1 -1
  835. package/esm/util/idMaker.js +31 -18
  836. package/esm/util/index.d.ts +81 -268
  837. package/esm/util/index.js +135 -853
  838. package/esm/util/indexCandidates.d.ts +50 -0
  839. package/esm/util/indexCandidates.js +101 -0
  840. package/esm/util/installClearHoverOnSurfaceMove.d.ts +40 -0
  841. package/esm/util/installClearHoverOnSurfaceMove.js +41 -0
  842. package/esm/util/installFetch.d.ts +220 -0
  843. package/esm/util/installFetch.js +206 -0
  844. package/esm/util/installInitAutorun.d.ts +62 -0
  845. package/esm/util/installInitAutorun.js +107 -0
  846. package/esm/util/intervals.d.ts +20 -0
  847. package/esm/util/intervals.js +37 -0
  848. package/esm/util/io/RemoteFileWithRangeCache.d.ts +10 -11
  849. package/esm/util/io/RemoteFileWithRangeCache.js +10 -148
  850. package/esm/util/io/index.d.ts +39 -2
  851. package/esm/util/io/index.js +115 -12
  852. package/esm/util/isDataCurrent.d.ts +7 -0
  853. package/esm/util/isDataCurrent.js +9 -0
  854. package/esm/util/isWebWorker.js +1 -2
  855. package/esm/util/iupac.d.ts +4 -0
  856. package/esm/util/iupac.js +59 -0
  857. package/esm/util/jexl.js +141 -17
  858. package/esm/util/jexlFilters.d.ts +75 -0
  859. package/esm/util/jexlFilters.js +49 -0
  860. package/esm/util/jexlStrings.d.ts +22 -1
  861. package/esm/util/jexlStrings.js +21 -14
  862. package/esm/util/layouts/GranularRectLayout.d.ts +13 -25
  863. package/esm/util/layouts/GranularRectLayout.js +99 -356
  864. package/esm/util/layouts/index.d.ts +1 -7
  865. package/esm/util/layouts/index.js +2 -6
  866. package/esm/util/layouts/intervalUtils.d.ts +12 -1
  867. package/esm/util/layouts/intervalUtils.js +13 -31
  868. package/esm/util/layouts/placeRect.d.ts +50 -0
  869. package/esm/util/layouts/placeRect.js +97 -0
  870. package/esm/util/lazyAfterAttach.d.ts +13 -0
  871. package/esm/util/lazyAfterAttach.js +31 -0
  872. package/esm/util/leadingEdgeAutorun.d.ts +40 -0
  873. package/esm/util/leadingEdgeAutorun.js +51 -0
  874. package/esm/util/legendCandidates.d.ts +50 -0
  875. package/esm/util/legendCandidates.js +87 -0
  876. package/esm/util/librpc.d.ts +5 -2
  877. package/esm/util/librpc.js +6 -1
  878. package/esm/util/linkify.js +2 -0
  879. package/esm/util/locString.d.ts +72 -0
  880. package/esm/util/locString.js +178 -7
  881. package/esm/util/locStringsToRegions.d.ts +10 -0
  882. package/esm/util/locStringsToRegions.js +35 -0
  883. package/esm/util/localStorage.d.ts +36 -0
  884. package/esm/util/localStorage.js +137 -0
  885. package/esm/util/makeAssembly.d.ts +54 -0
  886. package/esm/util/makeAssembly.js +52 -0
  887. package/esm/util/makeTrackId.d.ts +14 -0
  888. package/esm/util/makeTrackId.js +14 -0
  889. package/esm/util/matchTrackId.d.ts +11 -0
  890. package/esm/util/matchTrackId.js +14 -0
  891. package/esm/util/measureText.d.ts +24 -0
  892. package/esm/util/measureText.js +51 -0
  893. package/esm/util/mst-reflection.d.ts +14 -4
  894. package/esm/util/mst-reflection.js +33 -32
  895. package/esm/util/mstUtils.d.ts +100 -0
  896. package/esm/util/mstUtils.js +140 -0
  897. package/esm/util/nanoid.d.ts +0 -4
  898. package/esm/util/nanoid.js +10 -20
  899. package/esm/util/numericUtils.d.ts +20 -0
  900. package/esm/util/numericUtils.js +127 -0
  901. package/esm/util/objectUtils.d.ts +2 -0
  902. package/esm/util/objectUtils.js +9 -0
  903. package/esm/util/offscreenCanvasPonyfill.d.ts +5 -4
  904. package/esm/util/offscreenCanvasPonyfill.js +5 -47
  905. package/esm/util/openDisplays.d.ts +23 -0
  906. package/esm/util/openDisplays.js +79 -0
  907. package/esm/util/openFeatureWidget.d.ts +33 -0
  908. package/esm/util/openFeatureWidget.js +64 -0
  909. package/esm/util/paintLayer.d.ts +32 -0
  910. package/esm/util/paintLayer.js +33 -0
  911. package/esm/util/parentWalk.d.ts +32 -0
  912. package/esm/util/parentWalk.js +84 -0
  913. package/esm/util/parseLineByLine.d.ts +45 -2
  914. package/esm/util/parseLineByLine.js +156 -15
  915. package/esm/util/parseMotifList.d.ts +17 -0
  916. package/esm/util/parseMotifList.js +69 -0
  917. package/esm/util/pluginStore.d.ts +114 -0
  918. package/esm/util/pluginStore.js +260 -0
  919. package/esm/util/pointerPresence.d.ts +5 -0
  920. package/esm/util/pointerPresence.js +21 -0
  921. package/esm/util/progress.d.ts +459 -0
  922. package/esm/util/progress.js +820 -0
  923. package/esm/util/range.d.ts +46 -1
  924. package/esm/util/range.js +68 -2
  925. package/esm/util/renameRegions.d.ts +21 -0
  926. package/esm/util/renameRegions.js +129 -0
  927. package/esm/util/renderToStaticMarkup.d.ts +2 -0
  928. package/esm/util/renderToStaticMarkup.js +50 -0
  929. package/esm/util/reorder.d.ts +35 -0
  930. package/esm/util/reorder.js +83 -0
  931. package/esm/util/resolveRowHeight.d.ts +27 -0
  932. package/esm/util/resolveRowHeight.js +30 -0
  933. package/esm/util/revlist.d.ts +13 -0
  934. package/esm/util/revlist.js +14 -0
  935. package/esm/util/rowStackGeometry.d.ts +66 -0
  936. package/esm/util/rowStackGeometry.js +70 -0
  937. package/esm/util/rpc.d.ts +16 -1
  938. package/esm/util/rpc.js +12 -1
  939. package/esm/util/rxjs.d.ts +30 -1
  940. package/esm/util/rxjs.js +88 -10
  941. package/esm/util/sameStrings.d.ts +16 -0
  942. package/esm/util/sameStrings.js +20 -0
  943. package/esm/util/scrollLatch.d.ts +4 -0
  944. package/esm/util/scrollLatch.js +59 -0
  945. package/esm/util/selectNamedRegions.d.ts +136 -0
  946. package/esm/util/selectNamedRegions.js +222 -0
  947. package/esm/util/seqUtils.d.ts +17 -0
  948. package/esm/util/seqUtils.js +80 -0
  949. package/esm/util/sessionServices.d.ts +29 -0
  950. package/esm/util/sessionServices.js +46 -0
  951. package/esm/util/sessionSharing.d.ts +38 -0
  952. package/esm/util/sessionSharing.js +154 -0
  953. package/esm/util/sessionStorage.d.ts +1 -0
  954. package/esm/util/sessionStorage.js +15 -0
  955. package/esm/util/setStackTraceLimit.d.ts +6 -0
  956. package/esm/util/setStackTraceLimit.js +20 -0
  957. package/esm/util/simpleFeature.d.ts +112 -4
  958. package/esm/util/simpleFeature.js +181 -29
  959. package/esm/util/springAnimate.d.ts +20 -0
  960. package/esm/util/springAnimate.js +80 -0
  961. package/esm/util/stats.d.ts +25 -2
  962. package/esm/util/stats.js +39 -8
  963. package/esm/util/stopToken.d.ts +207 -15
  964. package/esm/util/stopToken.js +403 -55
  965. package/esm/util/stringUtils.d.ts +5 -0
  966. package/esm/util/stringUtils.js +34 -0
  967. package/esm/util/svgColorProps.d.ts +7 -0
  968. package/esm/util/svgColorProps.js +28 -0
  969. package/esm/util/tabix.d.ts +126 -0
  970. package/esm/util/tabix.js +149 -0
  971. package/esm/util/tags.d.ts +2 -0
  972. package/esm/util/tags.js +5 -0
  973. package/esm/util/temporaryAssembly.d.ts +21 -0
  974. package/esm/util/temporaryAssembly.js +29 -0
  975. package/esm/util/tickLabels.d.ts +36 -0
  976. package/esm/util/tickLabels.js +45 -0
  977. package/esm/util/timeGate.d.ts +26 -0
  978. package/esm/util/timeGate.js +79 -0
  979. package/esm/util/trackConfigDelta.d.ts +84 -0
  980. package/esm/util/trackConfigDelta.js +190 -0
  981. package/esm/util/tracks.d.ts +398 -30
  982. package/esm/util/tracks.js +699 -191
  983. package/esm/util/tss-react/cssAndCx.js +11 -66
  984. package/esm/util/tss-react/index.d.ts +11 -2
  985. package/esm/util/tss-react/index.js +9 -2
  986. package/esm/util/tss-react/makeStyles.js +7 -4
  987. package/esm/util/tss-react/mergeClasses.js +1 -0
  988. package/esm/util/tss-react/tools/classnames.d.ts +3 -0
  989. package/esm/util/tss-react/tools/classnames.js +3 -0
  990. package/esm/util/tss-react/tools/getDependencyArrayRef.d.ts +18 -0
  991. package/esm/util/tss-react/tools/getDependencyArrayRef.js +19 -0
  992. package/esm/util/tss-react/types.d.ts +1 -1
  993. package/esm/util/tss-react/types.js +1 -6
  994. package/esm/util/types/ElementId.js +1 -1
  995. package/esm/util/types/data.d.ts +75 -0
  996. package/esm/util/types/data.js +41 -0
  997. package/esm/util/types/index.d.ts +402 -120
  998. package/esm/util/types/index.js +90 -64
  999. package/esm/util/types/isAny.d.ts +11 -0
  1000. package/esm/util/types/isAny.js +1 -0
  1001. package/esm/util/types/mst.d.ts +71 -47
  1002. package/esm/util/types/mst.js +27 -22
  1003. package/esm/util/types/predicate.d.ts +9 -0
  1004. package/esm/util/types/predicate.js +1 -0
  1005. package/esm/util/types/renderingServices.d.ts +16 -0
  1006. package/esm/util/types/renderingServices.js +1 -0
  1007. package/esm/util/types/services.d.ts +55 -0
  1008. package/esm/util/types/services.js +10 -0
  1009. package/esm/util/types/util.d.ts +8 -2
  1010. package/esm/util/unknownSnapshotKeys.d.ts +36 -0
  1011. package/esm/util/unknownSnapshotKeys.js +69 -0
  1012. package/esm/util/unzip.d.ts +1 -0
  1013. package/esm/util/unzip.js +6 -0
  1014. package/esm/util/useEventCallback.d.ts +1 -0
  1015. package/esm/util/useEventCallback.js +16 -0
  1016. package/esm/util/useFeatureSequence.d.ts +13 -7
  1017. package/esm/util/useFeatureSequence.js +56 -78
  1018. package/esm/util/useFetch.d.ts +56 -0
  1019. package/esm/util/useFetch.js +188 -0
  1020. package/esm/util/useFetchPlugins.d.ts +12 -0
  1021. package/esm/util/useFetchPlugins.js +14 -0
  1022. package/esm/util/useMeasure.d.ts +11 -1
  1023. package/esm/util/useMeasure.js +20 -6
  1024. package/esm/util/usePanZoom.d.ts +75 -0
  1025. package/esm/util/usePanZoom.js +175 -0
  1026. package/esm/util/usePanelVirtualScroll.d.ts +37 -0
  1027. package/esm/util/usePanelVirtualScroll.js +42 -0
  1028. package/esm/util/usePointerDrag.d.ts +37 -0
  1029. package/esm/util/usePointerDrag.js +61 -0
  1030. package/esm/util/useRafCommit.d.ts +4 -0
  1031. package/esm/util/useRafCommit.js +50 -0
  1032. package/esm/util/useResizeDrag.d.ts +91 -0
  1033. package/esm/util/useResizeDrag.js +105 -0
  1034. package/esm/util/useRowVirtualScroll.d.ts +32 -0
  1035. package/esm/util/useRowVirtualScroll.js +63 -0
  1036. package/esm/util/useVirtualScrollWheel.d.ts +7 -0
  1037. package/esm/util/useVirtualScrollWheel.js +108 -0
  1038. package/esm/util/viewStatus.d.ts +81 -0
  1039. package/esm/util/viewStatus.js +37 -0
  1040. package/esm/util/virtualRange.d.ts +36 -0
  1041. package/esm/util/virtualRange.js +26 -0
  1042. package/esm/util/webStorage.d.ts +26 -0
  1043. package/esm/util/webStorage.js +92 -0
  1044. package/esm/util/wheelZoom.d.ts +59 -0
  1045. package/esm/util/wheelZoom.js +231 -0
  1046. package/esm/util/whenViewSettled.d.ts +40 -0
  1047. package/esm/util/whenViewSettled.js +41 -0
  1048. package/esm/util/withFeatureDetails.d.ts +34 -0
  1049. package/esm/util/withFeatureDetails.js +59 -0
  1050. package/esm/util/withLaunchInput.d.ts +123 -0
  1051. package/esm/util/withLaunchInput.js +228 -0
  1052. package/package.json +243 -820
  1053. package/esm/ReExports/DataGrid.d.ts +0 -1
  1054. package/esm/ReExports/DataGrid.js +0 -1
  1055. package/esm/configuration/util.d.ts +0 -10
  1056. package/esm/configuration/util.js +0 -123
  1057. package/esm/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -18
  1058. package/esm/data_adapters/util.d.ts +0 -1
  1059. package/esm/data_adapters/util.js +0 -6
  1060. package/esm/pluggableElementTypes/GlyphType.d.ts +0 -43
  1061. package/esm/pluggableElementTypes/GlyphType.js +0 -18
  1062. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.d.ts +0 -5
  1063. package/esm/pluggableElementTypes/models/saveTrackFileTypes/fetchSequence.js +0 -17
  1064. package/esm/pluggableElementTypes/renderers/BoxRendererType.d.ts +0 -52
  1065. package/esm/pluggableElementTypes/renderers/BoxRendererType.js +0 -78
  1066. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +0 -4
  1067. package/esm/pluggableElementTypes/renderers/CircularChordRendererType.js +0 -4
  1068. package/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +0 -58
  1069. package/esm/pluggableElementTypes/renderers/FeatureRendererType.js +0 -77
  1070. package/esm/pluggableElementTypes/renderers/LayoutSession.d.ts +0 -31
  1071. package/esm/pluggableElementTypes/renderers/LayoutSession.js +0 -40
  1072. package/esm/pluggableElementTypes/renderers/RendererType.d.ts +0 -28
  1073. package/esm/pluggableElementTypes/renderers/RendererType.js +0 -20
  1074. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +0 -58
  1075. package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +0 -108
  1076. package/esm/pluggableElementTypes/renderers/index.d.ts +0 -6
  1077. package/esm/pluggableElementTypes/renderers/index.js +0 -6
  1078. package/esm/pluggableElementTypes/renderers/util.d.ts +0 -3
  1079. package/esm/pluggableElementTypes/renderers/util.js +0 -14
  1080. package/esm/rpc/baseRpcConfig.d.ts +0 -8
  1081. package/esm/rpc/baseRpcConfig.js +0 -10
  1082. package/esm/rpc/mainThreadRpcConfig.d.ts +0 -8
  1083. package/esm/rpc/mainThreadRpcConfig.js +0 -8
  1084. package/esm/rpc/methods/CoreGetFeatureDensityStats.d.ts +0 -17
  1085. package/esm/rpc/methods/CoreGetFeatureDensityStats.js +0 -25
  1086. package/esm/rpc/methods/CoreGetFeatureDetails.d.ts +0 -11
  1087. package/esm/rpc/methods/CoreGetFeatureDetails.js +0 -24
  1088. package/esm/rpc/methods/CoreGetFileInfo.d.ts +0 -9
  1089. package/esm/rpc/methods/CoreGetFileInfo.js +0 -15
  1090. package/esm/rpc/methods/CoreRender.d.ts +0 -14
  1091. package/esm/rpc/methods/CoreRender.js +0 -40
  1092. package/esm/rpc/methods/CoreSaveFeatureData.d.ts +0 -16
  1093. package/esm/rpc/methods/CoreSaveFeatureData.js +0 -32
  1094. package/esm/rpc/methods/util.d.ts +0 -15
  1095. package/esm/rpc/methods/util.js +0 -7
  1096. package/esm/rpc/webWorkerRpcConfig.d.ts +0 -8
  1097. package/esm/rpc/webWorkerRpcConfig.js +0 -8
  1098. package/esm/ui/MenuButton.d.ts +0 -1
  1099. package/esm/ui/MenuButton.js +0 -1
  1100. package/esm/ui/MenuItems.d.ts +0 -15
  1101. package/esm/ui/MenuItems.js +0 -59
  1102. package/esm/ui/useEvent.d.ts +0 -1
  1103. package/esm/ui/useEvent.js +0 -10
  1104. package/esm/util/blobToDataURL.d.ts +0 -1
  1105. package/esm/util/blobToDataURL.js +0 -14
  1106. package/esm/util/compositeMap.d.ts +0 -11
  1107. package/esm/util/compositeMap.js +0 -59
  1108. package/esm/util/flatqueue/index.d.ts +0 -11
  1109. package/esm/util/flatqueue/index.js +0 -61
  1110. package/esm/util/layouts/BaseLayout.d.ts +0 -30
  1111. package/esm/util/layouts/MultiLayout.d.ts +0 -12
  1112. package/esm/util/layouts/MultiLayout.js +0 -40
  1113. package/esm/util/layouts/PileupLayout.d.ts +0 -41
  1114. package/esm/util/layouts/PileupLayout.js +0 -202
  1115. package/esm/util/layouts/PrecomputedLayout.d.ts +0 -30
  1116. package/esm/util/layouts/PrecomputedLayout.js +0 -71
  1117. package/esm/util/layouts/SceneGraph.d.ts +0 -31
  1118. package/esm/util/layouts/SceneGraph.js +0 -121
  1119. package/esm/util/makeAbortableReaction.d.ts +0 -3
  1120. package/esm/util/makeAbortableReaction.js +0 -47
  1121. package/esm/util/map-obj/index.d.ts +0 -13
  1122. package/esm/util/map-obj/index.js +0 -92
  1123. package/esm/util/nextTick.d.ts +0 -1
  1124. package/esm/util/nextTick.js +0 -3
  1125. package/esm/util/offscreenCanvasGetSerializingSvg.d.ts +0 -5
  1126. package/esm/util/offscreenCanvasGetSerializingSvg.js +0 -9
  1127. package/esm/util/offscreenCanvasUtils.d.ts +0 -12
  1128. package/esm/util/offscreenCanvasUtils.js +0 -19
  1129. package/esm/util/renderToAbstractCanvas.d.ts +0 -17
  1130. package/esm/util/renderToAbstractCanvas.js +0 -53
  1131. package/esm/util/transferables.d.ts +0 -2
  1132. package/esm/util/transferables.js +0 -35
  1133. package/esm/util/tss-react/mui/index.d.ts +0 -1
  1134. package/esm/util/tss-react/mui/index.js +0 -1
  1135. package/esm/util/tss-react/mui/mui.d.ts +0 -10
  1136. package/esm/util/tss-react/mui/mui.js +0 -5
  1137. package/esm/util/when.d.ts +0 -1
  1138. package/esm/util/when.js +0 -1
  1139. /package/esm/{data_adapters/BaseAdapter/BaseOptions.js → configuration/promotablePin.js} +0 -0
  1140. /package/esm/{util/layouts/BaseLayout.js → data_adapters/BaseAdapter/CytobandAdapter.js} +0 -0
@@ -0,0 +1,37 @@
1
+ // Bitwise functions
2
+ //
3
+ // The color representation would ideally be 32-bits unsigned, but JS bitwise
4
+ // operators only work as 32-bits signed. The range of Smi values on V8 is also
5
+ // 32-bits signed. Those two factors make it that it's much more efficient to just
6
+ // use signed integers to represent the data.
7
+ //
8
+ // Colors with a R channel >= 0x80 will be a negative number, but that's not really
9
+ // an issue at any point because the bits for signed and unsigned integers are always
10
+ // the same, only their interpretation changes.
11
+ const INT32_TO_UINT32_OFFSET = 2 ** 32;
12
+ export function cast(n) {
13
+ if (n < 0) {
14
+ return n + INT32_TO_UINT32_OFFSET;
15
+ }
16
+ return n;
17
+ }
18
+ export function get(n, offset) {
19
+ return (n >> offset) & 0xff;
20
+ }
21
+ export function set(n, offset, byte) {
22
+ return n ^ ((n ^ (clampByte(byte) << offset)) & (0xff << offset));
23
+ }
24
+ // CSS clamps an out-of-range channel and this composition cannot: `<<` wraps,
25
+ // and `newColor`'s `+` then carries the overflow into the neighbouring channel.
26
+ // Unclamped, `rgb(0 0 0 / -20%)` composes to white at 80% rather than to
27
+ // transparent black, and `alpha(red, 1.4)` masks 357 down to 101, painting a
28
+ // feature at 40% opacity for a caller that asked for more than full. Both
29
+ // channel parsers already document a 0..255 result; this is what makes it true.
30
+ export function clampByte(n) {
31
+ // `> 0` rather than `< 0`, so NaN takes the zero branch: every comparison
32
+ // against NaN is false, and an unclamped NaN shifts to 0 anyway — silently,
33
+ // one channel at a time. `jexl:alpha(color, get(feature,'opacity'))` on a
34
+ // non-numeric attribute is the reachable one, and it drew the feature at
35
+ // alpha 0 instead of reaching the invalid-colour sentinel.
36
+ return n > 0 ? (n > 255 ? 255 : n) : 0;
37
+ }
@@ -0,0 +1,23 @@
1
+ export declare function labToXyzd50(l: number, a: number, b: number): [number, number, number];
2
+ export declare function xyzd50ToLab(x: number, y: number, z: number): [number, number, number];
3
+ export declare function oklabToXyzd65(l: number, a: number, b: number): [number, number, number];
4
+ export declare function xyzd65ToOklab(x: number, y: number, z: number): [number, number, number];
5
+ export declare function lchToLab(l: number, c: number, h: number | undefined): [number, number, number];
6
+ export declare function labToLch(l: number, a: number, b: number): [number, number, number];
7
+ export declare function displayP3ToXyzd50(r: number, g: number, b: number): [number, number, number];
8
+ export declare function xyzd50ToDisplayP3(x: number, y: number, z: number): [number, number, number];
9
+ export declare function proPhotoToXyzd50(r: number, g: number, b: number): [number, number, number];
10
+ export declare function xyzd50ToProPhoto(x: number, y: number, z: number): [number, number, number];
11
+ export declare function adobeRGBToXyzd50(r: number, g: number, b: number): [number, number, number];
12
+ export declare function xyzd50ToAdobeRGB(x: number, y: number, z: number): [number, number, number];
13
+ export declare function rec2020ToXyzd50(r: number, g: number, b: number): [number, number, number];
14
+ export declare function xyzd50ToRec2020(x: number, y: number, z: number): [number, number, number];
15
+ export declare function xyzd50ToD65(x: number, y: number, z: number): [number, number, number];
16
+ export declare function xyzd65ToD50(x: number, y: number, z: number): [number, number, number];
17
+ export declare function xyzd65TosRGBLinear(x: number, y: number, z: number): [number, number, number];
18
+ export declare function xyzd50TosRGBLinear(x: number, y: number, z: number): [number, number, number];
19
+ export declare function srgbLinearToXyzd50(r: number, g: number, b: number): [number, number, number];
20
+ export declare function srgbToXyzd50(r: number, g: number, b: number): [number, number, number];
21
+ export declare function xyzd50ToSrgb(x: number, y: number, z: number): [number, number, number];
22
+ export declare function oklchToXyzd50(lInput: number, c: number, h: number): [number, number, number];
23
+ export declare function xyzd50ToOklch(x: number, y: number, z: number): [number, number, number];
@@ -0,0 +1,294 @@
1
+ // Copyright 2022 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ //
5
+ // Source: https://github.com/ChromeDevTools/devtools-frontend/blob/c51201e6ee70370f7f1ac8a1a49dca7d4561aeaa/front_end/core/common/ColorConverter.ts
6
+ // License: https://github.com/ChromeDevTools/devtools-frontend/blob/c51201e6ee70370f7f1ac8a1a49dca7d4561aeaa/LICENSE
7
+ /**
8
+ * Implementation of this module and all the tests are heavily influenced by
9
+ * https://source.chromium.org/chromium/chromium/src/+/main:ui/gfx/color_conversions.cc
10
+ */
11
+ // https://en.wikipedia.org/wiki/CIELAB_color_space#Converting_between_CIELAB_and_CIEXYZ_coordinates
12
+ const D50_X = 0.9642;
13
+ const D50_Y = 1;
14
+ const D50_Z = 0.8251;
15
+ function multiply(matrix, other) {
16
+ const dst = [0, 0, 0];
17
+ for (let row = 0; row < 3; ++row) {
18
+ dst[row] =
19
+ matrix[row][0] * other[0] +
20
+ matrix[row][1] * other[1] +
21
+ matrix[row][2] * other[2];
22
+ }
23
+ return dst;
24
+ }
25
+ // A transfer function mapping encoded values to linear values,
26
+ // represented by this 7-parameter piecewise function:
27
+ //
28
+ // linear = sign(encoded) * (c*|encoded| + f) , 0 <= |encoded| < d
29
+ // = sign(encoded) * ((a*|encoded| + b)^g + e), d <= |encoded|
30
+ //
31
+ // (A simple gamma transfer function sets g to gamma and a to 1.)
32
+ class TransferFunction {
33
+ g;
34
+ a;
35
+ b;
36
+ c;
37
+ d;
38
+ e;
39
+ f;
40
+ constructor(g, a, b = 0, c = 0, d = 0, e = 0, f = 0) {
41
+ this.g = g;
42
+ this.a = a;
43
+ this.b = b;
44
+ this.c = c;
45
+ this.d = d;
46
+ this.e = e;
47
+ this.f = f;
48
+ }
49
+ eval(val) {
50
+ const sign = val < 0 ? -1 : 1;
51
+ const abs = val * sign;
52
+ if (abs < this.d) {
53
+ return sign * (this.c * abs + this.f);
54
+ }
55
+ return sign * (Math.pow(this.a * abs + this.b, this.g) + this.e);
56
+ }
57
+ }
58
+ const NAMED_TRANSFER_FN = {
59
+ sRGB: new TransferFunction(2.4, 1 / 1.055, 0.055 / 1.055, 1 / 12.92, 0.04045, 0, 0),
60
+ sRGB_INVERSE: new TransferFunction(0.416667, 1.13728, -0, 12.92, 0.0031308, -0.0549698, -0),
61
+ proPhotoRGB: new TransferFunction(1.8, 1),
62
+ proPhotoRGB_INVERSE: new TransferFunction(0.555556, 1, -0, 0, 0, 0, 0),
63
+ k2Dot2: new TransferFunction(2.2, 1),
64
+ k2Dot2_INVERSE: new TransferFunction(0.454545, 1),
65
+ rec2020: new TransferFunction(2.22222, 0.909672, 0.0903276, 0.222222, 0.0812429, 0, 0),
66
+ rec2020_INVERSE: new TransferFunction(0.45, 1.23439, -0, 4.5, 0.018054, -0.0993195, -0),
67
+ };
68
+ const NAMED_GAMUTS = {
69
+ sRGB: [
70
+ [0.436065674, 0.385147095, 0.143066406],
71
+ [0.222488403, 0.716873169, 0.06060791],
72
+ [0.013916016, 0.097076416, 0.714096069],
73
+ ],
74
+ sRGB_INVERSE: [
75
+ [3.134112151374599, -1.6173924597114966, -0.4906334036481285],
76
+ [-0.9787872938826594, 1.9162795854799963, 0.0334547139520088],
77
+ [0.07198304248352326, -0.2289858493321844, 1.4053851325241447],
78
+ ],
79
+ displayP3: [
80
+ [0.515102, 0.291965, 0.157153],
81
+ [0.241182, 0.692236, 0.0665819],
82
+ [-0.00104941, 0.0418818, 0.784378],
83
+ ],
84
+ displayP3_INVERSE: [
85
+ [2.404045155982687, -0.9898986932663839, -0.3976317191366333],
86
+ [-0.8422283799266768, 1.7988505115115485, 0.016048170293157416],
87
+ [0.04818705979712955, -0.09737385156228891, 1.2735066448052303],
88
+ ],
89
+ adobeRGB: [
90
+ [0.60974, 0.20528, 0.14919],
91
+ [0.31111, 0.62567, 0.06322],
92
+ [0.01947, 0.06087, 0.74457],
93
+ ],
94
+ adobeRGB_INVERSE: [
95
+ [1.9625385510109137, -0.6106892546501431, -0.3413827467482388],
96
+ [-0.9787580455521, 1.9161624707082339, 0.03341676594241408],
97
+ [0.028696263137883395, -0.1406807819331586, 1.349252109991369],
98
+ ],
99
+ rec2020: [
100
+ [0.673459, 0.165661, 0.1251],
101
+ [0.279033, 0.675338, 0.0456288],
102
+ [-0.00193139, 0.0299794, 0.797162],
103
+ ],
104
+ rec2020_INVERSE: [
105
+ [1.647275201661012, -0.3936024771460771, -0.23598028884792507],
106
+ [-0.6826176165196962, 1.647617775014935, 0.01281626807852422],
107
+ [0.029662725298529837, -0.06291668721366285, 1.2533964313435522],
108
+ ],
109
+ xyz: [
110
+ [1, 0, 0],
111
+ [0, 1, 0],
112
+ [0, 0, 1],
113
+ ],
114
+ };
115
+ function degToRad(deg) {
116
+ return deg * (Math.PI / 180);
117
+ }
118
+ function radToDeg(rad) {
119
+ return rad * (180 / Math.PI);
120
+ }
121
+ function applyTransferFns(fn, r, g, b) {
122
+ return [fn.eval(r), fn.eval(g), fn.eval(b)];
123
+ }
124
+ const OKLAB_TO_LMS_MATRIX = [
125
+ [0.9999999984505198, 0.3963377921737679, 0.2158037580607588],
126
+ [1.000000008881761, -0.10556134232365635, -0.06385417477170591],
127
+ [1.00000005467241, -0.0894841820949658, -1.2914855378640917],
128
+ ];
129
+ const LMS_TO_OKLAB_MATRIX = [
130
+ [0.2104542553, 0.7936177849999999, -0.0040720468],
131
+ [1.9779984951000003, -2.4285922049999997, 0.4505937099000001],
132
+ [0.025904037099999982, 0.7827717662, -0.8086757660000001],
133
+ ];
134
+ const XYZ_TO_LMS_MATRIX = [
135
+ [0.8190224432164319, 0.3619062562801221, -0.12887378261216414],
136
+ [0.0329836671980271, 0.9292868468965546, 0.03614466816999844],
137
+ [0.048177199566046255, 0.26423952494422764, 0.6335478258136937],
138
+ ];
139
+ const LMS_TO_XYZ_MATRIX = [
140
+ [1.226879873374156, -0.5578149965554814, 0.2813910501772159],
141
+ [-0.040575762624313734, 1.1122868293970596, -0.07171106666151703],
142
+ [-0.07637294974672144, -0.4214933239627915, 1.586924024427242],
143
+ ];
144
+ const PRO_PHOTO_TO_XYZD50_MATRIX = [
145
+ [0.7976700747153241, 0.13519395152800417, 0.03135596341127167],
146
+ [0.28803902352472205, 0.7118744007923554, 0.00008661179538844252],
147
+ [2.739876695467402e-7, -0.0000014405226518969991, 0.825211112593861],
148
+ ];
149
+ const XYZD50_TO_PRO_PHOTO_MATRIX = [
150
+ [1.3459533710138858, -0.25561367037652133, -0.051116041522131374],
151
+ [-0.544600415668951, 1.5081687311475767, 0.020535163968720935],
152
+ [-0.0000013975622054109725, 0.000002717590904589903, 1.2118111696814942],
153
+ ];
154
+ const XYZD65_TO_XYZD50_MATRIX = [
155
+ [1.0478573189120088, 0.022907374491829943, -0.050162247377152525],
156
+ [0.029570500050499514, 0.9904755577034089, -0.017061518194840468],
157
+ [-0.00924047197558879, 0.015052921526981566, 0.7519708530777581],
158
+ ];
159
+ const XYZD50_TO_XYZD65_MATRIX = [
160
+ [0.9555366447632887, -0.02306009252137888, 0.06321844147263304],
161
+ [-0.028315378228764922, 1.009951351591575, 0.021026001591792402],
162
+ [0.012308773293784308, -0.02050053471777469, 1.3301947294775631],
163
+ ];
164
+ const XYZD65_TO_SRGB_MATRIX = [
165
+ [3.2408089365140573, -1.5375788839307314, -0.4985609572551541],
166
+ [-0.9692732213205414, 1.876110235238969, 0.041560501141251774],
167
+ [0.05567030990267439, -0.2040007921971802, 1.0571046720577026],
168
+ ];
169
+ export function labToXyzd50(l, a, b) {
170
+ let y = (l + 16) / 116;
171
+ let x = y + a / 500;
172
+ let z = y - b / 200;
173
+ function labInverseTransferFunction(t) {
174
+ const delta = 24 / 116;
175
+ if (t <= delta) {
176
+ return (108 / 841) * (t - 16 / 116);
177
+ }
178
+ return t * t * t;
179
+ }
180
+ x = labInverseTransferFunction(x) * D50_X;
181
+ y = labInverseTransferFunction(y) * D50_Y;
182
+ z = labInverseTransferFunction(z) * D50_Z;
183
+ return [x, y, z];
184
+ }
185
+ export function xyzd50ToLab(x, y, z) {
186
+ function labTransferFunction(t) {
187
+ const deltaLimit = (24 / 116) * (24 / 116) * (24 / 116);
188
+ if (t <= deltaLimit) {
189
+ return (841 / 108) * t + 16 / 116;
190
+ }
191
+ return Math.pow(t, 1 / 3);
192
+ }
193
+ x = labTransferFunction(x / D50_X);
194
+ y = labTransferFunction(y / D50_Y);
195
+ z = labTransferFunction(z / D50_Z);
196
+ const l = 116 * y - 16;
197
+ const a = 500 * (x - y);
198
+ const bOut = 200 * (y - z);
199
+ return [l, a, bOut];
200
+ }
201
+ export function oklabToXyzd65(l, a, b) {
202
+ const labInput = [l, a, b];
203
+ const lmsIntermediate = multiply(OKLAB_TO_LMS_MATRIX, labInput);
204
+ lmsIntermediate[0] =
205
+ lmsIntermediate[0] * lmsIntermediate[0] * lmsIntermediate[0];
206
+ lmsIntermediate[1] =
207
+ lmsIntermediate[1] * lmsIntermediate[1] * lmsIntermediate[1];
208
+ lmsIntermediate[2] =
209
+ lmsIntermediate[2] * lmsIntermediate[2] * lmsIntermediate[2];
210
+ return multiply(LMS_TO_XYZ_MATRIX, lmsIntermediate);
211
+ }
212
+ export function xyzd65ToOklab(x, y, z) {
213
+ const xyzInput = [x, y, z];
214
+ const lmsIntermediate = multiply(XYZ_TO_LMS_MATRIX, xyzInput);
215
+ lmsIntermediate[0] = Math.pow(lmsIntermediate[0], 1 / 3);
216
+ lmsIntermediate[1] = Math.pow(lmsIntermediate[1], 1 / 3);
217
+ lmsIntermediate[2] = Math.pow(lmsIntermediate[2], 1 / 3);
218
+ const labOutput = multiply(LMS_TO_OKLAB_MATRIX, lmsIntermediate);
219
+ return [labOutput[0], labOutput[1], labOutput[2]];
220
+ }
221
+ export function lchToLab(l, c, h) {
222
+ if (h === undefined) {
223
+ return [l, 0, 0];
224
+ }
225
+ return [l, c * Math.cos(degToRad(h)), c * Math.sin(degToRad(h))];
226
+ }
227
+ export function labToLch(l, a, b) {
228
+ return [l, Math.hypot(a, b), radToDeg(Math.atan2(b, a))];
229
+ }
230
+ export function displayP3ToXyzd50(r, g, b) {
231
+ const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.sRGB, r, g, b);
232
+ return multiply(NAMED_GAMUTS.displayP3, [mappedR, mappedG, mappedB]);
233
+ }
234
+ export function xyzd50ToDisplayP3(x, y, z) {
235
+ const rgbOutput = multiply(NAMED_GAMUTS.displayP3_INVERSE, [x, y, z]);
236
+ return applyTransferFns(NAMED_TRANSFER_FN.sRGB_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
237
+ }
238
+ export function proPhotoToXyzd50(r, g, b) {
239
+ const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.proPhotoRGB, r, g, b);
240
+ return multiply(PRO_PHOTO_TO_XYZD50_MATRIX, [mappedR, mappedG, mappedB]);
241
+ }
242
+ export function xyzd50ToProPhoto(x, y, z) {
243
+ const rgbOutput = multiply(XYZD50_TO_PRO_PHOTO_MATRIX, [x, y, z]);
244
+ return applyTransferFns(NAMED_TRANSFER_FN.proPhotoRGB_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
245
+ }
246
+ export function adobeRGBToXyzd50(r, g, b) {
247
+ const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.k2Dot2, r, g, b);
248
+ return multiply(NAMED_GAMUTS.adobeRGB, [mappedR, mappedG, mappedB]);
249
+ }
250
+ export function xyzd50ToAdobeRGB(x, y, z) {
251
+ const rgbOutput = multiply(NAMED_GAMUTS.adobeRGB_INVERSE, [x, y, z]);
252
+ return applyTransferFns(NAMED_TRANSFER_FN.k2Dot2_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
253
+ }
254
+ export function rec2020ToXyzd50(r, g, b) {
255
+ const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.rec2020, r, g, b);
256
+ return multiply(NAMED_GAMUTS.rec2020, [mappedR, mappedG, mappedB]);
257
+ }
258
+ export function xyzd50ToRec2020(x, y, z) {
259
+ const rgbOutput = multiply(NAMED_GAMUTS.rec2020_INVERSE, [x, y, z]);
260
+ return applyTransferFns(NAMED_TRANSFER_FN.rec2020_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
261
+ }
262
+ export function xyzd50ToD65(x, y, z) {
263
+ return multiply(XYZD50_TO_XYZD65_MATRIX, [x, y, z]);
264
+ }
265
+ export function xyzd65ToD50(x, y, z) {
266
+ return multiply(XYZD65_TO_XYZD50_MATRIX, [x, y, z]);
267
+ }
268
+ export function xyzd65TosRGBLinear(x, y, z) {
269
+ return multiply(XYZD65_TO_SRGB_MATRIX, [x, y, z]);
270
+ }
271
+ export function xyzd50TosRGBLinear(x, y, z) {
272
+ return multiply(NAMED_GAMUTS.sRGB_INVERSE, [x, y, z]);
273
+ }
274
+ export function srgbLinearToXyzd50(r, g, b) {
275
+ return multiply(NAMED_GAMUTS.sRGB, [r, g, b]);
276
+ }
277
+ export function srgbToXyzd50(r, g, b) {
278
+ const [mappedR, mappedG, mappedB] = applyTransferFns(NAMED_TRANSFER_FN.sRGB, r, g, b);
279
+ return multiply(NAMED_GAMUTS.sRGB, [mappedR, mappedG, mappedB]);
280
+ }
281
+ export function xyzd50ToSrgb(x, y, z) {
282
+ const rgbOutput = multiply(NAMED_GAMUTS.sRGB_INVERSE, [x, y, z]);
283
+ return applyTransferFns(NAMED_TRANSFER_FN.sRGB_INVERSE, rgbOutput[0], rgbOutput[1], rgbOutput[2]);
284
+ }
285
+ export function oklchToXyzd50(lInput, c, h) {
286
+ const [l, a, b] = lchToLab(lInput, c, h);
287
+ const [x65, y65, z65] = oklabToXyzd65(l, a, b);
288
+ return xyzd65ToD50(x65, y65, z65);
289
+ }
290
+ export function xyzd50ToOklch(x, y, z) {
291
+ const [x65, y65, z65] = xyzd50ToD65(x, y, z);
292
+ const [l, a, b] = xyzd65ToOklab(x65, y65, z65);
293
+ return labToLch(l, a, b);
294
+ }
@@ -0,0 +1,34 @@
1
+ export type Color = number;
2
+ export declare const OFFSET_R = 24;
3
+ export declare const OFFSET_G = 16;
4
+ export declare const OFFSET_B = 8;
5
+ export declare const OFFSET_A = 0;
6
+ /**
7
+ * Creates a new color from the given RGBA components.
8
+ * Every component should be in the [0, 255] range.
9
+ */
10
+ export declare function newColor(r: number, g: number, b: number, a: number): number;
11
+ /**
12
+ * Creates a new color from a number in the canonical `0xRRGGBBAA` layout —
13
+ * alpha in the LOW byte, which is what `newColor` composes and what
14
+ * `getRed`/`getAlpha` read.
15
+ *
16
+ * A 24-bit CSS hex is therefore not one of these, and this used to say it was:
17
+ * `from(0x599eff)` is `0x00599eff`, so it reads R=0x00, G=0x59, B=0x9e and
18
+ * A=0xff — every intended channel one byte down, with the blue arriving as the
19
+ * alpha. Spell the alpha (`from(0x599effff)`), or use `newColor(r, g, b, a)`.
20
+ */
21
+ export declare function from(color: number): number;
22
+ /**
23
+ * Turns the color into its equivalent number representation.
24
+ * This is essentially a cast from int32 to uint32.
25
+ */
26
+ export declare function toNumber(color: Color): number;
27
+ export declare function getRed(c: Color): number;
28
+ export declare function getGreen(c: Color): number;
29
+ export declare function getBlue(c: Color): number;
30
+ export declare function getAlpha(c: Color): number;
31
+ export declare function setRed(c: Color, value: number): number;
32
+ export declare function setGreen(c: Color, value: number): number;
33
+ export declare function setBlue(c: Color, value: number): number;
34
+ export declare function setAlpha(c: Color, value: number): number;
@@ -0,0 +1,67 @@
1
+ import { cast, clampByte, get, set } from './bit.js';
2
+ export const OFFSET_R = 24;
3
+ export const OFFSET_G = 16;
4
+ export const OFFSET_B = 8;
5
+ export const OFFSET_A = 0;
6
+ /**
7
+ * Creates a new color from the given RGBA components.
8
+ * Every component should be in the [0, 255] range.
9
+ */
10
+ export function newColor(r, g, b, a) {
11
+ return ((clampByte(r) << OFFSET_R) +
12
+ (clampByte(g) << OFFSET_G) +
13
+ (clampByte(b) << OFFSET_B) +
14
+ (clampByte(a) << OFFSET_A));
15
+ }
16
+ /**
17
+ * Creates a new color from a number in the canonical `0xRRGGBBAA` layout —
18
+ * alpha in the LOW byte, which is what `newColor` composes and what
19
+ * `getRed`/`getAlpha` read.
20
+ *
21
+ * A 24-bit CSS hex is therefore not one of these, and this used to say it was:
22
+ * `from(0x599eff)` is `0x00599eff`, so it reads R=0x00, G=0x59, B=0x9e and
23
+ * A=0xff — every intended channel one byte down, with the blue arriving as the
24
+ * alpha. Spell the alpha (`from(0x599effff)`), or use `newColor(r, g, b, a)`.
25
+ */
26
+ export function from(color) {
27
+ return newColor(get(color, OFFSET_R), get(color, OFFSET_G), get(color, OFFSET_B), get(color, OFFSET_A));
28
+ }
29
+ /**
30
+ * Turns the color into its equivalent number representation.
31
+ * This is essentially a cast from int32 to uint32.
32
+ */
33
+ export function toNumber(color) {
34
+ return cast(color);
35
+ }
36
+ // These read the canonical 0xRRGGBBAA layout (R in the HIGH byte). Their
37
+ // mirror image is `abgrRed`/`abgrGreen`/`abgrBlue`/`abgrAlpha` in
38
+ // ../colorBits.ts, which reads the ABGR u32 the GPU path packs (R in the LOW
39
+ // byte) — calling the wrong pair silently swaps R and B. Both take a plain
40
+ // number and cannot be told apart by the type system: a branded Color was
41
+ // considered and rejected, because ABGR values are read back out of
42
+ // Uint32Arrays, where indexing yields `number` and every read would need the
43
+ // cast that defeats the brand.
44
+ export function getRed(c) {
45
+ return get(c, OFFSET_R);
46
+ }
47
+ export function getGreen(c) {
48
+ return get(c, OFFSET_G);
49
+ }
50
+ export function getBlue(c) {
51
+ return get(c, OFFSET_B);
52
+ }
53
+ export function getAlpha(c) {
54
+ return get(c, OFFSET_A);
55
+ }
56
+ export function setRed(c, value) {
57
+ return set(c, OFFSET_R, value);
58
+ }
59
+ export function setGreen(c, value) {
60
+ return set(c, OFFSET_G, value);
61
+ }
62
+ export function setBlue(c, value) {
63
+ return set(c, OFFSET_B, value);
64
+ }
65
+ export function setAlpha(c, value) {
66
+ return set(c, OFFSET_A, value);
67
+ }
@@ -0,0 +1,24 @@
1
+ import type { Color } from './core.ts';
2
+ /** Format to a #RRGGBBAA string */
3
+ export declare const format: typeof formatHEXA;
4
+ /** Format to a #RRGGBBAA string */
5
+ export declare function formatHEXA(color: Color): string;
6
+ export declare function formatHEX(color: Color): string;
7
+ export declare function formatRGBA(color: Color): string;
8
+ export declare function toRGBA(color: Color): {
9
+ r: number;
10
+ g: number;
11
+ b: number;
12
+ a: number;
13
+ };
14
+ export declare function formatHSLA(color: Color): string;
15
+ export declare function toHSLA(color: Color): {
16
+ h: number;
17
+ s: number;
18
+ l: number;
19
+ a: number;
20
+ };
21
+ /**
22
+ * Returns [r, g, b] as floats in 0-1 range, suitable for GPU shader uniforms.
23
+ */
24
+ export declare function toGLrgb(color: Color): [number, number, number];
@@ -0,0 +1,82 @@
1
+ import { getAlpha, getBlue, getGreen, getRed } from './core.js';
2
+ // Return buffer, avoid allocations
3
+ const buffer = [0, 0, 0];
4
+ /**
5
+ * Map 8-bits value to its hexadecimal representation
6
+ * ['00', '01', '02', ..., 'fe', 'ff']
7
+ */
8
+ const FORMAT_HEX = Array.from({ length: 256 }).map((_, byte) => byte.toString(16).padStart(2, '0'));
9
+ /** Format to a #RRGGBBAA string */
10
+ export const format = formatHEXA;
11
+ /** Format to a #RRGGBBAA string */
12
+ export function formatHEXA(color) {
13
+ return `#${FORMAT_HEX[getRed(color)]}${FORMAT_HEX[getGreen(color)]}${FORMAT_HEX[getBlue(color)]}${FORMAT_HEX[getAlpha(color)]}`;
14
+ }
15
+ export function formatHEX(color) {
16
+ return `#${FORMAT_HEX[getRed(color)]}${FORMAT_HEX[getGreen(color)]}${FORMAT_HEX[getBlue(color)]}`;
17
+ }
18
+ export function formatRGBA(color) {
19
+ return `rgba(${getRed(color)} ${getGreen(color)} ${getBlue(color)} / ${getAlpha(color) / 255})`;
20
+ }
21
+ export function toRGBA(color) {
22
+ return {
23
+ r: getRed(color),
24
+ g: getGreen(color),
25
+ b: getBlue(color),
26
+ a: getAlpha(color),
27
+ };
28
+ }
29
+ export function formatHSLA(color) {
30
+ rgbToHSL(getRed(color), getGreen(color), getBlue(color));
31
+ const h = buffer[0];
32
+ const s = buffer[1];
33
+ const l = buffer[2];
34
+ const a = getAlpha(color) / 255;
35
+ return `hsla(${h} ${s}% ${l}% / ${a})`;
36
+ }
37
+ export function toHSLA(color) {
38
+ rgbToHSL(getRed(color), getGreen(color), getBlue(color));
39
+ const h = buffer[0];
40
+ const s = buffer[1];
41
+ const l = buffer[2];
42
+ const a = getAlpha(color) / 255;
43
+ return { h, s, l, a };
44
+ }
45
+ /**
46
+ * Returns [r, g, b] as floats in 0-1 range, suitable for GPU shader uniforms.
47
+ */
48
+ export function toGLrgb(color) {
49
+ return [getRed(color) / 255, getGreen(color) / 255, getBlue(color) / 255];
50
+ }
51
+ // Conversion functions
52
+ // https://www.30secondsofcode.org/js/s/rgb-hex-hsl-hsb-color-format-conversion/
53
+ function rgbToHSL(r, g, b) {
54
+ r /= 255;
55
+ g /= 255;
56
+ b /= 255;
57
+ // `l` here is the max channel (HSV value) and `s` the chroma, not the HSL
58
+ // lightness/saturation; the real lightness is (max + min) / 2 = l - s / 2
59
+ const l = Math.max(r, g, b);
60
+ const s = l - Math.min(r, g, b);
61
+ const h = s
62
+ ? l === r
63
+ ? (g - b) / s
64
+ : l === g
65
+ ? 2 + (b - r) / s
66
+ : 4 + (r - g) / s
67
+ : 0;
68
+ // the saturation formula is picked by lightness, not by the max channel:
69
+ // branching on `l` understated it whenever max > 0.5 while lightness < 0.5
70
+ // (e.g. #0a0ac8 came out 63.3% instead of 90.5%)
71
+ const doubleLightness = 2 * l - s;
72
+ buffer[0] = 60 * h < 0 ? 60 * h + 360 : 60 * h;
73
+ buffer[1] =
74
+ 100 *
75
+ (s
76
+ ? doubleLightness <= 1
77
+ ? s / doubleLightness
78
+ : s / (2 - doubleLightness)
79
+ : 0);
80
+ buffer[2] = (100 * doubleLightness) / 2;
81
+ }
82
+ // https://stackoverflow.com/a/29463581/3112706
@@ -0,0 +1,33 @@
1
+ import type { Color } from './core.ts';
2
+ /**
3
+ * Modifies color alpha channel.
4
+ * @param color - Color
5
+ * @param value - Value in the range [0, 1]
6
+ */
7
+ export declare function alpha(color: Color, value: number): Color;
8
+ /**
9
+ * Darkens a color.
10
+ * @param color - Color
11
+ * @param coefficient - Multiplier in the range [0, 1]
12
+ */
13
+ export declare function darken(color: Color, coefficient: number): Color;
14
+ /**
15
+ * Lighten a color.
16
+ * @param color - Color
17
+ * @param coefficient - Multiplier in the range [0, 1]
18
+ */
19
+ export declare function lighten(color: Color, coefficient: number): Color;
20
+ /**
21
+ * Blend (aka mix) two colors together.
22
+ * @param background The background color
23
+ * @param overlay The overlay color that is affected by @opacity
24
+ * @param opacity Opacity (alpha) for @overlay
25
+ * @param [gamma=1.0] Gamma correction coefficient. `1.0` to match browser behavior, `2.2` for gamma-corrected blending.
26
+ */
27
+ export declare function blend(background: Color, overlay: Color, opacity: number, gamma?: number): number;
28
+ /**
29
+ * The relative brightness of any point in a color space, normalized to 0 for
30
+ * darkest black and 1 for lightest white.
31
+ * @returns The relative brightness of the color in the range 0 - 1, with 3 digits precision
32
+ */
33
+ export declare function getLuminance(color: Color): number;
@@ -0,0 +1,70 @@
1
+ import { getAlpha, getBlue, getGreen, getRed, newColor, setAlpha, } from './core.js';
2
+ /**
3
+ * Modifies color alpha channel.
4
+ * @param color - Color
5
+ * @param value - Value in the range [0, 1]
6
+ */
7
+ export function alpha(color, value) {
8
+ return setAlpha(color, Math.round(value * 255));
9
+ }
10
+ /**
11
+ * Darkens a color.
12
+ * @param color - Color
13
+ * @param coefficient - Multiplier in the range [0, 1]
14
+ */
15
+ export function darken(color, coefficient) {
16
+ const r = getRed(color);
17
+ const g = getGreen(color);
18
+ const b = getBlue(color);
19
+ const a = getAlpha(color);
20
+ const factor = 1 - coefficient;
21
+ return newColor(r * factor, g * factor, b * factor, a);
22
+ }
23
+ /**
24
+ * Lighten a color.
25
+ * @param color - Color
26
+ * @param coefficient - Multiplier in the range [0, 1]
27
+ */
28
+ export function lighten(color, coefficient) {
29
+ const r = getRed(color);
30
+ const g = getGreen(color);
31
+ const b = getBlue(color);
32
+ const a = getAlpha(color);
33
+ return newColor(r + (255 - r) * coefficient, g + (255 - g) * coefficient, b + (255 - b) * coefficient, a);
34
+ }
35
+ /**
36
+ * Blend (aka mix) two colors together.
37
+ * @param background The background color
38
+ * @param overlay The overlay color that is affected by @opacity
39
+ * @param opacity Opacity (alpha) for @overlay
40
+ * @param [gamma=1.0] Gamma correction coefficient. `1.0` to match browser behavior, `2.2` for gamma-corrected blending.
41
+ */
42
+ export function blend(background, overlay, opacity, gamma = 1) {
43
+ const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);
44
+ const r = blendChannel(getRed(background), getRed(overlay));
45
+ const g = blendChannel(getGreen(background), getGreen(overlay));
46
+ const b = blendChannel(getBlue(background), getBlue(overlay));
47
+ // Alpha is interpolated too, and linearly — it is a coverage fraction, not a
48
+ // gamma-encoded channel, so `gamma` has no business in it. Hardcoding 255
49
+ // made `colord(a).mix(b)` return opaque where real colord carries the
50
+ // operands' alpha through, on a `mix` that is public API with a colord-shaped
51
+ // signature. Both operands opaque is byte-identical, which is every in-tree
52
+ // caller today.
53
+ const a = Math.round(getAlpha(background) * (1 - opacity) + getAlpha(overlay) * opacity);
54
+ return newColor(r, g, b, a);
55
+ }
56
+ /**
57
+ * The relative brightness of any point in a color space, normalized to 0 for
58
+ * darkest black and 1 for lightest white.
59
+ * @returns The relative brightness of the color in the range 0 - 1, with 3 digits precision
60
+ */
61
+ export function getLuminance(color) {
62
+ const r = getRed(color) / 255;
63
+ const g = getGreen(color) / 255;
64
+ const b = getBlue(color) / 255;
65
+ const apply = (v) => v <= 0.03928 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4;
66
+ const r1 = apply(r);
67
+ const g1 = apply(g);
68
+ const b1 = apply(b);
69
+ return Math.round((0.2126 * r1 + 0.7152 * g1 + 0.0722 * b1) * 1000) / 1000;
70
+ }
@@ -0,0 +1,5 @@
1
+ export { OFFSET_A, OFFSET_B, OFFSET_G, OFFSET_R, from, getAlpha, getBlue, getGreen, getRed, newColor, setAlpha, setBlue, setGreen, setRed, toNumber, } from './core.ts';
2
+ export type { Color } from './core.ts';
3
+ export { parse, parseColor, parseHex } from './parse.ts';
4
+ export { format, formatHEX, formatHEXA, formatHSLA, formatRGBA, toGLrgb, toHSLA, toRGBA, } from './format.ts';
5
+ export { alpha, blend, darken, getLuminance, lighten } from './functions.ts';