react-mutation-mapper 0.8.60 → 0.8.62

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 (35) hide show
  1. package/dist/component/ptm/PtmReferenceList.d.ts +1 -0
  2. package/dist/index.d.ts +0 -12
  3. package/dist/index.es.js +182 -1843
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/index.js +194 -1878
  6. package/dist/index.js.map +1 -1
  7. package/dist/styles.css +0 -229
  8. package/package.json +5 -4
  9. package/dist/component/oncokb/ArticleAbstractItem.d.ts +0 -5
  10. package/dist/component/oncokb/OncoKB.d.ts +0 -33
  11. package/dist/component/oncokb/OncoKB.spec.d.ts +0 -1
  12. package/dist/component/oncokb/OncoKBSuggestAnnotationLinkout.d.ts +0 -6
  13. package/dist/component/oncokb/OncoKbCard.d.ts +0 -20
  14. package/dist/component/oncokb/OncoKbCardBody.d.ts +0 -15
  15. package/dist/component/oncokb/OncoKbCardLevelsOfEvidenceDropdown.d.ts +0 -15
  16. package/dist/component/oncokb/OncoKbCardTitle.d.ts +0 -8
  17. package/dist/component/oncokb/OncoKbFeedback.d.ts +0 -12
  18. package/dist/component/oncokb/OncoKbHelper.d.ts +0 -33
  19. package/dist/component/oncokb/OncoKbSummaryTable.d.ts +0 -31
  20. package/dist/component/oncokb/OncoKbTooltip.d.ts +0 -21
  21. package/dist/component/oncokb/OncoKbTreatmentTable.d.ts +0 -86
  22. package/dist/component/oncokb/PmidItem.d.ts +0 -12
  23. package/dist/component/oncokb/RefComponent.d.ts +0 -9
  24. package/dist/component/oncokb/ReferenceList.d.ts +0 -13
  25. package/dist/component/oncokb/SummaryWithRefs.d.ts +0 -11
  26. package/dist/component/oncokb/constants.d.ts +0 -10
  27. package/dist/component/oncokb/icon/AnnotationIcon.d.ts +0 -13
  28. package/dist/component/oncokb/icon/CompactAnnotationIcon.d.ts +0 -8
  29. package/dist/component/oncokb/icon/LevelIcon.d.ts +0 -6
  30. package/dist/component/oncokb/icon/OncogenicIcon.d.ts +0 -6
  31. package/dist/component/oncokb/oncokbCard/BiologicalContent.d.ts +0 -8
  32. package/dist/component/oncokb/oncokbCard/EvidenceReferenceContent.d.ts +0 -9
  33. package/dist/component/oncokb/oncokbCard/ImplicationContent.d.ts +0 -11
  34. package/dist/util/OncoKbUtils.d.ts +0 -40
  35. package/dist/util/OncoKbUtils.spec.d.ts +0 -1
package/dist/index.es.js CHANGED
@@ -1,28 +1,27 @@
1
- import { __extends, __decorate, __spreadArrays, __assign, __awaiter, __generator } from 'tslib';
1
+ import { __extends, __decorate, __awaiter, __generator, __assign, __spreadArrays } from 'tslib';
2
2
  import * as _ from 'lodash';
3
3
  import ___default from 'lodash';
4
- import { makeObservable, observable, action, computed, reaction } from 'mobx';
4
+ import { makeObservable, observable, computed, action, reaction } from 'mobx';
5
5
  import { observer } from 'mobx-react';
6
6
  import * as React from 'react';
7
- import React__default, { useState } from 'react';
8
- import { DefaultTooltip, TruncatedText, getNCBIlink, trimOffHtmlTagEntities, cachePostMethodsOnClient, CanonicalMutationType, MutationTumorTypeFrequencyTable, FREQUENCY_COLUMNS_DEFINITION, FrequencyTableColumnEnum, CheckedSelect, getSelectedValuesMap, Checklist, MUT_COLOR_MISSENSE, MUT_COLOR_MISSENSE_PASSENGER, MUT_COLOR_INFRAME, MUT_COLOR_INFRAME_PASSENGER, MUT_COLOR_TRUNC, MUT_COLOR_TRUNC_PASSENGER, MUT_COLOR_SPLICE, MUT_COLOR_SPLICE_PASSENGER, STRUCTURAL_VARIANT_COLOR, STRUCTURAL_VARIANT_PASSENGER_COLOR, MUT_COLOR_OTHER, getCanonicalMutationType, getProteinImpactTypeFromCanonical, ProteinImpactType, getProteinImpactType, resolveColumnVisibility, resolveColumnVisibilityByColumnDefinition, longestCommonStartingSubstring, getTextWidth, unhoverAllComponents, SVGAxis, getComponentIndex, defaultHitzoneConfig, initHitZoneFromConfig, EditableSpan, DownloadControls, EllipsisTextTooltip, remoteData, WindowWrapper } from 'cbioportal-frontend-commons';
9
- import { CIVIC_NA_VALUE, deriveStructuralVariantType, generateQueryStructuralVariantId, generateQueryVariantId, OncoKbCardDataType, parseMyCancerGenomeLink, defaultArraySortMethod, defaultSortMethod, LEVELS, uniqueGenomicLocations, indexAnnotationsByGenomicLocation, getCivicEntry, getRemoteDataGroupStatus, getMyCancerGenomeLinks, isLinearClusterHotspot, is3dHotspot, calculateOncoKbAvailableDataType, getVariantAnnotation, getDbsnpRsId, getMyVariantInfoAnnotation, generateHgvsgByMutation, calcProteinChangeSortValue, Pathogenicity, extendMutations, formatNumberValueInSignificantDigits, generateTumorTypeDecomposition, formatPercentValue, countMutationsByProteinChange, numberOfLeadingDecimalZeros, filterLinearClusterHotspotsByMutations, filter3dHotspotsByMutations, isHotspot, defaultHotspotFilter, defaultStringArraySortMethod, extractExonInformation, formatExonLocation, formatExonLength, ptmColor, compareByPtmTypePriority, UniprotTopologyTrackToColor, UniprotTopologyTypeToTitle, PtmSource, PTM_SOURCE_URL, getMyVariantInfoAnnotationsFromIndexedVariantAnnotations, generateProteinChangeQuery, StructuralVariantType, generateAnnotateStructuralVariantQuery, getMyCancerGenomeData, genomicLocationString, convertUniprotFeatureToPtm, convertDbPtmToPtm, UniprotCategory, convertUniprotFeatureToUniprotTopology, groupPtmDataByPosition, groupPtmDataByTypeAndPosition, groupCancerHotspotDataByPosition, indexHotspotsData, fetchCivicGenes, fetchCivicVariants, getMutationsByTranscriptId, groupMutationsByProteinStartPos, groupHotspotsByMutations } from 'cbioportal-utils';
10
- import classnames from 'classnames';
11
- import autobind from 'autobind-decorator';
12
- import oncoKbLogoImgSrc from 'oncokb-styles/dist/images/logo/oncokb.svg';
13
- import { Tabs, Tab, Modal, ButtonGroup } from 'react-bootstrap';
14
- import { Collapse } from 'react-collapse';
15
- import ReactTable from 'react-table';
16
- import { If, Then, Else } from 'react-if';
17
- import 'oncokb-styles/dist/oncokb.css';
7
+ import { DefaultTooltip, TruncatedText, getNCBIlink, cachePostMethodsOnClient, CanonicalMutationType, MutationTumorTypeFrequencyTable, FREQUENCY_COLUMNS_DEFINITION, FrequencyTableColumnEnum, CheckedSelect, getSelectedValuesMap, Checklist, MUT_COLOR_MISSENSE, MUT_COLOR_MISSENSE_PASSENGER, MUT_COLOR_INFRAME, MUT_COLOR_INFRAME_PASSENGER, MUT_COLOR_TRUNC, MUT_COLOR_TRUNC_PASSENGER, MUT_COLOR_SPLICE, MUT_COLOR_SPLICE_PASSENGER, STRUCTURAL_VARIANT_COLOR, STRUCTURAL_VARIANT_PASSENGER_COLOR, MUT_COLOR_OTHER, getCanonicalMutationType, getProteinImpactTypeFromCanonical, ProteinImpactType, getProteinImpactType, resolveColumnVisibility, resolveColumnVisibilityByColumnDefinition, longestCommonStartingSubstring, getTextWidth, unhoverAllComponents, SVGAxis, getComponentIndex, defaultHitzoneConfig, initHitZoneFromConfig, EditableSpan, DownloadControls, EllipsisTextTooltip, remoteData, WindowWrapper } from 'cbioportal-frontend-commons';
8
+ import classNames from 'classnames';
9
+ import { CIVIC_NA_VALUE, parseMyCancerGenomeLink, uniqueGenomicLocations, indexAnnotationsByGenomicLocation, getCivicEntry, getRemoteDataGroupStatus, getMyCancerGenomeLinks, isLinearClusterHotspot, is3dHotspot, OncoKbCardDataType, defaultArraySortMethod, getVariantAnnotation, defaultSortMethod, getDbsnpRsId, getMyVariantInfoAnnotation, generateHgvsgByMutation, calcProteinChangeSortValue, Pathogenicity, extendMutations, formatNumberValueInSignificantDigits, generateTumorTypeDecomposition, formatPercentValue, countMutationsByProteinChange, numberOfLeadingDecimalZeros, filterLinearClusterHotspotsByMutations, filter3dHotspotsByMutations, isHotspot, defaultHotspotFilter, extractExonInformation, formatExonLocation, formatExonLength, ptmColor, compareByPtmTypePriority, UniprotTopologyTrackToColor, UniprotTopologyTypeToTitle, PtmSource, PTM_SOURCE_URL, getMyVariantInfoAnnotationsFromIndexedVariantAnnotations, getMyCancerGenomeData, genomicLocationString, convertUniprotFeatureToPtm, convertDbPtmToPtm, UniprotCategory, convertUniprotFeatureToUniprotTopology, groupPtmDataByPosition, groupPtmDataByTypeAndPosition, groupCancerHotspotDataByPosition, indexHotspotsData, fetchCivicGenes, fetchCivicVariants, getMutationsByTranscriptId, groupMutationsByProteinStartPos, groupHotspotsByMutations } from 'cbioportal-utils';
10
+ import { getIndicatorData, calculateOncoKbAvailableDataType, oncoKbAnnotationSortValue, OncoKB, OncoKbSummaryTable, LEVELS, getTumorTypeNameWithExclusionInfo, ReferenceList, generateProteinChangeQuery, StructuralVariantType, generateAnnotateStructuralVariantQuery, defaultOncoKbFilter, groupOncoKbIndicatorDataByMutations, defaultOncoKbIndicatorFilter } from 'oncokb-frontend-commons';
18
11
  import { GenomeNexusAPI, GenomeNexusAPIInternal } from 'genome-nexus-ts-api-client';
19
12
  import { OncoKbAPI } from 'oncokb-ts-api-client';
13
+ import autobind from 'autobind-decorator';
14
+ import ReactTable from 'react-table';
20
15
  import 'rc-tooltip/assets/bootstrap_white.css';
21
16
  import Select, { components } from 'react-select';
22
17
  import $ from 'jquery';
18
+ import { Collapse } from 'react-collapse';
19
+ import numeral from 'numeral';
23
20
  import Slider from 'react-rangeslider';
24
21
  import 'react-rangeslider/lib/index.css';
25
22
  import oncoKbImg from 'oncokb-styles/dist/images/oncogenic.svg';
23
+ import 'oncokb-frontend-commons/dist/styles.css';
24
+ import { ButtonGroup } from 'react-bootstrap';
26
25
  import request, { get } from 'superagent';
27
26
  import memoize from 'memoize-weak-decorator';
28
27
  import { cached } from 'mobxpromise';
@@ -30,7 +29,7 @@ import { cached } from 'mobxpromise';
30
29
  var annotationStyles = {"annotation-item-load":"annotation-module_annotation-item-load__1pDN0","annotation-item-text":"annotation-module_annotation-item-text__Gy_Jv","annotation-item-error":"annotation-module_annotation-item-error__5BhTo","annotation-item":"annotation-module_annotation-item__2EgnB"};
31
30
 
32
31
  function loaderIcon(className) {
33
- return (React.createElement("span", { className: classnames("" + annotationStyles['annotation-item'], "" + annotationStyles['annotation-item-load'], className) },
32
+ return (React.createElement("span", { className: classNames("" + annotationStyles['annotation-item'], "" + annotationStyles['annotation-item-load'], className) },
34
33
  React.createElement("i", { className: "fa fa-spinner fa-pulse" })));
35
34
  }
36
35
  function errorIcon(errorMessage) {
@@ -127,1607 +126,58 @@ var CivicCard = /** @class */ (function (_super) {
127
126
  React.createElement("p", null,
128
127
  React.createElement("span", { className: "civic-card-gene-name" },
129
128
  React.createElement("a", { href: this.props.geneUrl, target: "_blank" },
130
- React.createElement("b", null, this.props.geneName))),
131
- ' ',
132
- "- ",
133
- this.props.geneDescription)),
134
- React.createElement("div", { className: "col s12" },
135
- React.createElement("ul", null, this.generateVariants(this.props.variants))),
136
- React.createElement("div", { className: "item disclaimer" },
137
- React.createElement("span", null, "Disclaimer: This resource is intended for purely research purposes. It should not be used for emergencies or medical or professional advice.")))),
138
- React.createElement("div", { className: "item footer" },
139
- React.createElement("a", { href: this.props.geneUrl, target: "_blank" },
140
- React.createElement("img", { src: img$5, className: "civic-logo", alt: "CIViC" })))));
141
- }
142
- });
143
- return CivicCard;
144
- }(React.Component));
145
-
146
- var img$4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QETDRgRjnOYvgAAFfVJREFUeNrlW3mUVNWd/u6979XSCxRNA9INCIgii0TBqAi4EKISxTVRnKgxLkedyGQkxiTujkYxaswomkSdxETjIUhYXVDMSNTYqElABQZbAQVBoOnq7lreu/udP97romibpRUyMVN93qk6VW+53/fbf7/bwP/zF/l7P7Ai0QvDMsf7dXTM4Opkv68CJFOQmxZvlx+sagxfDrcHH/zzEnBC7bQeI2unLqtO1B/i0RScE3BwcA6QJoe8asL67JIRr7Q9tJqr/D8PASk/g7Pqf3HRoO7jf+MRCus0aPxwBwfrNIxTsM5CO4NNheXzl4a3nLNl23r7T0HA+Qc+ceOQmpNvhw3BiIcE9eGBwcFBOQPtFIxV0I5DmRAGwJZgDRY2XUmLxZzbn2tj+xv8xD7TDxrV66L5sAE86qOCplFdU4HKnikwyuAkYCM9AAA4Z2EcR9LLoEp342uD117bn+uj+/Pm1RUZMqLmvA/gOAihSBAfqe5JpHsmkaxMwEt6oKCgICCEgYCAEg8UDMRJ9K4ac1f/nod6X1gCDqs6s3eFXwtnFSgIKKGgDrChhSpqWGlBABCQki0SAIRQAA4JVonB9oSLv7AE9EuOuxNuhx8zzkLkJYpNHLKoQD2HZA+KJCPwYhIcykzeKXRL9n80XVFNvnAEeF6CpL3upzqn0G7l2mlwq6CkAjyDRA1BZZ2HinoPHmuHb+CcBpyFcwaUpFCVzLAvGgGkMlVNCPH7GCtgnYF1CtYpaKdgnQZJOiSqAL8C8CocSFLDxb9Zp6GdhLUClHio9DLJ/RWx9oeDIQAghIYwOVhnYJwCdTu41hbQikAIgHmAkhJaRaHQWAXjFLSVcDCwToNrbsru7f5RCdhJQly1uaLKNmonDiHWgIDAIw4gDpJoBNsNDBQoA3ieg4ccyikYJ6JcwHI4Z2GdRFE0606e4/6RCOhUPbeJ5Tf31sNngSWjFRMDRj1YR+G4gtxEAWYhlYKwHMpySBNCOwEHCw2HQDU1FsIWs4tnuv9rH0B2Z5tr7dKFObkFykpoK2L7bk97HJxzgGtPh22ZrzCwVkFajo30jdOcc/stk6X7WurlxDS1bBCbcw1PKmdLmV4U81mUElf68KujtDiK/YiLIw0NICc+xtrssnV7IJp8HiLoPgb/qcUsV09c1srXw4HCwZTOIiBgSQaW8naAd7akJYHJYY2Z09cY47pA+t+FALKX3xMApFgsmlXy90cHlsO58jSHgPkeEkkvMmbnYGITkHD4JGy4f0Pz/2zvhFTShTXscwL25sHlCyQAsGbb0uWb2l593RIG50xEAiGgCQovFRXGFu3SB3J8I1YU51zf4d6dEfG5SaD7AXz5YkuLbhAPntrCP4ID4BxgHcAoA/MZLByM09BOoGjyWGWeGsU5N53dZ1+TQPcT+I7vNNfWGq7MPfUNDbuzqlDEpFhY57At/7f565vebtwF6H1Owi4JqKmpIYMGDSGZTKYrar+rAwBIs/zwbWclCCGx0wPgdlSCIAwB3b50T/fZlyTslAil02l86/xLK8/9xjcvPGjg4O8kU+mRhWKh8b3GNQ8+9vjPn1j03Lyc1nqPNt/JdwQAGE1Wguy8po6OkRDrlV2zu0THdTin9Ll//4Hs9K+d0XP8+ImTajM9Dm7NtXz8zqoVLy5ZsnjTsrcaTKcEHD7qy+SXMx+776gJo64p/WqBPqg+5KChfR885aQTH3ztzw2/uvDyqf+6YcMGtZfgafl3johI6u1r/hQ8C+OMjq9znYDd1ecSCVdfeU2/a797/Ud9etWCCwVjNRgBJk08GZd+60o8/YdZR19/y7VvKqV2LLCurg6LF7yUPWrCqGsigyxbPgWgAauB48aNveT5+X/kvXr18vcAnsRXlr8TDU3b5e0ifqNMMM4OnZWwhprd3WM3Wob77p456bYbZ3yU8Hx8sm0rcoUWFIM8coUctjc3QSmJC86/8I1fP/LEd3fyAT+b8fPz+gzsloHdRZRNAZ4HFAoSQwYPwZ23333PXnj+jmRQy2QpCrSz4DqoggHnZdR3Br7TcHjB1IsPPf+cC1/IZrdDaoGE78NnPnzPA6UUHqOw2mBb01Yce8z4n93wgxuPAQA6btxx9KwzTp8FtYeYwADP99CWa8GEY4+bduToI2t3A552BA+AEo2oF0DipNe5WPo7tMASIcuv2RsHW1lZ6V1/3a2rtNVIp1NIpdJI+D48j4FSBsaid8KiqLM9ux0nTTq5YcSIEYyee9b5o71KAGYv+sfOwliDZMLHlNOmXLUb8OgEBFXap87JMsu2sfBdqRlmqDSdELhLAlKpFPuvmU9e07dPX6QSSaTTaSQTCXgJD8zzQBkBoQAh8QHAaAXqUUyaOOkIOqBf/TgT7l1haZ2DsxYhDzBw4MArd6OaHdWXRe+8NAlqD4NRFIirQwDWKV12ze40ARNPOLnvG0vf/cs5Z595F2UE6XQKCT8Bz6PwWQSelkKuLXuehRAcNTU1x9NiEBSdBbQCoHaD3gBKKyglUAyKqKmp6TN69Oghu7F/2uHwLLW0vbR1kfeLzWDHYxQNTRydOvqBEgmDBg2umPnTx65+fv7iD0eNGjJSKhfZfILB86IDsdQjR2OB9gmU0dBaQkkJP+HXe9uy2z4QSgEOIPDBSCdtEgdIbhGKAgpBAUpJCCFw3rlT/7x69er+HdJWugsfQJxTsZzdDg2Iw180EFEwZkf2uFN8BEh1dSZ56YWXjb/t5rvnd6ulMMVIcKlkJGVro6u0Lo+T8b2thtEaykgIKQAAUshNtHHN6lW5XCuKQR6hkNBFB/AykzCAzlm05VuRL+QgJYcUEm25NtT17Zu54Uc3PrULSdFPHyoOg2SHxbU7QVgYE8IJis7uccHUi49Y3rDmg/tn3jO/W3cKcIAlAC8BUA+gLDocQUnDrDWw1kJbDa01lJYQIoRWCsxnyG7PrqCz587evn7DOnARIlfIoq2YR6EtBM9K8GaJtqY8tjVvRWsuCy5CGGvRmm+NxlrWYfiwYVNuv/Wu73fiAzraL7MwcGUOoH2BUeNUwzqFUBdQZv9kyuQzhr/8fMPCJ37365cPGt4nAxH/mgLglxlL/GTiEHWUjInU3WgorSCVABcBlI7snHOOt5a/tYxms1n3h7mzTwx5Ea1tLWhpbcL21m3Ylt2CLds/QVN2K/LFHLRW0FqjOdsMKSQqKyuRSqaglcIxRx91y803/sePO5E8KXdoBlEYdDAl1VRGQlsJayUCU0RWbmoCQI4bd9yBT/92wSMLn5m/9IRTjjkWJtbKduBsZ+CxS4GJCdVWQRsFrQSE4BF4pWCMQSKZwOZPNvOGhobAA4DHn3z8T2OPHYu6vnVI+AkkE0kwFnsRR2C0QsBD5PI5cMGRTqdj5+VgjAHnASZ/dfK0XjU9e99w2w3X5dpawzIySku1gsE5EfX/oKG1AnES2nFsFJuxvtjIRx9x9GHnXTD5xOnTpt8Cvz1djEHvqiKw0WGMiyUuoZSElBKhCGPwEkZHGqiUwmO/eqzPTkXNlClTBlx95dUfWWORTqfgeT4IIXDOQcY3gwMooyXwzkbNTEIokokUevaoxdamJj79e/82btV7Kz/pGMoqk736fL3uoddr00PACEG3mgTa8nm827wG1TbXevYNIzD1qomZve5Q2Dh/0YCWDjJW9UjdBcKwgJCHkDJaPxccjDHMXTD3nJkPzZy303i8sbGxbeTIkT3r6+uPLhaD2GlEah+Nujwwj0UDTkrBKAOl8WfmwfcSMEajZ02td8bpZ12Ry7WtWrn63fVlWsASLFFxaPXXLq3wMgitwtZ8K2iyjZ80ta7ww8dPSY05bmhVl/pTJnbSChF4zSGkgAhDBLwIISW0VhEBKirDG95ouGvGT2Y81Gm9nMlk6KO/eNRkumeglILv+2CUgVBSquHbO7ulIGMdCAh8PwGP+SCUIuGnUFFRiSUvLV508x033drc3NQGgKUrqnuf2euhV6XXG8QJfvzJtfzs7x+cqhvUK9XlzqQFIAEtAaEkpOLgPEDIQwjJoZWCVAqccxhjYKzBC0temHbf/fc9rLV2u2xkDh06NHnn7XeG1VXVsNZGkmc7JF86sZRhORBCwKgHz/NBiQcQgBKKyspqZFuymHHvHZfPXzj3VQBsTO87Vp02+ESceltd65hJA1KU0q6DdwAEoIUFVxxcROCFFJCx1IWMchUQIJvNYvac2WOefOrJFR1z3o5TV9Lc3Gw+2vDRz8YdO+6HyUQSWuuSuhNCSmpPCS2RQgkFZV5EConST0IIhBSoqqzCSZMmn96nb22vte9v3HzVhReO/cGsSZn6gzIpQoj3WcELrhGIIgIegPMiuIgdn9Lggkfx32i8s/Kd12fcM2PkH//7jxv2tpUNABg7dmyP6d+d3lzTowbGGPieD8ZYSRsIjTY8uLimJaSdIAYS56GUeDBWIygG6F7dGwcPGQivm+Ge53Vd6rHNWw6EnCPkAbgIIaWI/JVUEFLAxLnFho83YNbTs8Y899xz73DObQcK90wAADJixIiqW2+6ta1nTc+IBOaD+WwnjQAAZxxACShhMQlRr18qCaOA2p59MXhAPbwen2MOpQAZaARhgFAUoaSEVCoGL6GtgTEGW7ZuweIli6fOfnr2wqamJrmLQarbKwIAoL6+Pvm9a77368NHHX5eexj0PA+MsLIqMapgGfNBCYGzgJQCyWQV+vcdiAPqu0UJzGd5WcCEFmHAUeQFSCmgYuBSSjhrYZzF5i2b8eJLL14+b/68ORs2bCiWauzPSwAA4vs+vfyyy88/47QzfpNOpWGMAWNRdEB7iekcPM+HMRpKGfTsUY8hAw9CZU/6mfeiOQ6IIkchCMBVAK0VlNZQUkfps7HY1rQVC55ZMG3hooW/37hxY64sddp3BLQf48ePH3jFZVe82a++X8a0l22ElG7HRQhGExg8YAQGH1gHVoXPBl4CPBAIggChCGC0hlQKSqtS9vnxpo8xd/7cq5557pl5W7ZsyZUB3mcEoLNGR01NTeLbF3/72q+c8JVbEokEpJSglCKfb0XCr8IRh41F//qaSOW7Cl4DsqhQDIoIRQCtYolrBUY9cBFi3fp1fNbTs6YtWbLk2eZsc2FHIlwCbjsB/rkJQMcW1ejRowdfdMG3fnvIkIPHbG/ehky3Pjh6zAT07lMZAfe7CDxQCIph5OC0hNYGSikEYRFCCrzX+F7jH+bN/fHSPy19OZ/PF8oS4bJqoCR114kWdDkK7LHd7XmeN2bMEaOnX/3Dead8dUqmWzc/+mVvtzRpQBc1imGAgAdQWsIYA60NWnNZtLRkobTFI489cvnCRQuejUHqMsCfmwD2GQgoaYW1Fs6geN9PHvhOJpNKlao2uhsCXBzSChqFXAG5YhsCXizF89a2LD7cuB651gIq0z3Qp3YAYPHJ2g/XNmazzfkyoHYPQPfqxT7jtJcAIHUH1Hd7f+XGzd0yiZQRUWdm51lQh9xdRLG8kC8gHwMXUkAKCZpWaAubsWH9FtR0OwBDBh+GA2rr4HkMXzrsiCMv+uYlV1hrtvzlb2+udM7prkp6XxLQ7v3ZijdWL+/dr3uG54GE30kXz+7I3mSoUCwUPwXcMgGRaMHrL67k8x95ozDu+PE46stjPI8moI0GpYCxGh5lmDRx8kkTjp1w4lt/XfZ8NpstdqLye5NI75s9Qr984Fc3DB5af2CxxcDzYhdsdtTnkIDmDrwokSvk0JJrQVuhFUEYgIdRE0Slt2PN++/x3928onXmTW/jb681pyq6JVAIC5BaIplKIpVKI5WsAGVRFBg39vgxixcsbTxp0inD98Uusc9kAl85buKB/3n//bNzLTLqHFEC4kjkkbSDMgZSaoQiQDEoIORFCMEhpYy2yVbnsWHzh/zl335cePXhQK9b52UYoV6vSqLHTD4QFam0RxxAKQMlBJQRMBbtK9dKoaqyGlNOPfOyllz2zeUr/rq2KxLvKgGd2v+cp55t7NG9Z0oZBUoJiLOwsDDaQJm4AcmLcQjjkFJDCAlCHFSyBX9auKp14Q+yesP7mVR3UltVRX0oK+ERoUd/rR/SFRWec5GTjRqdBISSqBijBNoaJPwETpo4eaqy+t2GZa+9txfO0O1xf8DeMPn1M88bPHTo0Ey+mIPneTAmjkXEwBoLrSWEElBKQhsNraLeH2UUK9et+GjBI2+t+3jFoLE9Uv1TByYzSPbw0NYEeDQFDz6MVVBKwmnA6KjASfoJMOdHGsEIPEqhjQYIwU3X3jxr3foPJsxfMOfNfbVLbHdqQy675Mo5RmtYY2GNhTIKSnMIwRGEBRSCIkIeRD04HrWouBB49oVFi/7l3EumLH7prRf7pPqnerMq+DQJn6Tg0xQ86oNSCm1kpDVKwlgNIQVCySFkCG0UjLawACilUevbOcy89xevHjzk4B5djQBd0QAAwMgRI9PDDhk2si3XAs+jUMYAJsrNjZIQRsb9eAchOZx1UFrh7p/efe28efPmA6C90rV1FTQFSn34rAI+88CIBIEH5rMU1wUUCwVUpCicAxil8VQnCeuAhGcBRINPxjxIFXWpH3348Q9PPHl8d+dcZ+mv2yfb5IYPO6xvIulDGwmlIlWVQiDkAQIRQsV9uCAsRklNrhXX/ei6C+bNmzenPXnxkjqgxIukDx8M0UZJn3pozm1ZuWLlX1bmii0IwjwKhRxCzsF5lCKHYQghZdT7Nw6ERM3aMAwxbOjI1NlTzhm1X/cJjvnSkRNKHRgTdWACHkRNSKOhlAbnkbcvBkVMv276ma+89sorOxcpzjKaAG0fGMdjrBRJYFuwbcUdN9979v0P33fVhxvXQhmBQiGHfD4PzkU81tJwsXOkQMkvWGtw3vkX/K6rkYB2wQG6nr16jZJKQhsJKSPJKCVgTVS4CMERhiGkknjg4Qeuffvtt9/skKxYUC3Lg0+7xhJCkKTJ7gDUyy++8vz066Z/6bkXFy0q8jy4ECgUCuChhHEmnk8QEMbA4n+0klJiyKDBhwwbNqxqX2hAp6wZIyqdM5AymrBGxYuFUro0eDDW4PVlr/913rx5T3bI2R0AZwzhDro0ddpp74FTQft52eZs9t777r3ioV8+cHlzy1YUgzyEEqCEgcYdKUYJiMdAWaRgyUQKIw4dMaArTrBLJqCNUUJGkxelos6rsSbeN6AgYkk1LGt4rJPqLNoJI6HgdNQ4bd8m176bnGjVobHhXnjhhUX33D9jStP2bWCMIZVKIZlIgHkeCGVgZOeZRV3/+sO6EA1clwhobm5a2d6JNdZGBBgTl7CRFuQLefi+n+nQmWkvW53ylSCgKB+zuPjPwMiO5wOwK1asaHh+ybPTBg4YhMqKCvi+Dz9BwWj5ZNRG/5BBaI+9NGvXFQ1wALBq9eolUgloo+GsKyUqxsRaIBWstRg+bPi/x/e2HSVK3Y7tC9F2GRvvFrdw3k4asFMY+/Lhx/TrWdMDqXQaySQFo4h6kvG12hpwHiJfyDV2pSD6X4wYFk47H4gBAAAAAElFTkSuQmCC";
147
-
148
- var img$3 = "data:image/png;base64,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";
149
-
150
- function hideArrow$1(tooltipEl) {
151
- var arrowEl = tooltipEl.querySelector('.rc-tooltip-arrow');
152
- arrowEl.style.display = 'none';
153
- }
154
- function sortValue$8(civicEntry) {
155
- var score = 0;
156
- if (civicEntry) {
157
- score = 1;
158
- }
159
- return score;
160
- }
161
- function download$7(civicEntry) {
162
- if (!civicEntry) {
163
- return CIVIC_NA_VALUE;
164
- }
165
- var variants = ___default.values(civicEntry.variants);
166
- var values = [];
167
- if (variants && variants.length > 0 && variants[0].evidenceCounts) {
168
- ___default.forEach(variants[0].evidenceCounts, function (value, key) {
169
- values.push(key + ": " + value);
170
- });
171
- }
172
- // this indicates that we have an entry but the evidence is empty
173
- if (values.length === 0) {
174
- return CIVIC_NA_VALUE;
175
- }
176
- return values.join(', ');
177
- }
178
- var Civic = /** @class */ (function (_super) {
179
- __extends(Civic, _super);
180
- function Civic(props) {
181
- var _this = _super.call(this, props) || this;
182
- Object.defineProperty(_this, "tooltipDataLoadComplete", {
183
- enumerable: true,
184
- configurable: true,
185
- writable: true,
186
- value: false
187
- });
188
- makeObservable(_this);
189
- _this.cardContent = _this.cardContent.bind(_this);
190
- return _this;
191
- }
192
- Object.defineProperty(Civic.prototype, "render", {
193
- enumerable: false,
194
- configurable: true,
195
- writable: true,
196
- value: function () {
197
- var civicContent = (React.createElement("span", { className: "" + annotationStyles['annotation-item'] }));
198
- var civicImgWidth = 14;
199
- var civicImgHeight = 14;
200
- var civicImgSrc = !this.props.hasCivicVariants
201
- ? img$3
202
- : img$4;
203
- if (this.props.civicStatus == 'error') {
204
- civicContent = errorIcon('Error fetching Civic data');
205
- }
206
- else if (this.props.civicEntry !== undefined) {
207
- if (this.props.civicEntry !== null &&
208
- this.props.civicStatus == 'complete') {
209
- civicContent = (React.createElement("span", { className: "" + annotationStyles['annotation-item'] },
210
- React.createElement("img", { width: civicImgWidth, height: civicImgHeight, src: civicImgSrc, alt: "Civic Variant Entry" })));
211
- civicContent = (React.createElement(DefaultTooltip, { overlay: this.cardContent.bind(this, this.props.civicEntry), placement: "right", trigger: ['hover', 'focus'], onPopupAlign: hideArrow$1, destroyTooltipOnHide: false }, civicContent));
212
- }
213
- }
214
- else {
215
- // It's still unknown (undefined) if the current gene has a Civic entry or not.
216
- civicContent = loaderIcon('pull-left');
217
- }
218
- return civicContent;
219
- }
220
- });
221
- Object.defineProperty(Civic.prototype, "cardContent", {
222
- enumerable: false,
223
- configurable: true,
224
- writable: true,
225
- value: function (civicEntry) {
226
- return (React.createElement(CivicCard, { title: "CIViC Variants", geneName: civicEntry.name, geneDescription: civicEntry.description, geneUrl: civicEntry.url, variants: civicEntry.variants }));
227
- }
228
- });
229
- __decorate([
230
- observable
231
- ], Civic.prototype, "tooltipDataLoadComplete", void 0);
232
- Civic = __decorate([
233
- observer
234
- ], Civic);
235
- return Civic;
236
- }(React.Component));
237
-
238
- var NoClinvarData = function () {
239
- return (React.createElement(DefaultTooltip, { placement: "topLeft", overlay: React.createElement("span", null, "Variant has no ClinVar data.") },
240
- React.createElement("span", { style: {
241
- height: '100%',
242
- width: '100%',
243
- display: 'block',
244
- overflow: 'hidden',
245
- } }, "\u00A0")));
246
- };
247
- var ClinvarSummary = function (props) {
248
- if (!props.clinvar) {
249
- return React.createElement(NoClinvarData, null);
250
- }
251
- else {
252
- var clinvarId = props.clinvar.clinvarId;
253
- var clinvarLink = "https://www.ncbi.nlm.nih.gov/clinvar/variation/" + clinvarId + "/";
254
- var clinicalSignificance = props.clinvar.clinicalSignificance;
255
- var conflictingClinicalSignificance = props.clinvar.conflictingClinicalSignificance;
256
- return (React.createElement(TruncatedText, { maxLength: 30, text: clinicalSignificance, addTooltip: "always", tooltip: React.createElement("div", { style: { maxWidth: 300 } },
257
- React.createElement("div", null, clinicalSignificance),
258
- conflictingClinicalSignificance && (React.createElement("div", null, conflictingClinicalSignificance)),
259
- React.createElement("div", null,
260
- "(ClinVar ID:",
261
- ' ',
262
- React.createElement("a", { href: clinvarLink, target: "_blank" }, clinvarId),
263
- ")")) }));
264
- }
265
- };
266
-
267
- // oncogenic value => score
268
- // (used for sorting purposes)
269
- var ONCOGENIC_SCORE = {
270
- Unknown: 0,
271
- Inconclusive: 0,
272
- 'Likely Neutral': 0,
273
- Resistance: 5,
274
- 'Likely Oncogenic': 5,
275
- Oncogenic: 5,
276
- };
277
- // sensitivity level => score
278
- // (used for sorting purposes)
279
- var SENSITIVITY_LEVEL_SCORE = {
280
- '4': 1,
281
- '3B': 2,
282
- '3A': 3,
283
- '2': 5,
284
- '1': 6,
285
- };
286
- // resistance level <-> score
287
- // (used for sorting purposes)
288
- var RESISTANCE_LEVEL_SCORE = {
289
- R3: 1,
290
- R2: 2,
291
- R1: 3,
292
- };
293
- // diagnostic level <-> score
294
- // (used for sorting purposes)
295
- var DIAGNOSTIC_LEVEL_SCORE = {
296
- Dx3: 1,
297
- Dx2: 2,
298
- Dx1: 3,
299
- };
300
- // prognostic level <-> score
301
- // (used for sorting purposes)
302
- var PROGNOSTIC_LEVEL_SCORE = {
303
- Px3: 1,
304
- Px2: 2,
305
- Px1: 3,
306
- };
307
- function normalizeLevel(level) {
308
- if (level) {
309
- var matchArray = level.match(/LEVEL_(.*)/);
310
- if (matchArray && matchArray.length >= 2) {
311
- return matchArray[1];
312
- }
313
- else {
314
- return level;
315
- }
316
- }
317
- else {
318
- return null;
319
- }
320
- }
321
- function normalizeOncogenicity(oncogenicity) {
322
- return (oncogenicity || 'unknown')
323
- .trim()
324
- .toLowerCase()
325
- .replace(/\s/, '-');
326
- }
327
- function levelIconClassNames(level) {
328
- if (level) {
329
- return "oncokb icon level-" + level;
330
- }
331
- return '';
332
- }
333
- function oncogenicityIconClassNames(oncogenicity) {
334
- return "oncokb icon " + normalizeOncogenicity(oncogenicity);
335
- }
336
- function annotationIconClassNames(type, highestLevel, indicator) {
337
- return type === OncoKbCardDataType.BIOLOGICAL
338
- ? oncogenicityIconClassNames((indicator === null || indicator === void 0 ? void 0 : indicator.oncogenic) || '')
339
- : levelIconClassNames(normalizeLevel(highestLevel) || '');
340
- }
341
- function calcHighestIndicatorLevel(type, indicator) {
342
- var highestLevel = '';
343
- if (indicator) {
344
- switch (type) {
345
- case OncoKbCardDataType.TXS:
346
- highestLevel = indicator.highestSensitiveLevel;
347
- break;
348
- case OncoKbCardDataType.TXR:
349
- highestLevel = indicator.highestResistanceLevel;
350
- break;
351
- case OncoKbCardDataType.DX:
352
- highestLevel = indicator.highestDiagnosticImplicationLevel;
353
- break;
354
- case OncoKbCardDataType.PX:
355
- highestLevel = indicator.highestPrognosticImplicationLevel;
356
- break;
357
- }
358
- }
359
- return highestLevel;
360
- }
361
- function calcOncogenicScore(oncogenic) {
362
- return ONCOGENIC_SCORE[oncogenic] || 0;
363
- }
364
- function calcSensitivityLevelScore(level) {
365
- return SENSITIVITY_LEVEL_SCORE[normalizeLevel(level) || ''] || 0;
366
- }
367
- function calcResistanceLevelScore(level) {
368
- return RESISTANCE_LEVEL_SCORE[normalizeLevel(level) || ''] || 0;
369
- }
370
- function calcDiagnosticLevelScore(level) {
371
- return DIAGNOSTIC_LEVEL_SCORE[normalizeLevel(level) || ''] || 0;
372
- }
373
- function calcPrognosticLevelScore(level) {
374
- return PROGNOSTIC_LEVEL_SCORE[normalizeLevel(level) || ''] || 0;
375
- }
376
- /**
377
- * Return combined alterations name, separated by comma.
378
- * Same location variant will be truncated into AALocationAllele e.g. V600E/K
379
- *
380
- * @param {Array} alterations - List of alterations
381
- * @return {string} - Truncated alteration name
382
- */
383
- function mergeAlterations(alterations) {
384
- var positions = {};
385
- var regular = [];
386
- var regExp = new RegExp('^([A-Z])([0-9]+)([A-Z]$)');
387
- if (___default.isString(alterations)) {
388
- return alterations;
389
- }
390
- ___default.each(alterations, function (alteration) {
391
- var result = regExp.exec(alteration);
392
- if (___default.isArray(result) && result.length === 4) {
393
- if (!positions.hasOwnProperty(result[2])) {
394
- positions[result[2]] = {};
395
- }
396
- if (!positions[result[2]].hasOwnProperty(result[1])) {
397
- // Avoid duplication, use object instead of array
398
- positions[result[2]][result[1]] = {};
399
- }
400
- positions[result[2]][result[1]][result[3]] = 1;
401
- }
402
- else {
403
- regular.push(alteration);
404
- }
405
- });
406
- ___default.each(___default.keys(positions)
407
- .map(function (e) {
408
- return Number(e);
409
- })
410
- .sort(), function (position) {
411
- ___default.each(___default.keys(positions[position]).sort(), function (aa) {
412
- regular.push(aa +
413
- position +
414
- ___default.keys(positions[position][aa])
415
- .sort()
416
- .join('/'));
417
- });
418
- });
419
- return regular.join(', ');
420
- }
421
- /**
422
- * Return the positional variant of the missense mutation
423
- * @param alteration The missense mutation
424
- */
425
- function getPositionalVariant(alteration) {
426
- var regExp = new RegExp('^([A-Z]+)([0-9]+)([A-Z]*)$');
427
- var result = regExp.exec(alteration);
428
- // Only if the alteration is missense mutation or positional variant
429
- // result[0]: matched alteration
430
- // result[1]: reference alleles (there could be multiple reference alleles, we only return the first allele)
431
- // result[2]: position(protein start/end)
432
- // result[3]: variant alleles (empty if the alteration is positional variant already)
433
- if (___default.isArray(result) &&
434
- result.length === 4 &&
435
- (!result[3] || result[1].length === result[3].length)) {
436
- return "" + result[1][0] + result[2];
437
- }
438
- return undefined;
439
- }
440
- function getTumorTypeName(tumorType) {
441
- if (!tumorType) {
442
- return '';
443
- }
444
- else if (tumorType.name) {
445
- return tumorType.name;
446
- }
447
- else if (tumorType.mainType) {
448
- return tumorType.mainType.name;
449
- }
450
- else {
451
- return '';
452
- }
453
- }
454
- function getTumorTypeNameWithExclusionInfo(tumorType, excludedTumorTypes) {
455
- var name = getTumorTypeName(tumorType);
456
- if (!___default.isEmpty(excludedTumorTypes)) {
457
- name = name + " (excluding " + excludedTumorTypes
458
- .map(function (ett) { return getTumorTypeName(ett); })
459
- .join(', ') + ")";
460
- }
461
- return name;
462
- }
463
- function groupOncoKbIndicatorDataByMutations(mutationsByPosition, oncoKbData, getTumorType, getEntrezGeneId, filter) {
464
- var indicatorMap = {};
465
- ___default.keys(mutationsByPosition).forEach(function (key) {
466
- var position = Number(key);
467
- var indicators = mutationsByPosition[position]
468
- .map(function (mutation) {
469
- return getIndicatorData(mutation, oncoKbData, getTumorType, getEntrezGeneId);
470
- })
471
- .filter(function (indicator) {
472
- return indicator !== undefined && (!filter || filter(indicator));
473
- });
474
- if (position > 0 && indicators.length > 0) {
475
- indicatorMap[position] = indicators;
476
- }
477
- });
478
- return indicatorMap;
479
- }
480
- function getIndicatorData(mutation, oncoKbData, getTumorType, getEntrezGeneId) {
481
- if (oncoKbData.indicatorMap === null) {
482
- return undefined;
483
- }
484
- var id = '';
485
- // @ts-ignore
486
- var sv = mutation.structuralVariant;
487
- if (sv) {
488
- var structuralVariantType = deriveStructuralVariantType(sv);
489
- id = generateQueryStructuralVariantId(sv.site1EntrezGeneId, sv.site2EntrezGeneId, getTumorType(mutation), structuralVariantType);
490
- }
491
- else {
492
- id = generateQueryVariantId(getEntrezGeneId(mutation), getTumorType(mutation), mutation.proteinChange, mutation.mutationType);
493
- }
494
- return oncoKbData.indicatorMap[id];
495
- }
496
- function defaultOncoKbIndicatorFilter(indicator) {
497
- return indicator.oncogenic
498
- .toLowerCase()
499
- .trim()
500
- .includes('oncogenic');
501
- }
502
- function defaultOncoKbFilter(mutation, oncoKbData, getTumorType, getEntrezGeneId) {
503
- var filter = true;
504
- if (oncoKbData && getTumorType && getEntrezGeneId) {
505
- var indicatorData = getIndicatorData(mutation, oncoKbData, getTumorType, getEntrezGeneId);
506
- filter = indicatorData
507
- ? defaultOncoKbIndicatorFilter(indicatorData)
508
- : false;
509
- }
510
- return filter;
511
- }
512
-
513
- var img$2 = "data:image/png;base64,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";
514
-
515
- var mcgStyles = {"link-list":"myCancerGenome-module_link-list__2wFhH"};
516
-
517
- function placeArrow$1(tooltipEl) {
518
- var arrowEl = tooltipEl.querySelector('.rc-tooltip-arrow');
519
- arrowEl.style.left = '10px';
520
- }
521
- function sortValue$7(links) {
522
- return links.length > 0 ? 1 : 0;
523
- }
524
- function download$6(links) {
525
- return links.length > 0 ? 'present' : 'not present';
526
- }
527
- function myCancerGenomeLinks(linksHTML) {
528
- var links = [];
529
- ___default.each(linksHTML, function (link, index) {
530
- // TODO this is a workaround, ideally we should fix the data itself
531
- // parse the data as an HTML dom element, since it is formatted as an HTML link.
532
- var myCancerGenomeLink = parseMyCancerGenomeLink(link);
533
- if (myCancerGenomeLink) {
534
- links.push(React.createElement("li", { key: index },
535
- React.createElement("a", { href: myCancerGenomeLink.url, target: "_blank" }, myCancerGenomeLink.text)));
536
- }
537
- });
538
- return (React.createElement("span", null,
539
- React.createElement("b", null, "My Cancer Genome links:"),
540
- React.createElement("br", null),
541
- React.createElement("ul", { className: mcgStyles['link-list'] }, links)));
542
- }
543
- var MyCancerGenome = /** @class */ (function (_super) {
544
- __extends(MyCancerGenome, _super);
545
- function MyCancerGenome() {
546
- return _super !== null && _super.apply(this, arguments) || this;
547
- }
548
- Object.defineProperty(MyCancerGenome.prototype, "render", {
549
- enumerable: false,
550
- configurable: true,
551
- writable: true,
552
- value: function () {
553
- var myCancerGenomeContent = (React.createElement("span", { className: "" + annotationStyles['annotation-item'] }));
554
- if (this.props.linksHTML.length > 0) {
555
- var arrowContent = React.createElement("div", { className: "rc-tooltip-arrow-inner" });
556
- var tooltipContent = myCancerGenomeLinks(this.props.linksHTML);
557
- myCancerGenomeContent = (React.createElement(DefaultTooltip, { overlay: tooltipContent, placement: "topLeft", trigger: ['hover', 'focus'], arrowContent: arrowContent, onPopupAlign: placeArrow$1 },
558
- React.createElement("span", { className: annotationStyles['annotation-item'] + " mcg" },
559
- React.createElement("img", { width: "14", height: "14", src: img$2, alt: "My Cancer Genome Symbol" }))));
560
- }
561
- return myCancerGenomeContent;
562
- }
563
- });
564
- return MyCancerGenome;
565
- }(React.Component));
566
-
567
- function hideArrow(tooltipEl) {
568
- var arrowEl = tooltipEl.querySelector('.rc-tooltip-arrow');
569
- arrowEl.style.display = 'none';
570
- }
571
- var AnnotationIcon = function (props) {
572
- if (props.availableDataTypes !== undefined &&
573
- !props.availableDataTypes.includes(props.type)) {
574
- return null;
575
- }
576
- var highestLevel = calcHighestIndicatorLevel(props.type, props.indicator);
577
- return (React__default.createElement(AnnotationIconWithTooltip, { tooltipOverlay: props.tooltipOverlay, icon: React__default.createElement("i", { className: annotationIconClassNames(props.type, highestLevel, props.indicator), "data-test": "oncogenic-icon-image" }) }));
578
- };
579
- var AnnotationIconWithTooltip = function (props) {
580
- if (props.icon) {
581
- return (React__default.createElement(DefaultTooltip, { overlayClassName: "oncokb-tooltip", overlay: function () {
582
- return props.tooltipOverlay ? props.tooltipOverlay : null;
583
- }, placement: "right", trigger: ['hover', 'focus'], onPopupAlign: hideArrow, destroyTooltipOnHide: true },
584
- React__default.createElement("span", { className: "" + annotationStyles['annotation-item'] }, props.icon)));
585
- }
586
- else {
587
- return null;
588
- }
589
- };
590
-
591
- var BIOLOGICAL_COLOR_MAP = {
592
- oncogenic: '#0968C3',
593
- 'likely-oncogenic': '#0968C3',
594
- resistance: '#0968C3',
595
- neutral: '#696969',
596
- 'likely-neutral': '#696969',
597
- inconclusive: '#AAAAAA',
598
- vus: '#696969',
599
- unknown: '#CCCCCC',
600
- };
601
- var LEVEL_COLOR_MAP = {
602
- '1': '#33A02C',
603
- '2': '#1F78B4',
604
- '3': '#984EA3',
605
- '3A': '#984EA3',
606
- '3B': '#BE98CE',
607
- '4': '#424242',
608
- R1: '#EE3424',
609
- R2: '#F79A92',
610
- R3: '#FCD6D3',
611
- Dx1: '#33A02C',
612
- Dx2: '#1F78B4',
613
- Dx3: '#984EA3',
614
- Px1: '#33A02C',
615
- Px2: '#1F78B4',
616
- Px3: '#984EA3',
617
- };
618
- function getLevelColor(highestLevel, defaultColor) {
619
- if (defaultColor === void 0) { defaultColor = '#CCCCCC'; }
620
- var level = normalizeLevel(highestLevel || null) || '';
621
- return LEVEL_COLOR_MAP[level] || defaultColor;
622
- }
623
- function shouldDrawShape(type, level, availableDataTypes) {
624
- return (level &&
625
- availableDataTypes !== undefined &&
626
- availableDataTypes.includes(type));
627
- }
628
- function getOncogenicShape(indicator) {
629
- var oncogenicity = normalizeOncogenicity((indicator === null || indicator === void 0 ? void 0 : indicator.oncogenic) || '');
630
- var color = BIOLOGICAL_COLOR_MAP[oncogenicity] || '#CCCCCC';
631
- return (React__default.createElement("g", { transform: "translate(9, 9)" },
632
- React__default.createElement("circle", { r: "6", fill: "none", strokeWidth: "2", stroke: color }),
633
- oncogenicity !== 'vus' && oncogenicity !== 'unknown' && (React__default.createElement("g", null,
634
- React__default.createElement("circle", { r: "3", fill: "none", strokeWidth: "2", stroke: color }),
635
- React__default.createElement("circle", { r: "1.5", fill: color, stroke: "none" })))));
636
- }
637
- function getTherapeuticSensitivityShape(indicator, availableDataTypes) {
638
- var highestLevel = indicator === null || indicator === void 0 ? void 0 : indicator.highestSensitiveLevel;
639
- if (!shouldDrawShape(OncoKbCardDataType.TXS, highestLevel, availableDataTypes)) {
640
- return null;
641
- }
642
- var fillColor = getLevelColor(highestLevel, '#33A02C');
643
- return (React__default.createElement("g", { transform: "translate(14.5, 3.5)" },
644
- React__default.createElement("circle", { r: "4", fill: fillColor, stroke: "#ffffff", strokeWidth: "1" })));
645
- }
646
- function getTherapeuticResistanceShape(indicator, availableDataTypes) {
647
- var highestLevel = indicator === null || indicator === void 0 ? void 0 : indicator.highestResistanceLevel;
648
- if (!shouldDrawShape(OncoKbCardDataType.TXR, highestLevel, availableDataTypes)) {
649
- return null;
650
- }
651
- var fillColor = getLevelColor(highestLevel, '#EE3424');
652
- return (React__default.createElement("g", { transform: "translate(14.5, 14.5)" },
653
- React__default.createElement("circle", { r: "4", fill: fillColor, stroke: "#ffffff", strokeWidth: "1" })));
654
- }
655
- function getDiagnosticShape(indicator, availableDataTypes) {
656
- var highestLevel = indicator === null || indicator === void 0 ? void 0 : indicator.highestDiagnosticImplicationLevel;
657
- if (!shouldDrawShape(OncoKbCardDataType.DX, highestLevel, availableDataTypes)) {
658
- return null;
659
- }
660
- var fillColor = getLevelColor(highestLevel, '#33A02C');
661
- return (React__default.createElement("g", { transform: "translate(-0.5, -0.5)" },
662
- React__default.createElement("rect", { width: "7", height: "7", fill: fillColor, stroke: "#ffffff", strokeWidth: "1" })));
663
- }
664
- function getPrognosticShape(indicator, availableDataTypes) {
665
- var highestLevel = indicator === null || indicator === void 0 ? void 0 : indicator.highestPrognosticImplicationLevel;
666
- if (!shouldDrawShape(OncoKbCardDataType.PX, highestLevel, availableDataTypes)) {
667
- return null;
668
- }
669
- var fillColor = getLevelColor(highestLevel, '#33A02C');
670
- return (React__default.createElement("g", { transform: "translate(0, 10.5)" },
671
- React__default.createElement("polygon", { points: "3.5 0, 8 8, -1 8", fill: fillColor, stroke: "#ffffff", strokeWidth: "1" })));
672
- }
673
- var CompactAnnotationIcon = function (props) {
674
- var indicatorForLevelIcons = props.usingPublicOncoKbInstance
675
- ? undefined
676
- : props.indicator;
677
- return (React__default.createElement("svg", { version: "1.1", width: "18", height: "18", "data-test": "oncogenic-icon-image" },
678
- getOncogenicShape(props.indicator),
679
- getTherapeuticSensitivityShape(indicatorForLevelIcons, props.availableDataTypes),
680
- getTherapeuticResistanceShape(indicatorForLevelIcons, props.availableDataTypes),
681
- getDiagnosticShape(indicatorForLevelIcons, props.availableDataTypes),
682
- getPrognosticShape(indicatorForLevelIcons, props.availableDataTypes)));
683
- };
684
-
685
- var mainStyles = {"oncokb-card":"main-module_oncokb-card__32DzD","tab-content":"main-module_tab-content__8nUyf","tooltip-refs":"main-module_tooltip-refs__SpA4W","disclaimer":"main-module_disclaimer__3CLlM","blue-icon":"main-module_blue-icon__2Hs-v","footer":"main-module_footer__2dc-8","oncokb-logo":"main-module_oncokb-logo__3RVg7","title":"main-module_title__2kT-n","additional-info":"main-module_additional-info__1nXTm","biological-info":"main-module_biological-info__2efDC","ellipsis-text-wrapper":"main-module_ellipsis-text-wrapper__18dny"};
686
-
687
- var _a$4;
688
- var OtherBiomarkersQueryType;
689
- (function (OtherBiomarkersQueryType) {
690
- OtherBiomarkersQueryType["MSIH"] = "MSIH";
691
- OtherBiomarkersQueryType["TMBH"] = "TMBI";
692
- })(OtherBiomarkersQueryType || (OtherBiomarkersQueryType = {}));
693
- var OTHER_BIOMARKER_HUGO_SYMBOL = 'Other Biomarkers';
694
- var MSI_H_NAME = 'MSI-H';
695
- var TMB_H_NAME = 'TMB-H';
696
- var OTHER_BIOMARKER_NAME = (_a$4 = {},
697
- _a$4[OtherBiomarkersQueryType.MSIH] = MSI_H_NAME,
698
- _a$4[OtherBiomarkersQueryType.TMBH] = TMB_H_NAME,
699
- _a$4);
700
-
701
- var OncoKbCardTitle = function (props) {
702
- var titleContent = [];
703
- if (props.hugoSymbol &&
704
- props.hugoSymbol !== OTHER_BIOMARKER_HUGO_SYMBOL &&
705
- (!props.variant || !props.variant.includes(props.hugoSymbol))) {
706
- titleContent.push(props.hugoSymbol);
707
- }
708
- if (props.variant) {
709
- titleContent.push(props.variant);
710
- }
711
- if (props.tumorType) {
712
- if (titleContent.length > 0) {
713
- titleContent.push('in');
714
- }
715
- titleContent.push(props.tumorType);
716
- }
717
- return (React.createElement("div", { className: mainStyles['title'], "data-test": "oncokb-card-title" }, React.createElement("span", null, titleContent.join(' '))));
718
- };
719
-
720
- var levelStyles = {"levels":"level-module_levels__2ZL1B","levels-li":"level-module_levels-li__1tgCC"};
721
-
722
- var collapsibleStyles = {"collapsible-header":"collapsible-module_collapsible-header__3nZtU","levels-collapse":"collapsible-module_levels-collapse__2GBRW"};
723
-
724
- var OncoKbCardLevelsOfEvidenceDropdown = /** @class */ (function (_super) {
725
- __extends(OncoKbCardLevelsOfEvidenceDropdown, _super);
726
- function OncoKbCardLevelsOfEvidenceDropdown(props) {
727
- var _this = _super.call(this, props) || this;
728
- Object.defineProperty(_this, "levelsCollapsed", {
729
- enumerable: true,
730
- configurable: true,
731
- writable: true,
732
- value: true
733
- });
734
- makeObservable(_this);
735
- return _this;
736
- }
737
- Object.defineProperty(OncoKbCardLevelsOfEvidenceDropdown.prototype, "levelListItem", {
738
- enumerable: false,
739
- configurable: true,
740
- writable: true,
741
- value: function (level, levelDes) {
742
- return (React__default.createElement("li", { key: level, className: levelStyles['levels-li'] },
743
- React__default.createElement("i", { className: levelIconClassNames(level) }),
744
- levelDes));
745
- }
746
- });
747
- Object.defineProperty(OncoKbCardLevelsOfEvidenceDropdown.prototype, "generateLevelRows", {
748
- enumerable: false,
749
- configurable: true,
750
- writable: true,
751
- value: function () {
752
- var _this = this;
753
- var rows = [];
754
- this.props.levels.forEach(function (level) {
755
- rows.push(_this.levelListItem(level, _this.props.levelDes[level]));
756
- });
757
- return rows;
758
- }
759
- });
760
- Object.defineProperty(OncoKbCardLevelsOfEvidenceDropdown.prototype, "handleLevelCollapse", {
761
- enumerable: false,
762
- configurable: true,
763
- writable: true,
764
- value: function () {
765
- this.levelsCollapsed = !this.levelsCollapsed;
766
- }
767
- });
768
- Object.defineProperty(OncoKbCardLevelsOfEvidenceDropdown.prototype, "render", {
769
- enumerable: false,
770
- configurable: true,
771
- writable: true,
772
- value: function () {
773
- return (React__default.createElement("div", null,
774
- React__default.createElement("div", { "data-test": "oncokb-card-levels-of-evidence-dropdown-header", className: collapsibleStyles['collapsible-header'], onClick: this.handleLevelCollapse },
775
- "Levels of Evidence",
776
- React__default.createElement("span", { style: { float: 'right' } }, this.levelsCollapsed ? (React__default.createElement("i", { className: classnames('fa fa-chevron-down', mainStyles['blue-icon']) })) : (React__default.createElement("i", { className: classnames('fa fa-chevron-up', mainStyles['blue-icon']) })))),
777
- React__default.createElement(Collapse, { isOpened: !this.levelsCollapsed },
778
- React__default.createElement("div", { className: classnames(levelStyles.levels, collapsibleStyles['levels-collapse']) },
779
- React__default.createElement("ul", { style: {
780
- lineHeight: 8,
781
- padding: 0,
782
- } }, this.generateLevelRows())))));
783
- }
784
- });
785
- __decorate([
786
- observable
787
- ], OncoKbCardLevelsOfEvidenceDropdown.prototype, "levelsCollapsed", void 0);
788
- __decorate([
789
- action.bound
790
- ], OncoKbCardLevelsOfEvidenceDropdown.prototype, "handleLevelCollapse", null);
791
- OncoKbCardLevelsOfEvidenceDropdown = __decorate([
792
- observer
793
- ], OncoKbCardLevelsOfEvidenceDropdown);
794
- return OncoKbCardLevelsOfEvidenceDropdown;
795
- }(React__default.Component));
796
-
797
- var OncoKBSuggestAnnotationLinkout = /** @class */ (function (_super) {
798
- __extends(OncoKBSuggestAnnotationLinkout, _super);
799
- function OncoKBSuggestAnnotationLinkout() {
800
- return _super !== null && _super.apply(this, arguments) || this;
801
- }
802
- Object.defineProperty(OncoKBSuggestAnnotationLinkout.prototype, "render", {
803
- enumerable: false,
804
- configurable: true,
805
- writable: true,
806
- value: function () {
807
- return (React.createElement("div", null,
808
- React.createElement("span", null, "The gene is listed under "),
809
- React.createElement("a", { href: "https://www.oncokb.org/cancerGenes", target: "_blank" }, "OncoKB Cancer Gene List"),
810
- React.createElement("span", null, " but hasn't been curated yet. Please feel free to "),
811
- React.createElement("a", { target: "_blank", href: "mailto:contact@oncokb.org?subject=Annotation suggestion for " + this.props.gene + "&&body=Thank you for using OncoKB\u2122.%0APlease provide the following information for " + this.props.gene + " curation:%0A%0AEvidence:%0APMIDs:%0AAbstracts:", title: "suggest to annotate this gene" }, "suggest the team annotate the gene"),
812
- "."));
813
- }
814
- });
815
- return OncoKBSuggestAnnotationLinkout;
816
- }(React.Component));
817
-
818
- var levelTooltipContent = function (level) {
819
- return (React.createElement("div", { style: { maxWidth: '200px' } }, OncoKbHelper.LEVEL_DESC[level]));
820
- };
821
- var LevelIcon = function (props) {
822
- return (React.createElement(DefaultTooltip, { overlay: levelTooltipContent(props.level), placement: "left", disabled: !props.showDescription, trigger: ['hover', 'focus'], destroyTooltipOnHide: true },
823
- React.createElement("i", { className: levelIconClassNames(props.level) })));
824
- };
825
-
826
- var OncoKbHelper = /** @class */ (function () {
827
- function OncoKbHelper() {
828
- }
829
- Object.defineProperty(OncoKbHelper, "TX_LEVELS", {
830
- get: function () {
831
- return ['1', '2', '3A', '3B', '4', 'R1', 'R2'];
832
- },
833
- enumerable: false,
834
- configurable: true
835
- });
836
- Object.defineProperty(OncoKbHelper, "DX_LEVELS", {
837
- get: function () {
838
- return ['Dx1', 'Dx2', 'Dx3'];
839
- },
840
- enumerable: false,
841
- configurable: true
842
- });
843
- Object.defineProperty(OncoKbHelper, "PX_LEVELS", {
844
- get: function () {
845
- return ['Px1', 'Px2', 'Px3'];
846
- },
847
- enumerable: false,
848
- configurable: true
849
- });
850
- Object.defineProperty(OncoKbHelper, "LEVELS", {
851
- get: function () {
852
- return __spreadArrays(this.TX_LEVELS, this.DX_LEVELS, this.PX_LEVELS);
853
- },
854
- enumerable: false,
855
- configurable: true
856
- });
857
- Object.defineProperty(OncoKbHelper, "getLevelsDesc", {
858
- enumerable: false,
859
- configurable: true,
860
- writable: true,
861
- value: function (dataType) {
862
- switch (dataType) {
863
- case OncoKbCardDataType.TXS:
864
- case OncoKbCardDataType.TXR:
865
- return ___default.pick(this.LEVEL_DESC, this.TX_LEVELS);
866
- case OncoKbCardDataType.DX:
867
- return ___default.pick(this.LEVEL_DESC, this.DX_LEVELS);
868
- case OncoKbCardDataType.PX:
869
- return ___default.pick(this.LEVEL_DESC, this.PX_LEVELS);
870
- default:
871
- return {};
872
- }
873
- }
874
- });
875
- Object.defineProperty(OncoKbHelper, "LEVEL_DESC", {
876
- get: function () {
877
- return {
878
- '1': (React.createElement("span", null,
879
- React.createElement("b", null, "FDA-recognized"),
880
- " biomarker predictive of response to an",
881
- ' ',
882
- React.createElement("b", null, "FDA-approved drug"),
883
- " in this indication")),
884
- '2': (React.createElement("span", null,
885
- React.createElement("b", null, "Standard care"),
886
- " biomarker recommended by the NCCN or other expert panels predictive of response to an",
887
- ' ',
888
- React.createElement("b", null, "FDA-approved drug"),
889
- " in this indication")),
890
- '3A': (React.createElement("span", null,
891
- React.createElement("b", null, "Compelling clinical evidence"),
892
- " supports the biomarker as being predictive of response to a drug in this indication")),
893
- '3B': (React.createElement("span", null,
894
- React.createElement("b", null, "Standard care"),
895
- " or ",
896
- React.createElement("b", null, "investigational"),
897
- " biomarker",
898
- ' ',
899
- "predictive of response to an ",
900
- React.createElement("b", null, "FDA-approved"),
901
- " or",
902
- ' ',
903
- React.createElement("b", null, "investigational"),
904
- " drug in another indication")),
905
- '4': (React.createElement("span", null,
906
- React.createElement("b", null, "Compelling biological evidence"),
907
- " supports the biomarker as being predictive of response to a drug")),
908
- R1: (React.createElement("span", null,
909
- React.createElement("b", null, "Standard care"),
910
- " biomarker predictive of",
911
- ' ',
912
- React.createElement("b", null, "resistance"),
913
- " to an ",
914
- React.createElement("b", null, "FDA-approved"),
915
- " drug",
916
- ' ',
917
- React.createElement("b", null, "in this indication"))),
918
- R2: (React.createElement("span", null,
919
- React.createElement("b", null, "Compelling clinical evidence"),
920
- " supports the biomarker as being predictive of ",
921
- React.createElement("b", null, "resistance"),
922
- " to a drug")),
923
- Dx1: (React.createElement("span", null,
924
- React.createElement("b", null, "FDA and/or professional guideline-recognized"),
925
- ' ',
926
- "biomarker required for diagnosis in this indication")),
927
- Dx2: (React.createElement("span", null,
928
- React.createElement("b", null, "FDA and/or professional guideline-recognized"),
929
- ' ',
930
- "biomarker that supports diagnosis in this indication")),
931
- Dx3: (React.createElement("span", null,
932
- "Biomarker that ",
933
- React.createElement("b", null, "may assist disease diagnosis"),
934
- " in this indication based on ",
935
- React.createElement("b", null, "clinical evidence"))),
936
- Px1: (React.createElement("span", null,
937
- React.createElement("b", null, "FDA and/or professional guideline-recognized"),
938
- ' ',
939
- "biomarker prognostic in this indication based on",
940
- ' ',
941
- React.createElement("b", null, "well-powered studie(s)"))),
942
- Px2: (React.createElement("span", null,
943
- React.createElement("b", null, "FDA and/or professional guideline-recognized"),
944
- ' ',
945
- "biomarker prognostic in this indication based on",
946
- ' ',
947
- React.createElement("b", null, "a single or multiple small studies"))),
948
- Px3: (React.createElement("span", null,
949
- "Biomarker is prognostic in this indication based on",
950
- ' ',
951
- React.createElement("b", null, "clinical evidence"),
952
- " in ",
953
- React.createElement("b", null, "well-powered studies"))),
954
- };
955
- },
956
- enumerable: false,
957
- configurable: true
958
- });
959
- Object.defineProperty(OncoKbHelper, "getDefaultColumnDefinition", {
960
- enumerable: false,
961
- configurable: true,
962
- writable: true,
963
- value: function (columnKey) {
964
- switch (columnKey) {
965
- case 'level':
966
- return {
967
- id: 'level',
968
- Header: React.createElement("div", { style: { textAlign: 'center' } }, "Level"),
969
- accessor: 'level',
970
- maxWidth: 45,
971
- sortMethod: function (a, b) {
972
- return defaultSortMethod(LEVELS.all.indexOf(normalizeLevel(a) || ''), LEVELS.all.indexOf(normalizeLevel(b) || ''));
973
- },
974
- Cell: function (props) {
975
- var normalizedLevel = normalizeLevel(props.value) || '';
976
- return (React.createElement(LevelIcon, { level: normalizedLevel, showDescription: true }));
977
- },
978
- };
979
- case 'alterations':
980
- return {
981
- id: 'alterations',
982
- Header: React.createElement("span", null, "Alteration(s)"),
983
- accessor: 'alterations',
984
- minWidth: 80,
985
- sortMethod: function (a, b) {
986
- return defaultArraySortMethod(a, b);
987
- },
988
- };
989
- }
990
- }
991
- });
992
- Object.defineProperty(OncoKbHelper, "getAlterationsColumnCell", {
993
- enumerable: true,
994
- configurable: true,
995
- writable: true,
996
- value: function (alterations, variant) {
997
- var mergedAlteration = mergeAlterations(alterations);
998
- var content = React.createElement("span", null, mergedAlteration);
999
- if (alterations.length > 5) {
1000
- var lowerCasedQueryVariant_1 = variant.toLowerCase();
1001
- var matchedAlteration = ___default.find(alterations, function (alteration) {
1002
- return alteration.toLocaleLowerCase() === lowerCasedQueryVariant_1;
1003
- });
1004
- if (!matchedAlteration) {
1005
- matchedAlteration = getPositionalVariant(variant);
1006
- }
1007
- var pickedAlteration = matchedAlteration === undefined
1008
- ? alterations[0]
1009
- : matchedAlteration;
1010
- content = (React.createElement("span", null,
1011
- pickedAlteration,
1012
- " and",
1013
- ' ',
1014
- React.createElement(DefaultTooltip, { overlay: React.createElement("div", { style: { maxWidth: '400px' } }, mergedAlteration), placement: "right", destroyTooltipOnHide: true },
1015
- React.createElement("a", null,
1016
- alterations.length - 1,
1017
- " other alterations"))));
1018
- }
1019
- return (React.createElement("div", { style: { whiteSpace: 'normal', lineHeight: '1rem' } }, content));
1020
- }
1021
- });
1022
- return OncoKbHelper;
1023
- }());
1024
-
1025
- var styles$a = {"list-group-item":"listGroupItem-module_list-group-item__1Y5zb","list-group-item-title":"listGroupItem-module_list-group-item-title__3diZg","list-group-item-content":"listGroupItem-module_list-group-item-content__Sspft","no-style-ul":"listGroupItem-module_no-style-ul__2Rf8i"};
1026
-
1027
- var ArticleAbstractItem = /** @class */ (function (_super) {
1028
- __extends(ArticleAbstractItem, _super);
1029
- function ArticleAbstractItem() {
1030
- return _super !== null && _super.apply(this, arguments) || this;
1031
- }
1032
- Object.defineProperty(ArticleAbstractItem.prototype, "render", {
1033
- enumerable: false,
1034
- configurable: true,
1035
- writable: true,
1036
- value: function () {
1037
- var content = React.createElement("span", null, this.props.abstract);
1038
- if (this.props.link) {
1039
- content = (React.createElement("a", { href: this.props.link, target: "_blank" }, content));
1040
- }
1041
- return (React.createElement("li", { key: "abstract_" + this.props.abstract, className: styles$a['list-group-item'] },
1042
- React.createElement("span", { className: styles$a['list-group-item-title'] }, content)));
1043
- }
1044
- });
1045
- return ArticleAbstractItem;
1046
- }(React.Component));
1047
-
1048
- var PmidItem = /** @class */ (function (_super) {
1049
- __extends(PmidItem, _super);
1050
- function PmidItem() {
1051
- return _super !== null && _super.apply(this, arguments) || this;
1052
- }
1053
- Object.defineProperty(PmidItem.prototype, "render", {
1054
- enumerable: false,
1055
- configurable: true,
1056
- writable: true,
1057
- value: function () {
1058
- return (React.createElement("li", { key: this.props.pmid, className: styles$a['list-group-item'] },
1059
- React.createElement("a", { className: styles$a['list-group-item-title'], href: getNCBIlink("/pubmed/" + this.props.pmid), target: "_blank" },
1060
- React.createElement("span", null, trimOffHtmlTagEntities(this.props.title))),
1061
- React.createElement("div", { className: styles$a['list-group-item-content'] },
1062
- React.createElement("span", null,
1063
- this.props.author,
1064
- " ",
1065
- this.props.source,
1066
- ".",
1067
- ' ',
1068
- this.props.date),
1069
- React.createElement("span", null,
1070
- "PMID: ",
1071
- this.props.pmid))));
1072
- }
1073
- });
1074
- return PmidItem;
1075
- }(React.Component));
1076
-
1077
- var ReferenceList = /** @class */ (function (_super) {
1078
- __extends(ReferenceList, _super);
1079
- function ReferenceList() {
1080
- return _super !== null && _super.apply(this, arguments) || this;
1081
- }
1082
- Object.defineProperty(ReferenceList.prototype, "isLoading", {
1083
- get: function () {
1084
- var _this = this;
1085
- if (this.props.pmidData && this.props.pmids) {
1086
- var loadingItems = ___default.filter(this.props.pmids, function (uid) {
1087
- var cacheData = _this.props.pmidData[uid.toString()];
1088
- // when the cacheData is undefined, the pmidData will fetch the uid info later which eventually results to an object with a status
1089
- return !cacheData || cacheData.status === 'pending';
1090
- });
1091
- return loadingItems.length > 0;
1092
- }
1093
- else {
1094
- return false;
1095
- }
1096
- },
1097
- enumerable: false,
1098
- configurable: true
1099
- });
1100
- Object.defineProperty(ReferenceList.prototype, "render", {
1101
- enumerable: false,
1102
- configurable: true,
1103
- writable: true,
1104
- value: function () {
1105
- var _this = this;
1106
- if (this.isLoading) {
1107
- return React.createElement("i", { className: "fa fa-spinner fa-pulse fa-2x" });
1108
- }
1109
- var list = [];
1110
- if (this.props.pmidData) {
1111
- this.props.pmids.forEach(function (uid) {
1112
- var cacheData = _this.props.pmidData[uid.toString()];
1113
- var articleContent = cacheData ? cacheData.data : null;
1114
- if (articleContent) {
1115
- list.push(React.createElement(PmidItem, { title: articleContent.title, author: ___default.isArray(articleContent.authors) &&
1116
- articleContent.authors.length > 0
1117
- ? articleContent.authors[0].name + ' et al.'
1118
- : 'Unknown', source: articleContent.source, date: new Date(articleContent.pubdate)
1119
- .getFullYear()
1120
- .toString(), pmid: articleContent.uid }));
1121
- }
1122
- });
1123
- }
1124
- this.props.abstracts.forEach(function (abstract) {
1125
- list.push(React.createElement(ArticleAbstractItem, { abstract: abstract.abstract, link: abstract.link }));
1126
- });
1127
- return React.createElement("ul", { className: styles$a['no-style-ul'] }, list);
1128
- }
1129
- });
1130
- __decorate([
1131
- computed
1132
- ], ReferenceList.prototype, "isLoading", null);
1133
- ReferenceList = __decorate([
1134
- observer
1135
- ], ReferenceList);
1136
- return ReferenceList;
1137
- }(React.Component));
1138
-
1139
- var RefComponent = /** @class */ (function (_super) {
1140
- __extends(RefComponent, _super);
1141
- function RefComponent() {
1142
- return _super !== null && _super.apply(this, arguments) || this;
1143
- }
1144
- Object.defineProperty(RefComponent.prototype, "render", {
1145
- enumerable: false,
1146
- configurable: true,
1147
- writable: true,
1148
- value: function () {
1149
- var _this = this;
1150
- var parts = this.props.content.split(/pmid|nct/i);
1151
- if (parts.length < 2) {
1152
- return React.createElement("span", null, this.props.content);
1153
- }
1154
- var ids = parts[1].match(/[0-9]+/g);
1155
- if (!ids) {
1156
- return React.createElement("span", null, this.props.content);
1157
- }
1158
- var prefix;
1159
- if (this.props.content.toLowerCase().indexOf('pmid') >= 0) {
1160
- prefix = 'PMID: ';
1161
- }
1162
- else if (this.props.content.toLowerCase().indexOf('nct') >= 0) {
1163
- prefix = 'NCT';
1164
- }
1165
- var link;
1166
- if (prefix) {
1167
- link = (React.createElement("a", { target: "_blank", href: getNCBIlink("/pubmed/" + ids.join(',')) }, "" + prefix + ids.join(',')));
1168
- }
1169
- if (this.props.componentType === 'tooltip') {
1170
- var tooltipContent = function () { return (React.createElement("div", { className: mainStyles['tooltip-refs'] },
1171
- React.createElement(ReferenceList, { pmids: ids.map(function (id) { return parseInt(id); }), pmidData: _this.props.pmidData, abstracts: [] }))); };
1172
- return (React.createElement("span", { key: this.props.content },
1173
- parts[0],
1174
- React.createElement(DefaultTooltip, { overlay: tooltipContent, placement: "right", trigger: ['hover', 'focus'], destroyTooltipOnHide: true },
1175
- React.createElement("i", { className: "fa fa-book", style: { color: 'black' } })), ")"));
1176
- }
1177
- else if (link) {
1178
- return (React.createElement("span", { key: this.props.content },
1179
- parts[0],
1180
- link, ")"));
1181
- }
1182
- else {
1183
- return React.createElement("span", null, this.props.content);
1184
- }
1185
- }
1186
- });
1187
- return RefComponent;
1188
- }(React.Component));
1189
-
1190
- var SummaryWithRefs = /** @class */ (function (_super) {
1191
- __extends(SummaryWithRefs, _super);
1192
- function SummaryWithRefs() {
1193
- return _super !== null && _super.apply(this, arguments) || this;
1194
- }
1195
- Object.defineProperty(SummaryWithRefs.prototype, "render", {
1196
- enumerable: false,
1197
- configurable: true,
1198
- writable: true,
1199
- value: function () {
1200
- var _this = this;
1201
- if (!this.props.content) {
1202
- return React.createElement("span", null);
1203
- }
1204
- var content = [];
1205
- // example delimiters:
1206
- // (PMID: 11900253)
1207
- // (PMID: 11753428, 16007150, 21467160)
1208
- // (cBioPortal, MSKCC, May 2015, PMID: 24718888)
1209
- // (NCT1234567)
1210
- var regex = /(\(.*?[PMID|NCT].*?\))/i;
1211
- // split the string with delimiters included
1212
- var parts = this.props.content.split(regex);
1213
- parts.forEach(function (part) {
1214
- // if delimiter convert to a JSX component
1215
- if (part.match(regex)) {
1216
- content.push(React.createElement(RefComponent, { pmidData: _this.props.pmidData, componentType: _this.props.type, content: part }));
1217
- }
1218
- else {
1219
- content.push(React.createElement("span", null, part));
1220
- }
1221
- });
1222
- return React.createElement("span", null, content);
1223
- }
1224
- });
1225
- return SummaryWithRefs;
1226
- }(React.Component));
1227
-
1228
- var EvidenceReferenceContent = function (props) {
1229
- return (React__default.createElement(If, { condition: !!props.description },
1230
- React__default.createElement(Then, null,
1231
- React__default.createElement(SummaryWithRefs, { content: props.description, type: 'tooltip', pmidData: props.pmidData })),
1232
- React__default.createElement(Else, null,
1233
- React__default.createElement(If, { condition: props.citations != undefined &&
1234
- (props.citations.abstracts.length > 0 ||
1235
- props.citations.pmids.length > 0) },
1236
- React__default.createElement(Then, null,
1237
- React__default.createElement(ReferenceList, { pmidData: props.pmidData, pmids: props.citations.pmids.map(function (pmid) {
1238
- return Number(pmid);
1239
- }), abstracts: props.citations.abstracts })),
1240
- React__default.createElement(Else, null, props.noInfoDisclaimer
1241
- ? props.noInfoDisclaimer
1242
- : 'Information is not available.')))));
1243
- };
1244
-
1245
- var OncoKbTreatmentTable = /** @class */ (function (_super) {
1246
- __extends(OncoKbTreatmentTable, _super);
1247
- function OncoKbTreatmentTable() {
1248
- var _this = _super !== null && _super.apply(this, arguments) || this;
1249
- Object.defineProperty(_this, "levelTooltipContent", {
1250
- enumerable: true,
1251
- configurable: true,
1252
- writable: true,
1253
- value: function (level) {
1254
- return (React.createElement("div", { style: { maxWidth: '200px' } }, OncoKbHelper.LEVEL_DESC[level]));
1255
- }
1256
- });
1257
- Object.defineProperty(_this, "treatmentTooltipContent", {
1258
- enumerable: true,
1259
- configurable: true,
1260
- writable: true,
1261
- value: function (abstracts, pmids, pmidData, description) {
1262
- return abstracts.length > 0 || pmids.length > 0 ? (function () { return (React.createElement("div", { className: mainStyles['tooltip-refs'] },
1263
- React.createElement(EvidenceReferenceContent, { description: description, citations: {
1264
- pmids: pmids.map(function (pmid) { return pmid.toString(); }),
1265
- abstracts: abstracts,
1266
- }, pmidData: pmidData, noInfoDisclaimer: 'Mutation effect information is not available.' }))); }) : (React.createElement("span", null));
1267
- }
1268
- });
1269
- Object.defineProperty(_this, "columns", {
1270
- enumerable: true,
1271
- configurable: true,
1272
- writable: true,
1273
- value: [
1274
- OncoKbHelper.getDefaultColumnDefinition('level'),
1275
- __assign(__assign({}, OncoKbHelper.getDefaultColumnDefinition('alterations')), { Cell: function (props) {
1276
- return OncoKbHelper.getAlterationsColumnCell(props.value, _this.props.variant);
1277
- } }),
1278
- {
1279
- id: 'treatment',
1280
- Header: React.createElement("span", null, "Drug(s)"),
1281
- accessor: 'drugs',
1282
- Cell: function (props) { return (React.createElement("div", { style: { whiteSpace: 'normal', lineHeight: '1rem' } }, props.original.drugs
1283
- .map(function (drug) { return drug.drugName; })
1284
- .join(' + '))); },
1285
- },
1286
- {
1287
- id: 'cancerType',
1288
- Header: (React.createElement("span", null,
1289
- "Level-associated",
1290
- React.createElement("br", null),
1291
- "cancer type(s)")),
1292
- accessor: 'levelAssociatedCancerType',
1293
- minWidth: 120,
1294
- Cell: function (props) { return (React.createElement("div", { style: { whiteSpace: 'normal', lineHeight: '1rem' } }, getTumorTypeNameWithExclusionInfo(props.original.levelAssociatedCancerType, props.original.levelExcludedCancerTypes))); },
1295
- },
1296
- {
1297
- id: 'referenceList',
1298
- Header: React.createElement("span", null),
1299
- sortable: false,
1300
- maxWidth: 25,
1301
- Cell: function (props) {
1302
- return (props.original.abstracts.length > 0 ||
1303
- props.original.pmids.length > 0) && (React.createElement(DefaultTooltip, { overlay: _this.treatmentTooltipContent(props.original.abstracts, props.original.pmids.map(function (pmid) { return Number(pmid); }), _this.props.pmidData, props.original.description), placement: "right", trigger: ['hover', 'focus'], destroyTooltipOnHide: true },
1304
- React.createElement("i", { className: "fa fa-book" })));
1305
- },
1306
- },
1307
- ]
1308
- });
1309
- return _this;
1310
- }
1311
- Object.defineProperty(OncoKbTreatmentTable.prototype, "render", {
1312
- enumerable: false,
1313
- configurable: true,
1314
- writable: true,
1315
- value: function () {
1316
- return (React.createElement("div", { className: "oncokb-treatment-table" },
1317
- React.createElement(ReactTable, { data: this.props.treatments, columns: this.columns, showPagination: false, pageSize: this.props.treatments.length, className: "-striped -highlight" })));
1318
- }
1319
- });
1320
- OncoKbTreatmentTable = __decorate([
1321
- observer
1322
- ], OncoKbTreatmentTable);
1323
- return OncoKbTreatmentTable;
1324
- }(React.Component));
1325
-
1326
- var BiologicalContent = function (props) {
1327
- return (React__default.createElement(EvidenceReferenceContent, { description: props.biologicalSummary, citations: props.mutationEffectCitations, pmidData: props.pmidData, noInfoDisclaimer: 'Mutation effect information is not available.' }));
1328
- };
1329
-
1330
- var ImplicationContent = function (props) {
1331
- var columns = [
1332
- __assign(__assign({}, OncoKbHelper.getDefaultColumnDefinition('level')), { accessor: 'levelOfEvidence', maxWidth: 100 }),
1333
- __assign(__assign({}, OncoKbHelper.getDefaultColumnDefinition('alterations')), { Cell: function (cellProps) {
1334
- return OncoKbHelper.getAlterationsColumnCell(cellProps.value, props.variant);
1335
- } }),
1336
- {
1337
- id: 'referenceList',
1338
- Header: React.createElement("span", null),
1339
- sortable: false,
1340
- maxWidth: 50,
1341
- Cell: function (cellProps) { return (React.createElement(DefaultTooltip, { overlay: function () { return (React.createElement("div", { className: mainStyles['tooltip-refs'] },
1342
- React.createElement(EvidenceReferenceContent, { description: cellProps.original.description, citations: {
1343
- pmids: cellProps.original.pmids,
1344
- abstracts: cellProps.original.abstracts,
1345
- }, pmidData: props.pmidData, noInfoDisclaimer: 'Mutation effect information is not available.' }))); }, placement: "right", trigger: ['hover', 'focus'], destroyTooltipOnHide: true },
1346
- React.createElement("i", { className: "fa fa-book" }))); },
1347
- },
1348
- ];
1349
- return (React.createElement("div", null,
1350
- React.createElement("p", null, props.summary),
1351
- React.createElement("div", null,
1352
- React.createElement(ReactTable, { data: props.implications, columns: columns, showPagination: false, pageSize: props.implications.length, className: "-striped -highlight" }))));
1353
- };
1354
-
1355
- var tabsStyles = {"tabs-wrapper":"tabs-module_tabs-wrapper__XKjzo","tabs":"tabs-module_tabs__2I3mz","tab":"tabs-module_tab__3MoDA","tab-pane":"tabs-module_tab-pane__sGd85","tab-title-a":"tabs-module_tab-title-a__2WTNA","tab-title":"tabs-module_tab-title__2z9-D","tab-subtitle":"tabs-module_tab-subtitle__1P8B_"};
1356
-
1357
- var OncogenicIcon = function (props) {
1358
- return (React.createElement(DefaultTooltip, { overlay: React.createElement("span", null, props.oncogenicity), placement: "left", trigger: ['hover', 'focus'], destroyTooltipOnHide: true },
1359
- React.createElement("i", { className: oncogenicityIconClassNames(props.oncogenicity) })));
1360
- };
1361
-
1362
- var _a$3;
1363
- var OncoKbMedicalDisclaimer = (React__default.createElement("p", { className: mainStyles.disclaimer }, "The information above is intended for research purposes only and should not be used as a substitute for professional diagnosis and treatment."));
1364
- var ONCOKB_DATA_ACCESS_PAGE_LINK = 'https://docs.cbioportal.org/2.4-integration-with-other-webservices/oncokb-data-access';
1365
- var publicInstanceDisclaimerOverLay = (React__default.createElement("div", null,
1366
- React__default.createElement("p", null,
1367
- "This cBioPortal instance is not linked to an OncoKB\u2122 license, and therefore some OncoKB content is not available including therapeutic, diagnostic and prognostic implications. To obtain a license, please follow",
1368
- ' ',
1369
- React__default.createElement("a", { href: ONCOKB_DATA_ACCESS_PAGE_LINK, target: '_blank' }, "these instructions"),
1370
- "."),
1371
- OncoKbMedicalDisclaimer));
1372
- var DATA_TYPE_TO_TITLE = (_a$3 = {},
1373
- _a$3[OncoKbCardDataType.BIOLOGICAL] = 'Biological Effect',
1374
- _a$3[OncoKbCardDataType.TXS] = 'Therapeutic Implications',
1375
- _a$3[OncoKbCardDataType.TXR] = 'Therapeutic Implications',
1376
- _a$3[OncoKbCardDataType.DX] = 'Diagnostic Implications',
1377
- _a$3[OncoKbCardDataType.PX] = 'Prognostic Implications',
1378
- _a$3);
1379
- var TabContentWrapper = function (props) {
1380
- return React__default.createElement("div", { className: mainStyles['tab-content'] }, props.children);
1381
- };
1382
- var TabTitle = function (props) {
1383
- var _a;
1384
- var title = DATA_TYPE_TO_TITLE[props.type];
1385
- var icon = props.displayHighestLevelInTabTitle ? (props.type === OncoKbCardDataType.BIOLOGICAL ? (React__default.createElement(OncogenicIcon, { oncogenicity: ((_a = props.indicator) === null || _a === void 0 ? void 0 : _a.oncogenic) || '', showDescription: true })) : (React__default.createElement(LevelIcon, { level: normalizeLevel(calcHighestIndicatorLevel(props.type, props.indicator)) || '', showDescription: true }))) : null;
1386
- return icon ? (React__default.createElement("span", { style: { display: 'flex' } },
1387
- icon,
1388
- " ",
1389
- title)) : (React__default.createElement("span", null, title));
1390
- };
1391
- var OncoKbCardBody = function (props) {
1392
- var defaultTabActiveKey;
1393
- // Do not assign a default key if the data type specified through the property does not have any content
1394
- // When the content is not available, we do not render the tab.
1395
- if (dataTypeHasContent(props.type)) {
1396
- defaultTabActiveKey = props.type;
1397
- // Both TXS and TXR are therapeutic implication data type which will be shown in the same tab. We use TXS as the tab key when rendering
1398
- if ([OncoKbCardDataType.TXS, OncoKbCardDataType.TXR].includes(defaultTabActiveKey)) {
1399
- defaultTabActiveKey = OncoKbCardDataType.TXS;
1400
- }
1401
- }
1402
- var _a = useState(defaultTabActiveKey), activateTabKey = _a[0], setActivateTabKey = _a[1];
1403
- var _b = useState(getLevelsOfEvidence(activateTabKey)), levelsOfEvidence = _b[0], setLevelsOfEvidence = _b[1];
1404
- function updateActivateTabKey(newKey) {
1405
- setActivateTabKey(newKey);
1406
- setLevelsOfEvidence(getLevelsOfEvidence(newKey));
1407
- }
1408
- function hasMutationEffectInfo(mutationEffect) {
1409
- return (mutationEffect &&
1410
- (mutationEffect.description ||
1411
- mutationEffect.citations.abstracts.length > 0 ||
1412
- mutationEffect.citations.pmids.length > 0));
1413
- }
1414
- function dataTypeHasContent(type) {
1415
- var _a, _b, _c, _d, _e;
1416
- switch (type) {
1417
- case OncoKbCardDataType.BIOLOGICAL:
1418
- return hasMutationEffectInfo((_a = props.indicator) === null || _a === void 0 ? void 0 : _a.mutationEffect);
1419
- case OncoKbCardDataType.TXS:
1420
- case OncoKbCardDataType.TXR:
1421
- return (!!((_b = props.indicator) === null || _b === void 0 ? void 0 : _b.highestSensitiveLevel) ||
1422
- !!((_c = props.indicator) === null || _c === void 0 ? void 0 : _c.highestResistanceLevel));
1423
- case OncoKbCardDataType.DX:
1424
- return !!((_d = props.indicator) === null || _d === void 0 ? void 0 : _d.highestDiagnosticImplicationLevel);
1425
- case OncoKbCardDataType.PX:
1426
- return !!((_e = props.indicator) === null || _e === void 0 ? void 0 : _e.highestPrognosticImplicationLevel);
1427
- default:
1428
- return false;
1429
- }
1430
- }
1431
- function getBody(type, indicator) {
1432
- var tabs = [];
1433
- if (dataTypeHasContent(OncoKbCardDataType.BIOLOGICAL)) {
1434
- tabs.push(React__default.createElement(Tab, { eventKey: OncoKbCardDataType.BIOLOGICAL, title: React__default.createElement(TabTitle, { type: OncoKbCardDataType.BIOLOGICAL, indicator: props.indicator, displayHighestLevelInTabTitle: props.displayHighestLevelInTabTitle }) },
1435
- React__default.createElement(TabContentWrapper, null,
1436
- React__default.createElement(BiologicalContent, { mutationEffectCitations: indicator.mutationEffect.citations, biologicalSummary: indicator.mutationEffect.description, pmidData: props.pmidData }))));
1437
- }
1438
- if (!props.usingPublicOncoKbInstance &&
1439
- dataTypeHasContent(OncoKbCardDataType.TXS)) {
1440
- tabs.push(React__default.createElement(Tab, { eventKey: OncoKbCardDataType.TXS, title: React__default.createElement(TabTitle, { type: OncoKbCardDataType.TXS, indicator: props.indicator, displayHighestLevelInTabTitle: props.displayHighestLevelInTabTitle }) },
1441
- React__default.createElement(TabContentWrapper, null,
1442
- React__default.createElement("div", { style: {
1443
- marginTop: 10,
1444
- } },
1445
- React__default.createElement(OncoKbTreatmentTable, { variant: indicator.query.alteration || '', pmidData: props.pmidData, treatments: indicator.treatments })))));
1446
- }
1447
- if (!props.usingPublicOncoKbInstance &&
1448
- dataTypeHasContent(OncoKbCardDataType.DX)) {
1449
- tabs.push(React__default.createElement(Tab, { eventKey: OncoKbCardDataType.DX, title: React__default.createElement(TabTitle, { type: OncoKbCardDataType.DX, indicator: props.indicator, displayHighestLevelInTabTitle: props.displayHighestLevelInTabTitle }) },
1450
- React__default.createElement(TabContentWrapper, null,
1451
- React__default.createElement(ImplicationContent, { variant: indicator.query.alteration, summary: indicator.diagnosticSummary, implications: indicator.diagnosticImplications, pmidData: props.pmidData }))));
1452
- }
1453
- if (!props.usingPublicOncoKbInstance &&
1454
- dataTypeHasContent(OncoKbCardDataType.PX)) {
1455
- tabs.push(React__default.createElement(Tab, { eventKey: OncoKbCardDataType.PX, title: React__default.createElement(TabTitle, { type: OncoKbCardDataType.PX, indicator: props.indicator, displayHighestLevelInTabTitle: props.displayHighestLevelInTabTitle }) },
1456
- React__default.createElement(TabContentWrapper, null,
1457
- React__default.createElement(ImplicationContent, { variant: indicator.query.alteration, summary: indicator.prognosticSummary, implications: indicator.prognosticImplications, pmidData: props.pmidData }))));
1458
- }
1459
- return (React__default.createElement("div", { style: { padding: '10px' } },
1460
- React__default.createElement("p", null, indicator.geneSummary),
1461
- React__default.createElement("p", null, indicator.variantSummary),
1462
- props.usingPublicOncoKbInstance ? (React__default.createElement("p", { className: mainStyles.disclaimer },
1463
- "Therapeutic, diagnostic and prognostic implications are not available in this instance of cBioPortal.",
1464
- ' ',
1465
- React__default.createElement(DefaultTooltip, { overlayStyle: {
1466
- maxWidth: 400,
1467
- }, overlay: publicInstanceDisclaimerOverLay },
1468
- React__default.createElement("i", { className: 'fa fa-info-circle' })))) : (React__default.createElement("p", null, indicator.tumorTypeSummary)),
1469
- tabs.length > 0 && (React__default.createElement(Tabs, { defaultActiveKey: defaultTabActiveKey, className: classnames('oncokb-card-tabs'), onSelect: updateActivateTabKey }, tabs))));
1470
- }
1471
- function getLevelsOfEvidence(activateTabKey) {
1472
- switch (activateTabKey) {
1473
- case OncoKbCardDataType.TXS:
1474
- case OncoKbCardDataType.TXR:
1475
- return {
1476
- levels: OncoKbHelper.TX_LEVELS,
1477
- levelDes: OncoKbHelper.getLevelsDesc(activateTabKey),
1478
- };
1479
- case OncoKbCardDataType.DX:
1480
- return {
1481
- levels: OncoKbHelper.DX_LEVELS,
1482
- levelDes: OncoKbHelper.getLevelsDesc(OncoKbCardDataType.DX),
1483
- };
1484
- case OncoKbCardDataType.PX:
1485
- return {
1486
- levels: OncoKbHelper.PX_LEVELS,
1487
- levelDes: OncoKbHelper.getLevelsDesc(OncoKbCardDataType.PX),
1488
- };
1489
- default:
1490
- return {
1491
- levels: [],
1492
- levelDes: {},
1493
- };
1494
- }
1495
- }
1496
- var UNKNOWN = 'Unknown';
1497
- function getOncogenicity() {
1498
- var _a;
1499
- var oncogenicity = (_a = props.indicator) === null || _a === void 0 ? void 0 : _a.oncogenic;
1500
- if (!oncogenicity || oncogenicity === UNKNOWN) {
1501
- oncogenicity = 'Unknown Oncogenic Effect';
1502
- }
1503
- return oncogenicity;
1504
- }
1505
- function getMutationEffect() {
1506
- var _a;
1507
- var mutationEffect = (_a = props.indicator) === null || _a === void 0 ? void 0 : _a.mutationEffect.knownEffect;
1508
- if (!mutationEffect || mutationEffect === UNKNOWN) {
1509
- mutationEffect = 'Unknown Biological Effect';
1510
- }
1511
- return mutationEffect;
1512
- }
1513
- return (React__default.createElement(React__default.Fragment, null,
1514
- !props.geneNotExist && (React__default.createElement("div", null,
1515
- props.indicator && (React__default.createElement(React__default.Fragment, null,
1516
- React__default.createElement("div", { className: mainStyles['biological-info'] },
1517
- React__default.createElement("div", { style: { flexGrow: 1 } }, getOncogenicity()),
1518
- React__default.createElement("div", { style: { flexGrow: 1 } }, getMutationEffect())),
1519
- React__default.createElement("div", { className: mainStyles['oncokb-card'], "data-test": "oncokb-card" }, getBody(props.type, props.indicator)))),
1520
- !props.usingPublicOncoKbInstance && (React__default.createElement(React__default.Fragment, null,
1521
- React__default.createElement("div", { className: tabsStyles['tab-pane'] }, OncoKbMedicalDisclaimer),
1522
- levelsOfEvidence &&
1523
- levelsOfEvidence.levels.length > 0 && (React__default.createElement(OncoKbCardLevelsOfEvidenceDropdown, { levels: levelsOfEvidence.levels, levelDes: levelsOfEvidence.levelDes })))))),
1524
- !props.isCancerGene && (React__default.createElement("div", { className: mainStyles['additional-info'], "data-test": 'oncokb-card-additional-info' }, "There is currently no information about this gene in OncoKB.")),
1525
- props.geneNotExist && props.isCancerGene && (React__default.createElement("div", { className: mainStyles['additional-info'] },
1526
- React__default.createElement(OncoKBSuggestAnnotationLinkout, { gene: props.hugoSymbol })))));
1527
- };
1528
-
1529
- var OncoKbCard = /** @class */ (function (_super) {
1530
- __extends(OncoKbCard, _super);
1531
- function OncoKbCard(props) {
1532
- var _this = _super.call(this, props) || this;
1533
- makeObservable(_this);
1534
- return _this;
1535
- }
1536
- Object.defineProperty(OncoKbCard.prototype, "oncokbLinkOut", {
1537
- get: function () {
1538
- var link = undefined;
1539
- if (this.props.hugoSymbol) {
1540
- link = "https://www.oncokb.org/gene/" + this.props.hugoSymbol;
1541
- if (!this.props.geneNotExist &&
1542
- this.props.indicator &&
1543
- this.props.indicator.variantExist) {
1544
- link = link + "/" + this.props.indicator.query.alteration;
1545
- }
1546
- }
1547
- return link;
1548
- },
1549
- enumerable: false,
1550
- configurable: true
1551
- });
1552
- Object.defineProperty(OncoKbCard.prototype, "render", {
1553
- enumerable: false,
1554
- configurable: true,
1555
- writable: true,
1556
- value: function () {
1557
- var oncokbLogo = (React.createElement("img", { src: oncoKbLogoImgSrc, className: mainStyles['oncokb-logo'], alt: "OncoKB\u2122" }));
1558
- return (React.createElement("div", { className: mainStyles['oncokb-card'], "data-test": "oncokb-card" },
1559
- React.createElement("div", null,
1560
- !this.props.geneNotExist && this.props.indicator && (React.createElement(OncoKbCardTitle, { hugoSymbol: this.props.indicator.query.hugoSymbol, variant: this.props.indicator.query.alteration, tumorType: this.props.indicator
1561
- ? this.props.indicator.query.tumorType
1562
- : '' })),
1563
- React.createElement(OncoKbCardBody, { type: this.props.type, indicator: this.props.indicator, geneNotExist: this.props.geneNotExist, isCancerGene: this.props.isCancerGene, hugoSymbol: this.props.hugoSymbol, pmidData: this.props.pmidData, usingPublicOncoKbInstance: this.props.usingPublicOncoKbInstance, displayHighestLevelInTabTitle: this.props.displayHighestLevelInTabTitle }),
1564
- React.createElement("div", { className: mainStyles.footer },
1565
- this.oncokbLinkOut === undefined ? ({ oncokbLogo: oncokbLogo }) : (React.createElement("a", { href: "" + this.oncokbLinkOut, target: "_blank", className: mainStyles['oncokb-logo'] }, oncokbLogo)),
1566
- this.props.handleFeedbackOpen && (React.createElement("span", null,
1567
- React.createElement("button", { className: "btn btn-default btn-xs", onClick: this.props.handleFeedbackOpen }, "Feedback")))))));
1568
- }
1569
- });
1570
- __decorate([
1571
- computed
1572
- ], OncoKbCard.prototype, "oncokbLinkOut", null);
1573
- OncoKbCard = __decorate([
1574
- observer
1575
- ], OncoKbCard);
1576
- return OncoKbCard;
1577
- }(React.Component));
1578
-
1579
- /**
1580
- * @author Selcuk Onur Sumer
1581
- */
1582
- var OncoKbTooltip = /** @class */ (function (_super) {
1583
- __extends(OncoKbTooltip, _super);
1584
- function OncoKbTooltip() {
1585
- return _super !== null && _super.apply(this, arguments) || this;
1586
- }
1587
- Object.defineProperty(OncoKbTooltip.prototype, "pmidData", {
1588
- get: function () {
1589
- if (this.props.pubMedCache) {
1590
- var allPmids_1 = [];
1591
- if (this.props.indicator) {
1592
- if (this.props.indicator.mutationEffect) {
1593
- allPmids_1 = allPmids_1.concat(this.props.indicator.mutationEffect.citations.pmids);
1594
- }
1595
- this.props.indicator.treatments.forEach(function (treatment) {
1596
- allPmids_1 = allPmids_1.concat(treatment.pmids);
1597
- });
1598
- this.props.indicator.diagnosticImplications.forEach(function (implication) {
1599
- allPmids_1 = allPmids_1.concat(implication.pmids);
1600
- });
1601
- this.props.indicator.prognosticImplications.forEach(function (implication) {
1602
- allPmids_1 = allPmids_1.concat(implication.pmids);
1603
- });
1604
- }
1605
- for (var _i = 0, _a = ___default.uniq(allPmids_1).map(function (pmid) { return Number(pmid); }); _i < _a.length; _i++) {
1606
- var ref = _a[_i];
1607
- this.props.pubMedCache.get(ref);
1608
- }
1609
- }
1610
- return (this.props.pubMedCache && this.props.pubMedCache.cache) || {};
1611
- },
1612
- enumerable: false,
1613
- configurable: true
1614
- });
1615
- Object.defineProperty(OncoKbTooltip.prototype, "render", {
1616
- enumerable: false,
1617
- configurable: true,
1618
- writable: true,
1619
- value: function () {
1620
- var tooltipContent = React.createElement("span", null);
1621
- if (this.props.geneNotExist) {
1622
- tooltipContent = (React.createElement(OncoKbCard, { type: this.props.type, usingPublicOncoKbInstance: this.props.usingPublicOncoKbInstance, hugoSymbol: this.props.hugoSymbol, geneNotExist: this.props.geneNotExist, isCancerGene: this.props.isCancerGene, pmidData: {}, handleFeedbackOpen: this.props.handleFeedbackOpen, displayHighestLevelInTabTitle: true }));
1623
- }
1624
- if (!this.props.indicator) {
1625
- return tooltipContent;
1626
- }
1627
- if (!this.props.geneNotExist) {
1628
- var pmidData = this.pmidData;
1629
- tooltipContent = (React.createElement(OncoKbCard, { type: this.props.type, usingPublicOncoKbInstance: this.props.usingPublicOncoKbInstance, geneNotExist: this.props.geneNotExist, isCancerGene: this.props.isCancerGene, hugoSymbol: this.props.hugoSymbol, indicator: this.props.indicator, pmidData: pmidData, handleFeedbackOpen: this.props.handleFeedbackOpen, displayHighestLevelInTabTitle: true }));
1630
- }
1631
- return tooltipContent;
129
+ React.createElement("b", null, this.props.geneName))),
130
+ ' ',
131
+ "- ",
132
+ this.props.geneDescription)),
133
+ React.createElement("div", { className: "col s12" },
134
+ React.createElement("ul", null, this.generateVariants(this.props.variants))),
135
+ React.createElement("div", { className: "item disclaimer" },
136
+ React.createElement("span", null, "Disclaimer: This resource is intended for purely research purposes. It should not be used for emergencies or medical or professional advice.")))),
137
+ React.createElement("div", { className: "item footer" },
138
+ React.createElement("a", { href: this.props.geneUrl, target: "_blank" },
139
+ React.createElement("img", { src: img$5, className: "civic-logo", alt: "CIViC" })))));
1632
140
  }
1633
141
  });
1634
- OncoKbTooltip = __decorate([
1635
- observer
1636
- ], OncoKbTooltip);
1637
- return OncoKbTooltip;
142
+ return CivicCard;
1638
143
  }(React.Component));
1639
144
 
1640
- var OncoKbFeedback = /** @class */ (function (_super) {
1641
- __extends(OncoKbFeedback, _super);
1642
- function OncoKbFeedback() {
1643
- return _super !== null && _super.apply(this, arguments) || this;
1644
- }
1645
- Object.defineProperty(OncoKbFeedback.prototype, "render", {
1646
- enumerable: false,
1647
- configurable: true,
1648
- writable: true,
1649
- value: function () {
1650
- var url = 'https://docs.google.com/forms/d/1lt6TtecxHrhIE06gAKVF_JW4zKFoowNFzxn6PJv4g7A/viewform';
1651
- var geneParam = "entry.1744186665=" + (this.props.hugoSymbol || '');
1652
- var alterationParam = "entry.1671960263=" + (this.props.alteration ||
1653
- '');
1654
- var userParam = "entry.1381123986=" + (this.props.userEmailAddress ||
1655
- '');
1656
- var uriParam = "entry.1083850662=" + encodeURIComponent(window.location.href);
1657
- return (React.createElement(Modal, { show: this.props.showFeedback, onHide: this.props.handleFeedbackClose },
1658
- React.createElement(Modal.Header, { closeButton: true },
1659
- React.createElement(Modal.Title, null, "OncoKB\u2122 Annotation Feedback")),
1660
- React.createElement(Modal.Body, null,
1661
- React.createElement("iframe", { src: url + "?" + geneParam + "&" + alterationParam + "&entry.118699694&entry.1568641202&" + userParam + "&" + uriParam + "&embedded=true", style: {
1662
- width: 550,
1663
- height: 500,
1664
- border: 'none',
1665
- marginLeft: '10px',
1666
- }, marginHeight: 0, marginWidth: 0 },
1667
- React.createElement("i", { className: "fa fa-spinner fa-pulse fa-2x" })))));
1668
- }
1669
- });
1670
- return OncoKbFeedback;
1671
- }(React.Component));
145
+ var img$4 = "data:image/png;base64,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";
146
+
147
+ var img$3 = "data:image/png;base64,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";
1672
148
 
1673
- function sortValue$6(indicator) {
1674
- var values = [0, 0, 0];
1675
- if (indicator) {
1676
- values[0] = calcOncogenicScore(indicator.oncogenic);
1677
- values[1] = calcSensitivityLevelScore(indicator.highestSensitiveLevel);
1678
- values[2] = calcResistanceLevelScore(indicator.highestResistanceLevel);
1679
- values[3] = calcDiagnosticLevelScore(indicator.highestDiagnosticImplicationLevel);
1680
- values[4] = calcPrognosticLevelScore(indicator.highestPrognosticImplicationLevel);
1681
- }
1682
- return values;
149
+ function hideArrow(tooltipEl) {
150
+ var arrowEl = tooltipEl.querySelector('.rc-tooltip-arrow');
151
+ arrowEl.style.display = 'none';
1683
152
  }
1684
- function download$5(indicator) {
1685
- var _a, _b;
1686
- if (!indicator) {
1687
- return 'NA';
153
+ function sortValue$7(civicEntry) {
154
+ var score = 0;
155
+ if (civicEntry) {
156
+ score = 1;
1688
157
  }
1689
- var oncogenic = indicator.oncogenic ? indicator.oncogenic : 'Unknown';
1690
- var sensitivityLevel = ((_a = indicator.highestSensitiveLevel) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || 'level NA';
1691
- var resistanceLevel = ((_b = indicator.highestResistanceLevel) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || 'resistance NA';
1692
- return oncogenic + ", " + sensitivityLevel + ", " + resistanceLevel;
158
+ return score;
1693
159
  }
1694
- function findDefaultDataTypeForTooltip(usingPublicOncoKbInstance, indicator, availableDataTypes) {
1695
- if (usingPublicOncoKbInstance || !indicator) {
1696
- return OncoKbCardDataType.BIOLOGICAL;
1697
- }
1698
- // priority is in this order: Tx > Dx > Px > Biological
1699
- if (indicator.highestSensitiveLevel &&
1700
- availableDataTypes &&
1701
- availableDataTypes.includes(OncoKbCardDataType.TXS)) {
1702
- return OncoKbCardDataType.TXS;
1703
- }
1704
- else if (indicator.highestResistanceLevel &&
1705
- availableDataTypes &&
1706
- availableDataTypes.includes(OncoKbCardDataType.TXR)) {
1707
- return OncoKbCardDataType.TXR;
1708
- }
1709
- else if (indicator.highestDiagnosticImplicationLevel &&
1710
- availableDataTypes &&
1711
- availableDataTypes.includes(OncoKbCardDataType.DX)) {
1712
- return OncoKbCardDataType.DX;
1713
- }
1714
- else if (indicator.highestPrognosticImplicationLevel &&
1715
- availableDataTypes &&
1716
- availableDataTypes.includes(OncoKbCardDataType.PX)) {
1717
- return OncoKbCardDataType.PX;
1718
- }
1719
- return OncoKbCardDataType.BIOLOGICAL;
160
+ function download$6(civicEntry) {
161
+ if (!civicEntry) {
162
+ return CIVIC_NA_VALUE;
163
+ }
164
+ var variants = ___default.values(civicEntry.variants);
165
+ var values = [];
166
+ if (variants && variants.length > 0 && variants[0].evidenceCounts) {
167
+ ___default.forEach(variants[0].evidenceCounts, function (value, key) {
168
+ values.push(key + ": " + value);
169
+ });
170
+ }
171
+ // this indicates that we have an entry but the evidence is empty
172
+ if (values.length === 0) {
173
+ return CIVIC_NA_VALUE;
174
+ }
175
+ return values.join(', ');
1720
176
  }
1721
- var OncoKB = /** @class */ (function (_super) {
1722
- __extends(OncoKB, _super);
1723
- function OncoKB(props) {
177
+ var Civic = /** @class */ (function (_super) {
178
+ __extends(Civic, _super);
179
+ function Civic(props) {
1724
180
  var _this = _super.call(this, props) || this;
1725
- Object.defineProperty(_this, "showFeedback", {
1726
- enumerable: true,
1727
- configurable: true,
1728
- writable: true,
1729
- value: false
1730
- });
1731
181
  Object.defineProperty(_this, "tooltipDataLoadComplete", {
1732
182
  enumerable: true,
1733
183
  configurable: true,
@@ -1735,125 +185,136 @@ var OncoKB = /** @class */ (function (_super) {
1735
185
  value: false
1736
186
  });
1737
187
  makeObservable(_this);
188
+ _this.cardContent = _this.cardContent.bind(_this);
1738
189
  return _this;
1739
190
  }
1740
- Object.defineProperty(OncoKB.prototype, "render", {
191
+ Object.defineProperty(Civic.prototype, "render", {
1741
192
  enumerable: false,
1742
193
  configurable: true,
1743
194
  writable: true,
1744
195
  value: function () {
1745
- var oncoKbContent;
1746
- if (this.props.status === 'error') {
1747
- oncoKbContent = errorIcon('Error fetching OncoKB data');
1748
- }
1749
- else if (this.props.status === 'pending') {
1750
- oncoKbContent = loaderIcon('pull-left');
196
+ var civicContent = (React.createElement("span", { className: "" + annotationStyles['annotation-item'] }));
197
+ var civicImgWidth = 14;
198
+ var civicImgHeight = 14;
199
+ var civicImgSrc = !this.props.hasCivicVariants
200
+ ? img$3
201
+ : img$4;
202
+ if (this.props.civicStatus == 'error') {
203
+ civicContent = errorIcon('Error fetching Civic data');
1751
204
  }
1752
- else {
1753
- oncoKbContent = this.props.mergeAnnotationIcons
1754
- ? this.singleAnnotationIcon()
1755
- : this.multiAnnotationIcon();
1756
- if (!this.props.disableFeedback && this.showFeedback) {
1757
- oncoKbContent = (React.createElement("span", null,
1758
- oncoKbContent,
1759
- React.createElement(OncoKbFeedback, { userEmailAddress: this.props.userEmailAddress, hugoSymbol: this.props.hugoGeneSymbol, alteration: this.props.indicator
1760
- ? this.props.indicator.query.alteration
1761
- : undefined, showFeedback: this.showFeedback, handleFeedbackClose: this.handleFeedbackClose })));
205
+ else if (this.props.civicEntry !== undefined) {
206
+ if (this.props.civicEntry !== null &&
207
+ this.props.civicStatus == 'complete') {
208
+ civicContent = (React.createElement("span", { className: "" + annotationStyles['annotation-item'] },
209
+ React.createElement("img", { width: civicImgWidth, height: civicImgHeight, src: civicImgSrc, alt: "Civic Variant Entry" })));
210
+ civicContent = (React.createElement(DefaultTooltip, { overlay: this.cardContent.bind(this, this.props.civicEntry), placement: "right", trigger: ['hover', 'focus'], onPopupAlign: hideArrow, destroyTooltipOnHide: false }, civicContent));
1762
211
  }
1763
212
  }
1764
- return oncoKbContent;
1765
- }
1766
- });
1767
- Object.defineProperty(OncoKB.prototype, "multiAnnotationIcon", {
1768
- enumerable: false,
1769
- configurable: true,
1770
- writable: true,
1771
- value: function () {
1772
- return (React.createElement("span", { className: "oncokb-content", style: { display: 'inline-flex' } },
1773
- React.createElement(AnnotationIcon, { type: OncoKbCardDataType.BIOLOGICAL, tooltipOverlay: this.tooltipContent(OncoKbCardDataType.BIOLOGICAL), indicator: this.props.indicator, availableDataTypes: this.props.availableDataTypes }),
1774
- this.levelIcons()));
1775
- }
1776
- });
1777
- Object.defineProperty(OncoKB.prototype, "levelIcons", {
1778
- enumerable: false,
1779
- configurable: true,
1780
- writable: true,
1781
- value: function () {
1782
- var _this = this;
1783
- if (this.props.usingPublicOncoKbInstance) {
1784
- return null;
1785
- }
1786
- if (this.props.indicator) {
1787
- return (React.createElement(React.Fragment, null, [
1788
- OncoKbCardDataType.TXS,
1789
- OncoKbCardDataType.TXR,
1790
- OncoKbCardDataType.DX,
1791
- OncoKbCardDataType.PX,
1792
- ].map(function (dataType) { return (React.createElement(AnnotationIcon, { type: dataType, tooltipOverlay: _this.tooltipContent(dataType), indicator: _this.props.indicator, availableDataTypes: _this.props.availableDataTypes })); })));
1793
- }
1794
213
  else {
1795
- // workaround: use content padding value to draw an empty icon when there is no indicator data.
1796
- // this is to keep the icon alignment consistent with the rest of the column.
1797
- // ideally we should implement grouped columns to avoid these kind of workarounds
1798
- // (see https://github.com/cBioPortal/cbioportal/issues/8723)
1799
- return React.createElement("i", { style: { paddingRight: this.props.contentPadding } });
214
+ // It's still unknown (undefined) if the current gene has a Civic entry or not.
215
+ civicContent = loaderIcon('pull-left');
1800
216
  }
217
+ return civicContent;
1801
218
  }
1802
219
  });
1803
- Object.defineProperty(OncoKB.prototype, "singleAnnotationIcon", {
1804
- enumerable: false,
1805
- configurable: true,
1806
- writable: true,
1807
- value: function () {
1808
- return (React.createElement("span", { className: "oncokb-content", style: { display: 'inline-flex' } },
1809
- React.createElement(AnnotationIconWithTooltip, { tooltipOverlay: this.tooltipContent(findDefaultDataTypeForTooltip(this.props.usingPublicOncoKbInstance, this.props.indicator, this.props.availableDataTypes)), icon: React.createElement(CompactAnnotationIcon, { indicator: this.props.indicator, availableDataTypes: this.props.availableDataTypes, usingPublicOncoKbInstance: this.props.usingPublicOncoKbInstance }) })));
1810
- }
1811
- });
1812
- Object.defineProperty(OncoKB.prototype, "tooltipContent", {
220
+ Object.defineProperty(Civic.prototype, "cardContent", {
1813
221
  enumerable: false,
1814
222
  configurable: true,
1815
223
  writable: true,
1816
- value: function (type) {
1817
- return (React.createElement(OncoKbTooltip, { type: type, usingPublicOncoKbInstance: this.props.usingPublicOncoKbInstance, hugoSymbol: this.props.hugoGeneSymbol, geneNotExist: this.props.geneNotExist, isCancerGene: this.props.isCancerGene, indicator: this.props.indicator || undefined, pubMedCache: this.props.pubMedCache, handleFeedbackOpen: this.props.disableFeedback
1818
- ? undefined
1819
- : this.handleFeedbackOpen }));
224
+ value: function (civicEntry) {
225
+ return (React.createElement(CivicCard, { title: "CIViC Variants", geneName: civicEntry.name, geneDescription: civicEntry.description, geneUrl: civicEntry.url, variants: civicEntry.variants }));
1820
226
  }
1821
227
  });
1822
- Object.defineProperty(OncoKB.prototype, "handleFeedbackOpen", {
1823
- enumerable: false,
1824
- configurable: true,
1825
- writable: true,
1826
- value: function () {
1827
- this.showFeedback = true;
228
+ __decorate([
229
+ observable
230
+ ], Civic.prototype, "tooltipDataLoadComplete", void 0);
231
+ Civic = __decorate([
232
+ observer
233
+ ], Civic);
234
+ return Civic;
235
+ }(React.Component));
236
+
237
+ var NoClinvarData = function () {
238
+ return (React.createElement(DefaultTooltip, { placement: "topLeft", overlay: React.createElement("span", null, "Variant has no ClinVar data.") },
239
+ React.createElement("span", { style: {
240
+ height: '100%',
241
+ width: '100%',
242
+ display: 'block',
243
+ overflow: 'hidden',
244
+ } }, "\u00A0")));
245
+ };
246
+ var ClinvarSummary = function (props) {
247
+ if (!props.clinvar) {
248
+ return React.createElement(NoClinvarData, null);
249
+ }
250
+ else {
251
+ var clinvarId = props.clinvar.clinvarId;
252
+ var clinvarLink = "https://www.ncbi.nlm.nih.gov/clinvar/variation/" + clinvarId + "/";
253
+ var clinicalSignificance = props.clinvar.clinicalSignificance;
254
+ var conflictingClinicalSignificance = props.clinvar.conflictingClinicalSignificance;
255
+ return (React.createElement(TruncatedText, { maxLength: 30, text: clinicalSignificance, addTooltip: "always", tooltip: React.createElement("div", { style: { maxWidth: 300 } },
256
+ React.createElement("div", null, clinicalSignificance),
257
+ conflictingClinicalSignificance && (React.createElement("div", null, conflictingClinicalSignificance)),
258
+ React.createElement("div", null,
259
+ "(ClinVar ID:",
260
+ ' ',
261
+ React.createElement("a", { href: clinvarLink, target: "_blank" }, clinvarId),
262
+ ")")) }));
263
+ }
264
+ };
265
+
266
+ var img$2 = "data:image/png;base64,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";
267
+
268
+ var mcgStyles = {"link-list":"myCancerGenome-module_link-list__2wFhH"};
269
+
270
+ function placeArrow$1(tooltipEl) {
271
+ var arrowEl = tooltipEl.querySelector('.rc-tooltip-arrow');
272
+ arrowEl.style.left = '10px';
273
+ }
274
+ function sortValue$6(links) {
275
+ return links.length > 0 ? 1 : 0;
276
+ }
277
+ function download$5(links) {
278
+ return links.length > 0 ? 'present' : 'not present';
279
+ }
280
+ function myCancerGenomeLinks(linksHTML) {
281
+ var links = [];
282
+ ___default.each(linksHTML, function (link, index) {
283
+ // TODO this is a workaround, ideally we should fix the data itself
284
+ // parse the data as an HTML dom element, since it is formatted as an HTML link.
285
+ var myCancerGenomeLink = parseMyCancerGenomeLink(link);
286
+ if (myCancerGenomeLink) {
287
+ links.push(React.createElement("li", { key: index },
288
+ React.createElement("a", { href: myCancerGenomeLink.url, target: "_blank" }, myCancerGenomeLink.text)));
1828
289
  }
1829
290
  });
1830
- Object.defineProperty(OncoKB.prototype, "handleFeedbackClose", {
291
+ return (React.createElement("span", null,
292
+ React.createElement("b", null, "My Cancer Genome links:"),
293
+ React.createElement("br", null),
294
+ React.createElement("ul", { className: mcgStyles['link-list'] }, links)));
295
+ }
296
+ var MyCancerGenome = /** @class */ (function (_super) {
297
+ __extends(MyCancerGenome, _super);
298
+ function MyCancerGenome() {
299
+ return _super !== null && _super.apply(this, arguments) || this;
300
+ }
301
+ Object.defineProperty(MyCancerGenome.prototype, "render", {
1831
302
  enumerable: false,
1832
303
  configurable: true,
1833
304
  writable: true,
1834
305
  value: function () {
1835
- this.showFeedback = false;
306
+ var myCancerGenomeContent = (React.createElement("span", { className: "" + annotationStyles['annotation-item'] }));
307
+ if (this.props.linksHTML.length > 0) {
308
+ var arrowContent = React.createElement("div", { className: "rc-tooltip-arrow-inner" });
309
+ var tooltipContent = myCancerGenomeLinks(this.props.linksHTML);
310
+ myCancerGenomeContent = (React.createElement(DefaultTooltip, { overlay: tooltipContent, placement: "topLeft", trigger: ['hover', 'focus'], arrowContent: arrowContent, onPopupAlign: placeArrow$1 },
311
+ React.createElement("span", { className: annotationStyles['annotation-item'] + " mcg" },
312
+ React.createElement("img", { width: "14", height: "14", src: img$2, alt: "My Cancer Genome Symbol" }))));
313
+ }
314
+ return myCancerGenomeContent;
1836
315
  }
1837
316
  });
1838
- __decorate([
1839
- observable
1840
- ], OncoKB.prototype, "showFeedback", void 0);
1841
- __decorate([
1842
- observable
1843
- ], OncoKB.prototype, "tooltipDataLoadComplete", void 0);
1844
- __decorate([
1845
- autobind
1846
- ], OncoKB.prototype, "tooltipContent", null);
1847
- __decorate([
1848
- autobind
1849
- ], OncoKB.prototype, "handleFeedbackOpen", null);
1850
- __decorate([
1851
- autobind
1852
- ], OncoKB.prototype, "handleFeedbackClose", null);
1853
- OncoKB = __decorate([
1854
- observer
1855
- ], OncoKB);
1856
- return OncoKB;
317
+ return MyCancerGenome;
1857
318
  }(React.Component));
1858
319
 
1859
320
  var hotspotStyles = {"hotspot-info":"hotspotInfo-module_hotspot-info__S24fX"};
@@ -2231,17 +692,17 @@ function annotationSortMethod(a, b) {
2231
692
  }
2232
693
  function sortValue$4(annotation) {
2233
694
  return ___default.flatten([
2234
- sortValue$6(annotation.oncoKbIndicator),
2235
- sortValue$8(annotation.civicEntry),
2236
- sortValue$7(annotation.myCancerGenomeLinks),
695
+ oncoKbAnnotationSortValue(annotation.oncoKbIndicator),
696
+ sortValue$7(annotation.civicEntry),
697
+ sortValue$6(annotation.myCancerGenomeLinks),
2237
698
  sortValue$5(annotation.isHotspot, annotation.is3dHotspot),
2238
699
  annotation.isOncoKbCancerGene ? 1 : 0,
2239
700
  ]);
2240
701
  }
2241
702
  function GenericAnnotation(props) {
2242
- var annotation = props.annotation, enableCivic = props.enableCivic, enableHotspot = props.enableHotspot, enableMyCancerGenome = props.enableMyCancerGenome, enableOncoKb = props.enableOncoKb, pubMedCache = props.pubMedCache, userEmailAddress = props.userEmailAddress, mergeOncoKbIcons = props.mergeOncoKbIcons, oncoKbContentPadding = props.oncoKbContentPadding;
703
+ var annotation = props.annotation, enableCivic = props.enableCivic, enableHotspot = props.enableHotspot, enableMyCancerGenome = props.enableMyCancerGenome, enableOncoKb = props.enableOncoKb; props.pubMedCache; var userEmailAddress = props.userEmailAddress, mergeOncoKbIcons = props.mergeOncoKbIcons, oncoKbContentPadding = props.oncoKbContentPadding;
2243
704
  return (React.createElement("span", { style: { display: 'flex', minWidth: 100 } },
2244
- enableOncoKb && (React.createElement(OncoKB, { usingPublicOncoKbInstance: annotation.usingPublicOncoKbInstance, hugoGeneSymbol: annotation.hugoGeneSymbol, geneNotExist: !annotation.oncoKbGeneExist, isCancerGene: annotation.isOncoKbCancerGene, status: annotation.oncoKbStatus, indicator: annotation.oncoKbIndicator, availableDataTypes: annotation.oncoKbAvailableDataTypes, mergeAnnotationIcons: mergeOncoKbIcons, pubMedCache: pubMedCache, userEmailAddress: userEmailAddress, contentPadding: oncoKbContentPadding })),
705
+ enableOncoKb && (React.createElement(OncoKB, { usingPublicOncoKbInstance: annotation.usingPublicOncoKbInstance, hugoGeneSymbol: annotation.hugoGeneSymbol, geneNotExist: !annotation.oncoKbGeneExist, isCancerGene: annotation.isOncoKbCancerGene, status: annotation.oncoKbStatus, indicator: annotation.oncoKbIndicator, availableDataTypes: annotation.oncoKbAvailableDataTypes, mergeAnnotationIcons: mergeOncoKbIcons, userEmailAddress: userEmailAddress, contentPadding: oncoKbContentPadding })),
2245
706
  enableCivic && (React.createElement(Civic, { civicEntry: annotation.civicEntry, civicStatus: annotation.civicStatus, hasCivicVariants: annotation.hasCivicVariants })),
2246
707
  enableMyCancerGenome && (React.createElement(MyCancerGenome, { linksHTML: annotation.myCancerGenomeLinks })),
2247
708
  enableHotspot && (React.createElement(HotspotAnnotation, { isHotspot: annotation.isHotspot, is3dHotspot: annotation.is3dHotspot, status: annotation.hotspotStatus }))));
@@ -3307,7 +1768,7 @@ var DropdownSelector = /** @class */ (function (_super) {
3307
1768
  var _a;
3308
1769
  var allValuesSelected = this.allValues.length === this.selectedValues.length;
3309
1770
  var classes = this.props.selectionIndicatorClassNames;
3310
- return classnames(classes.base, (_a = {},
1771
+ return classNames(classes.base, (_a = {},
3311
1772
  _a[classes.allSelected] = allValuesSelected,
3312
1773
  _a[classes.partiallySelected] = !allValuesSelected,
3313
1774
  _a));
@@ -4049,8 +2510,8 @@ var FilterResetPanel = /** @class */ (function (_super) {
4049
2510
  writable: true,
4050
2511
  value: {
4051
2512
  buttonText: 'Show all',
4052
- buttonClass: classnames('btn', 'btn-secondary', 'btn-sm'),
4053
- className: classnames('alert', 'alert-success', styles$7.filterResetPanel),
2513
+ buttonClass: classNames('btn', 'btn-secondary', 'btn-sm'),
2514
+ className: classNames('alert', 'alert-success', styles$7.filterResetPanel),
4054
2515
  }
4055
2516
  });
4056
2517
  FilterResetPanel = __decorate([
@@ -4465,7 +2926,7 @@ var DataTable = /** @class */ (function (_super) {
4465
2926
  value: function () {
4466
2927
  return (React.createElement("div", { className: "cbioportal-frontend" },
4467
2928
  React.createElement(DataTableToolbar, { visibilityToggle: this.onVisibilityToggle, showSearchBox: this.props.showSearchBox, onSearch: this.onSearch, filterInputRef: this.filterInputRef, searchDelay: this.props.searchDelay, searchPlaceHolder: this.props.searchPlaceholder, info: this.props.info, showColumnVisibility: this.props.showColumnVisibility, columnVisibility: this.columnVisibilityDef, columnSelectorProps: this.props.columnSelectorProps }),
4468
- React.createElement("div", { className: classnames(this.props.className, 'cbioportal-frontend', 'default-data-table') },
2929
+ React.createElement("div", { className: classNames(this.props.className, 'cbioportal-frontend', 'default-data-table') },
4469
2930
  React.createElement(ReactTable, __assign({ data: this.tableData, columns: this.columns, getTrProps: this.needToCustomizeRowStyle
4470
2931
  ? this.getTrProps
4471
2932
  : undefined, defaultSorted: this.defaultSorted, defaultPageSize: this.props.initialItemsPerPage, showPagination: this.showPagination, className: "-striped -highlight", previousText: "<", nextText: ">", expanded: this.expanded, onExpandedChange: this.onExpandedChange, onPageChange: this.resetExpander, onPageSizeChange: this.resetExpander, onSortedChange: this.resetExpander, minRows: 1 }, this.props.reactTableProps)))));
@@ -5711,8 +4172,8 @@ function calcYMaxInput(yMaxInput, yMaxStep, countRange, oppositeCountRange, yAxi
5711
4172
  var input = yMaxInput;
5712
4173
  if (input === undefined) {
5713
4174
  input = yAxisSameScale
5714
- ? getCommonYAxisMaxSliderValue(yMaxStep, countRange, oppositeCountRange)
5715
- : getYAxisMaxSliderValue(yMaxStep, countRange);
4175
+ ? numeral(numeral(getCommonYAxisMaxSliderValue(yMaxStep, countRange, oppositeCountRange)).format(String(yMaxStep))).value()
4176
+ : numeral(numeral(getYAxisMaxSliderValue(yMaxStep, countRange)).format(String(yMaxStep))).value();
5716
4177
  }
5717
4178
  return input;
5718
4179
  }
@@ -5742,7 +4203,9 @@ function calcCountRange(lollipops, defaultMax, defaultMin) {
5742
4203
  for (var _i = 0, lollipops_1 = lollipops; _i < lollipops_1.length; _i++) {
5743
4204
  var lollipop = lollipops_1[_i];
5744
4205
  max = Math.max(max, lollipop.count);
5745
- min = Math.min(min, lollipop.count);
4206
+ min = Number.isInteger(lollipop.count)
4207
+ ? Math.min(min, lollipop.count)
4208
+ : Math.min(0.1, lollipop.count);
5746
4209
  }
5747
4210
  return [min, Math.max(min, max)];
5748
4211
  }
@@ -7334,7 +5797,7 @@ var LollipopMutationPlotControls = /** @class */ (function (_super) {
7334
5797
  });
7335
5798
  Object.defineProperty(LollipopMutationPlotControls.prototype, "trackSelector", {
7336
5799
  get: function () {
7337
- return (React.createElement("div", { className: classnames('annotation-track-selector', 'small'), style: { width: 180, marginRight: 7 } },
5800
+ return (React.createElement("div", { className: classNames('annotation-track-selector', 'small'), style: { width: 180, marginRight: 7 } },
7338
5801
  React.createElement(TrackSelector, { tracks: this.props.tracks, trackVisibility: this.props.trackVisibility, trackDataStatus: this.props.trackDataStatus, onChange: this.props.onTrackVisibilityChange })));
7339
5802
  },
7340
5803
  enumerable: false,
@@ -7361,7 +5824,7 @@ var LollipopMutationPlotControls = /** @class */ (function (_super) {
7361
5824
  configurable: true,
7362
5825
  writable: true,
7363
5826
  value: function () {
7364
- return (React.createElement("div", { className: classnames('lollipop_mutation_plot__controls', this.props.showControls
5827
+ return (React.createElement("div", { className: classNames('lollipop_mutation_plot__controls', this.props.showControls
7365
5828
  ? styles$5['fade-in']
7366
5829
  : styles$5['fade-out']) },
7367
5830
  React.createElement("div", { style: { display: 'flex', alignItems: 'center' } },
@@ -7974,7 +6437,7 @@ var Track = /** @class */ (function (_super) {
7974
6437
  position: 'relative',
7975
6438
  display: 'flex',
7976
6439
  } },
7977
- React.createElement("span", { className: classnames(styles$4.trackTitle, 'small', (this.props.isSubTrack ? 'subtrack-' : '') + "trackTitle") }, this.props.trackTitle),
6440
+ React.createElement("span", { className: classNames(styles$4.trackTitle, 'small', (this.props.isSubTrack ? 'subtrack-' : '') + "trackTitle") }, this.props.trackTitle),
7978
6441
  React.createElement("span", null,
7979
6442
  React.createElement(DefaultTooltip, __assign({ placement: this.getOverlayPlacement(), overlay: this.getOverlay, onVisibleChange: this.onTooltipVisibleChange, destroyTooltipOnHide: true }, this.tooltipVisibleProps), this.hitZone),
7980
6443
  React.createElement("span", { style: { marginLeft: this.props.xOffset }, onMouseOver: this.onMouseOver },
@@ -8134,130 +6597,6 @@ var OncoKbFilterValue;
8134
6597
  OncoKbFilterValue["Oncogenic"] = "ONCOGENIC";
8135
6598
  })(OncoKbFilterValue || (OncoKbFilterValue = {}));
8136
6599
 
8137
- var OncoKbSummaryTable = /** @class */ (function (_super) {
8138
- __extends(OncoKbSummaryTable, _super);
8139
- function OncoKbSummaryTable(props) {
8140
- var _this = _super.call(this, props) || this;
8141
- makeObservable(_this);
8142
- _this.state = {};
8143
- return _this;
8144
- }
8145
- OncoKbSummaryTable_1 = OncoKbSummaryTable;
8146
- Object.defineProperty(OncoKbSummaryTable.prototype, "hasLevelData", {
8147
- get: function () {
8148
- return this.props.data.find(function (d) { return d.level.length > 0; }) !== undefined;
8149
- },
8150
- enumerable: false,
8151
- configurable: true
8152
- });
8153
- Object.defineProperty(OncoKbSummaryTable.prototype, "columns", {
8154
- get: function () {
8155
- var columns = [
8156
- {
8157
- id: 'proteinChange',
8158
- accessor: 'proteinChange',
8159
- Header: 'Protein Change',
8160
- sortMethod: function (a, b) {
8161
- return defaultSortMethod(calcProteinChangeSortValue(a), calcProteinChangeSortValue(b));
8162
- },
8163
- },
8164
- {
8165
- id: 'count',
8166
- accessor: 'count',
8167
- Header: 'Occurrence',
8168
- maxWidth: 80,
8169
- },
8170
- {
8171
- id: 'clinicalImplication',
8172
- accessor: 'clinicalImplication',
8173
- Header: 'Implication',
8174
- Cell: function (props) { return (React.createElement("span", null, props.original.clinicalImplication.join(', '))); },
8175
- sortMethod: defaultStringArraySortMethod,
8176
- minWidth: 120,
8177
- },
8178
- {
8179
- id: 'biologicalEffect',
8180
- accessor: 'biologicalEffect',
8181
- Header: 'Effect',
8182
- Cell: function (props) { return (React.createElement("span", null, props.original.biologicalEffect.join(', '))); },
8183
- sortMethod: defaultStringArraySortMethod,
8184
- minWidth: 150,
8185
- },
8186
- ];
8187
- if (!this.props.usingPublicOncoKbInstance) {
8188
- columns.push({
8189
- id: 'level',
8190
- accessor: 'level',
8191
- Header: 'Level',
8192
- sortable: false,
8193
- Cell: function (props) { return (React.createElement(React.Fragment, null, props.original.level.map(function (level) { return (React.createElement("div", { key: level.level, style: {
8194
- display: 'flex',
8195
- overflow: 'hidden',
8196
- textOverflow: 'ellipsis',
8197
- } },
8198
- React.createElement(LevelIcon, { level: level.level, showDescription: true }),
8199
- React.createElement("span", { style: {
8200
- paddingRight: 3,
8201
- } }, ":"),
8202
- React.createElement(EllipsisTextTooltip, { text: level.tumorTypes.join(', '), style: {
8203
- overflow: 'hidden',
8204
- whiteSpace: 'nowrap',
8205
- textOverflow: 'ellipsis',
8206
- } }))); }))); },
8207
- minWidth: this.hasLevelData ? 180 : 50,
8208
- });
8209
- }
8210
- return columns;
8211
- },
8212
- enumerable: false,
8213
- configurable: true
8214
- });
8215
- Object.defineProperty(OncoKbSummaryTable.prototype, "render", {
8216
- enumerable: false,
8217
- configurable: true,
8218
- writable: true,
8219
- value: function () {
8220
- var _a = this.props, data = _a.data, initialSortColumn = _a.initialSortColumn, initialSortDirection = _a.initialSortDirection, initialItemsPerPage = _a.initialItemsPerPage;
8221
- var showPagination = data.length >
8222
- (this.props.initialItemsPerPage ||
8223
- OncoKbSummaryTable_1.defaultProps.initialItemsPerPage);
8224
- return (React.createElement("div", { className: classnames('cbioportal-frontend', 'default-track-tooltip-table') },
8225
- React.createElement(ReactTable, { data: data, columns: this.columns, defaultSorted: [
8226
- {
8227
- id: initialSortColumn ||
8228
- OncoKbSummaryTable_1.defaultProps
8229
- .initialSortColumn,
8230
- desc: initialSortDirection === 'desc',
8231
- },
8232
- ], defaultPageSize: data.length > initialItemsPerPage
8233
- ? initialItemsPerPage
8234
- : data.length, showPagination: showPagination, showPaginationTop: true, showPaginationBottom: false, className: "-striped -highlight", previousText: "<", nextText: ">" })));
8235
- }
8236
- });
8237
- var OncoKbSummaryTable_1;
8238
- Object.defineProperty(OncoKbSummaryTable, "defaultProps", {
8239
- enumerable: true,
8240
- configurable: true,
8241
- writable: true,
8242
- value: {
8243
- data: [],
8244
- initialSortColumn: 'count',
8245
- initialSortDirection: 'desc',
8246
- initialItemsPerPage: 10,
8247
- }
8248
- });
8249
- __decorate([
8250
- computed
8251
- ], OncoKbSummaryTable.prototype, "hasLevelData", null);
8252
- __decorate([
8253
- computed
8254
- ], OncoKbSummaryTable.prototype, "columns", null);
8255
- OncoKbSummaryTable = OncoKbSummaryTable_1 = __decorate([
8256
- observer
8257
- ], OncoKbSummaryTable);
8258
- return OncoKbSummaryTable;
8259
- }(React.Component));
8260
-
8261
6600
  function oncoKbTooltip(usingPublicOncoKbInstance, indicatorData) {
8262
6601
  var sampleCount = indicatorData.length;
8263
6602
  // generate info
@@ -8579,7 +6918,7 @@ var PtmReferenceList = /** @class */ (function (_super) {
8579
6918
  } },
8580
6919
  React.createElement(ReferenceList, { pmids: this.props.pubmedIds
8581
6920
  .map(function (id) { return extractNumericalPart(id); })
8582
- .filter(function (id) { return id !== undefined; }), pmidData: this.props.pmidData, abstracts: [] })), destroyTooltipOnHide: true },
6921
+ .filter(function (id) { return id !== undefined; }), abstracts: [] })), destroyTooltipOnHide: true },
8583
6922
  React.createElement("div", { style: { textAlign: 'right' } },
8584
6923
  React.createElement("i", { className: "fa fa-book", style: { color: 'black' } }))));
8585
6924
  }
@@ -8704,7 +7043,7 @@ var PtmAnnotationTable = /** @class */ (function (_super) {
8704
7043
  var showPagination = data.length >
8705
7044
  (this.props.initialItemsPerPage ||
8706
7045
  PtmAnnotationTable_1.defaultProps.initialItemsPerPage);
8707
- return (React.createElement("div", { className: classnames('cbioportal-frontend', 'default-track-tooltip-table') },
7046
+ return (React.createElement("div", { className: classNames('cbioportal-frontend', 'default-track-tooltip-table') },
8708
7047
  React.createElement(ReactTable, { data: data, columns: this.columns, defaultSorted: [
8709
7048
  {
8710
7049
  id: initialSortColumn ||
@@ -10128,7 +8467,7 @@ var AxisScaleSwitch = /** @class */ (function (_super) {
10128
8467
  configurable: true,
10129
8468
  writable: true,
10130
8469
  value: function (scale, onClick) {
10131
- return (React.createElement("button", { className: classnames({
8470
+ return (React.createElement("button", { className: classNames({
10132
8471
  'btn-secondary': this.props.selectedScale === scale,
10133
8472
  'btn-outline-secondary': this.props.selectedScale !== scale,
10134
8473
  }, 'btn', 'btn-sm', 'btn-axis-switch'), style: {
@@ -12333,7 +10672,7 @@ var TranscriptDropdown = /** @class */ (function (_super) {
12333
10672
  canonicalTranscriptId &&
12334
10673
  transcriptsWithAnnotations.result &&
12335
10674
  transcriptsWithAnnotations.result.length > 0;
12336
- return (React.createElement("div", { className: classnames('small', styles$1.dropDown) },
10675
+ return (React.createElement("div", { className: classNames('small', styles$1.dropDown) },
12337
10676
  this.loadingIndicator(isLoading),
12338
10677
  !isLoading &&
12339
10678
  requiredData &&
@@ -12346,7 +10685,7 @@ var TranscriptDropdown = /** @class */ (function (_super) {
12346
10685
  var requiredData = transcriptsWithProteinLength.result &&
12347
10686
  transcriptsWithProteinLength.result.length > 0 &&
12348
10687
  canonicalTranscriptId;
12349
- return (React.createElement("div", { className: classnames('small', styles$1.dropDown) },
10688
+ return (React.createElement("div", { className: classNames('small', styles$1.dropDown) },
12350
10689
  this.loadingIndicator(isLoading),
12351
10690
  !isLoading &&
12352
10691
  requiredData &&
@@ -12974,5 +11313,5 @@ var MutationMapper = /** @class */ (function (_super) {
12974
11313
  return MutationMapper;
12975
11314
  }(React.Component));
12976
11315
 
12977
- export { Annotation, AxisScale, AxisScaleSwitch, BadgeLabel, BadgeSelector, Civic, ClinvarInterpretation, ClinvarSummary, ColumnHeader, ColumnSelector, ColumnSortDirection, DEFAULT_ANNOTATION_DATA, DEFAULT_GENOME_NEXUS_URL, DEFAULT_MUTATION_ALIGNER_PROXY_URL_TEMPLATE, DEFAULT_MUTATION_ALIGNER_URL_TEMPLATE, DEFAULT_MUTATION_COLUMNS, DEFAULT_MY_GENE_URL_TEMPLATE, DEFAULT_ONCO_KB_URL, DEFAULT_PROTEIN_IMPACT_TYPE_COLORS, DEFAULT_UNIPROT_ID_URL_TEMPLATE, DataFilterType, DataTable, Dbsnp, DbsnpId, DefaultMutationMapperDataFetcher, DefaultMutationMapperDataStore, DefaultMutationMapperFilterApplier, DefaultMutationMapperStore, DefaultMutationTable, Domain, DropdownSelector, FilterResetPanel, GenericAnnotation, Gnomad, GnomadFrequency, GnomadFrequencyBreakdown, GnomadFrequencyTable, GnomadFrequencyValue, Hgvsc, Hgvsg, HotspotAnnotation, HotspotInfo, Lollipop, LollipopMutationPlot, LollipopPlot, LollipopPlotNoTooltip, LollipopTooltipCountInfo, MSI_H_NAME, MUTATION_COLUMNS_DEFINITION, MUTATION_COLUMN_HEADERS, MUTATION_STATUS_BADGE_STYLE_OVERRIDE, MUTATION_TYPE_PRIORITY, MutationColumn, MutationColumnName, MutationMapper, MutationStatus, MutationStatusBadgeSelector, MyCancerGenome, ONCOKB_DEFAULT_DATA, ONCOKB_DEFAULT_INFO, OTHER_BIOMARKER_HUGO_SYMBOL, OTHER_BIOMARKER_NAME, OncoKB, OncoKBSuggestAnnotationLinkout, OncoKbFeedback, OncoKbHelper, OncoKbTooltip, OncoKbTreatmentTable, OtherBiomarkersQueryType, PercentToggle, ProteinChange, ProteinImpactTypeBadgeSelector, ProteinImpactTypeDropdownSelector, RefComponent, ReferenceList, LollipopPlot as Sequence, Signal, SignalTable, SummaryWithRefs, TEXT_INPUT_FILTER_ID, TMB_H_NAME, TrackName, TrackSelector, USE_DEFAULT_PUBLIC_INSTANCE_FOR_ONCOKB, sortValue$4 as annotationSortValue, applyDataFilters, applyDataFiltersOnDatum, applyDefaultMutationFilter, applyDefaultMutationStatusFilter, applyDefaultPositionFilter, applyDefaultProteinImpactTypeFilter, calculateGnomadAlleleFrequency, download$7 as civicDownload, sortValue$8 as civicSortValue, download$4 as clinvarDownload, sortValue$3 as clinvarSortValue, download$3 as dbsnpDownload, sortValue$2 as dbsnpSortValue, defaultOncoKbFilter, errorIcon, fetchVariantAnnotationsByMutation, fetchVariantAnnotationsIndexedByGenomicLocation, findAllUniquePositions, findNonTextInputFilters, findOneMutationFilterValue, findTextInputFilter, getAllOptionValues, getAnnotationData, getClinvarData, getColorForProteinImpactType, getGnomadData, getHgvscColumnData, getHgvsgColumnData, getProteinImpactTypeBadgeLabel, getProteinImpactTypeOptionLabel, getSelectedOptionValues, getSignalData, getSingleSignalValue, getTumorTypeNameWithExclusionInfo, getUrl, download$2 as gnomadDownload, sortValue$1 as gnomadSortValue, groupDataByGroupFilters, groupDataByProteinImpactType, groupOncoKbIndicatorDataByMutations, handleOptionSelect, download$1 as hgvscDownload, sortValue as hgvscSortValue, sortValue$5 as hotspotAnnotationSortValue, includesSearchTextIgnoreCase, indexPositions, initDefaultMutationMapperStore, initDefaultTrackVisibility, initGenomeNexusClient, initGenomeNexusInternalClient, initOncoKbClient, levelIconClassNames, loaderIcon, mergeColumns, mutationTypeSort, download$6 as myCancerGenomeDownload, sortValue$7 as myCancerGenomeSortValue, normalizeLevel, onFilterOptionSelect, download$5 as oncoKbAnnotationDownload, sortValue$6 as oncoKbAnnotationSortValue, oncogenicityIconClassNames, proteinChangeSortMethod, rightAlignedCell, download as signalDownload, getSortValue as signalSortValue, updatePositionHighlightFilters, updatePositionRangeHighlightFilters, updatePositionSelectionFilters };
11316
+ export { Annotation, AxisScale, AxisScaleSwitch, BadgeLabel, BadgeSelector, Civic, ClinvarInterpretation, ClinvarSummary, ColumnHeader, ColumnSelector, ColumnSortDirection, DEFAULT_ANNOTATION_DATA, DEFAULT_GENOME_NEXUS_URL, DEFAULT_MUTATION_ALIGNER_PROXY_URL_TEMPLATE, DEFAULT_MUTATION_ALIGNER_URL_TEMPLATE, DEFAULT_MUTATION_COLUMNS, DEFAULT_MY_GENE_URL_TEMPLATE, DEFAULT_ONCO_KB_URL, DEFAULT_PROTEIN_IMPACT_TYPE_COLORS, DEFAULT_UNIPROT_ID_URL_TEMPLATE, DataFilterType, DataTable, Dbsnp, DbsnpId, DefaultMutationMapperDataFetcher, DefaultMutationMapperDataStore, DefaultMutationMapperFilterApplier, DefaultMutationMapperStore, DefaultMutationTable, Domain, DropdownSelector, FilterResetPanel, GenericAnnotation, Gnomad, GnomadFrequency, GnomadFrequencyBreakdown, GnomadFrequencyTable, GnomadFrequencyValue, Hgvsc, Hgvsg, HotspotAnnotation, HotspotInfo, Lollipop, LollipopMutationPlot, LollipopPlot, LollipopPlotNoTooltip, LollipopTooltipCountInfo, MUTATION_COLUMNS_DEFINITION, MUTATION_COLUMN_HEADERS, MUTATION_STATUS_BADGE_STYLE_OVERRIDE, MUTATION_TYPE_PRIORITY, MutationColumn, MutationColumnName, MutationMapper, MutationStatus, MutationStatusBadgeSelector, MyCancerGenome, ONCOKB_DEFAULT_DATA, ONCOKB_DEFAULT_INFO, PercentToggle, ProteinChange, ProteinImpactTypeBadgeSelector, ProteinImpactTypeDropdownSelector, LollipopPlot as Sequence, Signal, SignalTable, TEXT_INPUT_FILTER_ID, TrackName, TrackSelector, USE_DEFAULT_PUBLIC_INSTANCE_FOR_ONCOKB, sortValue$4 as annotationSortValue, applyDataFilters, applyDataFiltersOnDatum, applyDefaultMutationFilter, applyDefaultMutationStatusFilter, applyDefaultPositionFilter, applyDefaultProteinImpactTypeFilter, calculateGnomadAlleleFrequency, download$6 as civicDownload, sortValue$7 as civicSortValue, download$4 as clinvarDownload, sortValue$3 as clinvarSortValue, download$3 as dbsnpDownload, sortValue$2 as dbsnpSortValue, fetchVariantAnnotationsByMutation, fetchVariantAnnotationsIndexedByGenomicLocation, findAllUniquePositions, findNonTextInputFilters, findOneMutationFilterValue, findTextInputFilter, getAllOptionValues, getAnnotationData, getClinvarData, getColorForProteinImpactType, getGnomadData, getHgvscColumnData, getHgvsgColumnData, getProteinImpactTypeBadgeLabel, getProteinImpactTypeOptionLabel, getSelectedOptionValues, getSignalData, getSingleSignalValue, getUrl, download$2 as gnomadDownload, sortValue$1 as gnomadSortValue, groupDataByGroupFilters, groupDataByProteinImpactType, handleOptionSelect, download$1 as hgvscDownload, sortValue as hgvscSortValue, sortValue$5 as hotspotAnnotationSortValue, includesSearchTextIgnoreCase, indexPositions, initDefaultMutationMapperStore, initDefaultTrackVisibility, initGenomeNexusClient, initGenomeNexusInternalClient, initOncoKbClient, mergeColumns, mutationTypeSort, download$5 as myCancerGenomeDownload, sortValue$6 as myCancerGenomeSortValue, onFilterOptionSelect, proteinChangeSortMethod, rightAlignedCell, download as signalDownload, getSortValue as signalSortValue, updatePositionHighlightFilters, updatePositionRangeHighlightFilters, updatePositionSelectionFilters };
12978
11317
  //# sourceMappingURL=index.es.js.map