UNPKG

tmp_es6_igv

Version:
484 lines (373 loc) 2.46 MB
/* Module header based on https://github.com/umdjs/umd/blob/master/templates/returnExports.js */ (function (root, factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define([], factory); } else if (typeof module === 'object' && module.exports) { // Node. Does not work with strict CommonJS, but // only CommonJS-like environments that support module.exports, // like Node. module.exports = factory(); } else { // Browser globals (root is window) root.igv = factory(); } }(this, function () { // // // Just return a value to define the module export. // // This example returns an object, but the module // // can return a function as the exported value. // return igv; // // })); (function () { var css = '.igv-color-swatch {\n display: flex;\n flex-flow: row;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n width: 24px;\n height: 24px;\n border-style: solid;\n border-width: 1px;\n border-color: transparent; }\n .igv-color-swatch i.fa {\n display: block; }\n .igv-color-swatch i.fa:hover,\n .igv-color-swatch i.fa:focus,\n .igv-color-swatch i.fa:active {\n cursor: pointer;\n color: #0f0f0f; }\n\n.igv-color-swatch:hover,\n.igv-color-swatch:focus,\n.igv-color-swatch:active {\n border-color: #dddddd; }\n\n.igv-colorpicker-menu-close-button {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 32px;\n margin-top: 4px;\n margin-bottom: 4px;\n padding-right: 8px; }\n .igv-colorpicker-menu-close-button i.fa {\n display: block;\n margin-left: 4px;\n margin-right: 4px;\n color: #5f5f5f; }\n .igv-colorpicker-menu-close-button i.fa:hover,\n .igv-colorpicker-menu-close-button i.fa:focus,\n .igv-colorpicker-menu-close-button i.fa:active {\n cursor: pointer;\n color: #0f0f0f; }\n\n.igv-position-absolute {\n position: absolute;\n top: 0;\n left: 0; }\n\n.igv-generic-container {\n width: 256px;\n z-index: 5000;\n background-color: white;\n border-style: solid;\n border-width: thin;\n border-color: #dddddd;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-generic-container div:first-child {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n height: 24px;\n width: 100%;\n background-color: #dddddd; }\n .igv-generic-container div:first-child i.fa {\n margin-right: 4px;\n display: block;\n color: #5f5f5f; }\n .igv-generic-container div:first-child i.fa:hover,\n .igv-generic-container div:first-child i.fa:focus,\n .igv-generic-container div:first-child i.fa:active {\n cursor: pointer;\n color: #0f0f0f; }\n\n#igvControlDiv {\n position: relative; }\n\n#igv-content-header {\n position: relative;\n height: 16px;\n clear: both;\n margin-top: 10px;\n white-space: nowrap; }\n #igv-content-header .igv-ideogram-left-shim {\n position: relative;\n height: 100%;\n width: 50px;\n display: inline-block;\n background-color: white; }\n #igv-content-header .igv-ideogram-content-div {\n position: relative;\n height: 100%;\n display: inline-block;\n background-color: white; }\n #igv-content-header .igv-ideogram-content-div canvas {\n width: 100%;\n height: 100%; }\n #igv-content-header .igv-ideogram-content-div-border-right {\n border-right-color: #292929;\n border-right-style: solid;\n border-right-width: 1px; }\n\n.igv-multi-locus-panel-border {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 1px;\n background-color: green;\n border-right-color: #ff0000;\n border-right-style: solid;\n border-right-width: 1px; }\n\n#igv-navbar {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n margin-top: 2px;\n margin-bottom: 4px;\n position: relative;\n top: 0;\n left: 0;\n height: 32px;\n width: 100%;\n border-style: solid;\n border-radius: 3px;\n border-width: thin;\n border-color: #bfbfbf;\n background-color: #f3f3f3; }\n #igv-navbar i {\n cursor: pointer;\n color: #666666; }\n #igv-navbar i:hover,\n #igv-navbar i:focus,\n #igv-navbar i:active {\n color: #434343; }\n #igv-navbar #igv-nav-bar-left-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 32px; }\n #igv-navbar #igv-nav-bar-left-container #igv-logo {\n width: 34px;\n height: 32px;\n margin-left: 8px;\n margin-right: 32px; }\n #igv-navbar #igv-nav-bar-left-container #igv-drag-and-drop-presentation-button {\n margin-right: 32px; }\n #igv-navbar #igv-nav-bar-left-container #igv-current_genome {\n height: 32px;\n margin-right: 16px;\n user-select: none;\n color: #444;\n font-family: \"Open Sans\", sans-serif;\n font-size: 12px;\n font-weight: 400;\n line-height: 32px;\n text-align: center; }\n #igv-navbar #igv-nav-bar-left-container #igv-genomic-location {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 32px; }\n #igv-navbar #igv-nav-bar-left-container #igv-genomic-location #igv-chromosome-select-widget-container {\n width: 96px;\n margin-right: 4px;\n height: 70%; }\n #igv-navbar #igv-nav-bar-left-container #igv-genomic-location #igv-chromosome-select-widget-container select {\n display: block;\n outline: none;\n font-family: \"Open Sans\", sans-serif;\n font-size: 12px;\n font-weight: 400;\n color: #444;\n width: 100%;\n height: 100%; }\n #igv-navbar #igv-nav-bar-left-container #igv-genomic-location #igv-locus-size-group {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 75%; }\n #igv-navbar #igv-nav-bar-left-container #igv-genomic-location #igv-locus-size-group #igv-search-container {\n width: 260px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n #igv-navbar #igv-nav-bar-left-container #igv-genomic-location #igv-locus-size-group #igv-search-container input {\n display: block;\n width: 85%;\n padding-left: 8px;\n margin-right: 8px;\n line-height: 20px;\n text-align: left;\n font-family: \"Open Sans\", sans-serif;\n font-size: 12px;\n font-weight: 400;\n color: #444;\n outline: none;\n border-style: solid;\n border-radius: 3px;\n border-width: thin;\n border-color: #bfbfbf;\n background-color: white; }\n #igv-navbar #igv-nav-bar-left-container #igv-genomic-location #igv-locus-size-group #igv-search-container div {\n height: 100%; }\n #igv-navbar #igv-nav-bar-left-container #igv-genomic-location #igv-locus-size-group #igv-search-container div i {\n font-size: 18px; }\n #igv-navbar #igv-nav-bar-left-container #igv-genomic-location #igv-locus-size-group #igv-windowsizepanel-content-div {\n margin-left: 4px;\n user-select: none;\n font-family: \"Open Sans\", sans-serif;\n font-size: 12px;\n font-weight: 400;\n color: #444; }\n #igv-navbar #igv-nav-bar-right-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center; }\n #igv-navbar #igv-nav-bar-right-container #igv-nav-bar-toggle-button-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n margin-right: 8px; }\n #igv-navbar #igv-nav-bar-right-container #igv-nav-bar-toggle-button-container div {\n margin-left: 0;\n margin-right: 4px; }\n #igv-navbar #igv-nav-bar-right-container #igv-nav-bar-toggle-button-container div:last-child {\n margin-left: 0;\n margin-right: 0; }\n #igv-navbar #igv-nav-bar-right-container #igv-zoom-widget {\n user-select: none;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n width: 44px;\n margin-left: 16px;\n margin-right: 8px; }\n #igv-navbar #igv-nav-bar-right-container #igv-zoom-widget div i {\n font-size: 24px; }\n\n.igv-nav-bar-button {\n height: 18px;\n min-width: 96px;\n text-transform: capitalize;\n user-select: none;\n line-height: 18px;\n text-align: center;\n font-family: \"Open Sans\", sans-serif;\n font-size: 11px;\n font-weight: 200;\n color: #737373;\n background-color: #f3f3f3;\n border-color: #737373;\n border-style: solid;\n border-width: thin;\n border-radius: 10px; }\n\n.igv-nav-bar-button-clicked {\n color: white;\n background-color: #737373; }\n\n.igv-nav-bar-button:hover {\n cursor: pointer; }\n\n#igv-logo-nonav {\n margin-left: 4px;\n margin-top: 12px;\n position: absolute;\n top: 0;\n left: 0;\n width: 34px;\n height: 16px; }\n\n.igv-search-results {\n position: absolute;\n top: 32px;\n left: 2px;\n height: 320px;\n width: 213px;\n background-color: white;\n border-color: #7F7F7F;\n border-style: solid;\n border-width: thin;\n overflow-x: hidden;\n overflow-y: auto;\n z-index: 9999; }\n .igv-search-results tr {\n font-family: \"Open Sans\", sans-serif;\n font-size: small;\n font-weight: 400;\n color: #444; }\n .igv-search-results tr:hover,\n .igv-search-results tr:focus,\n .igv-search-results tr:active {\n cursor: pointer;\n font-weight: 700;\n color: #141414; }\n\n.igv-karyo-div {\n position: relative;\n left: 0;\n top: 0;\n height: 200px; }\n\n.igv-karyo-hide {\n height: 0;\n overflow: hidden; }\n\n.igv-karyo-content-div {\n left: 0;\n top: 0;\n width: 100%;\n height: 100%; }\n\n.igv-karyo-canvas {\n left: 0;\n top: 0;\n width: 100%;\n height: 100%; }\n\n.igv-root-div {\n position: relative;\n left: 0;\n right: 0;\n height: auto;\n margin-left: 10px;\n margin-right: 10px;\n padding-top: 4px; }\n\n.igv-content-div {\n position: relative;\n width: 100%;\n height: 100%; }\n\n.igv-track-container-div {\n position: relative;\n clear: both; }\n\n.igv-track-div {\n position: relative;\n width: 100%;\n margin-top: 2px;\n margin-bottom: 2px; }\n\n.igv-viewport-container {\n position: absolute;\n left: 50px;\n right: 50px;\n height: 100%;\n white-space: nowrap;\n overflow-x: hidden;\n overflow-y: hidden; }\n\n.igv-viewport-div {\n position: relative;\n display: inline-block;\n height: 100%;\n overflow-x: hidden;\n overflow-y: hidden; }\n\n.igv-viewport-content-div {\n position: absolute;\n width: 100%; }\n\n.igv-viewport-message {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: rgba(0, 0, 0, 0.15);\n font-family: \"Open Sans\", sans-serif;\n font-size: 25px;\n font-weight: bold;\n user-select: none; }\n\n.igv-whole-genome-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n width: 100%;\n height: 100%;\n background-color: white; }\n .igv-whole-genome-container div {\n font-family: \"Open Sans\", sans-serif;\n font-size: 10px;\n font-weight: 400;\n color: #444;\n height: 100%;\n text-align: center;\n border-right-color: #bfbfbf;\n border-right-style: solid;\n border-right-width: thin; }\n .igv-whole-genome-container div span {\n display: block;\n padding-top: 6px;\n text-overflow: ellipsis; }\n .igv-whole-genome-container div:last-child {\n border-right-color: transparent; }\n .igv-whole-genome-container div:hover,\n .igv-whole-genome-container div:focus,\n .igv-whole-genome-container div:active {\n cursor: pointer;\n background-color: #efefef; }\n\n.igv-viewport-div-border-right {\n border-right-color: #292929;\n border-right-style: solid;\n border-right-width: 1px; }\n\n.igv-viewport-fa-close {\n position: absolute;\n top: 4px;\n right: 4px;\n font-size: 16px;\n color: #666666;\n z-index: 1000; }\n\n.igv-viewport-fa-close:hover {\n cursor: pointer;\n color: #434343; }\n\n.igv-viewport-content-ruler-div {\n position: absolute;\n left: 50%;\n top: 25%;\n transform: translate(-50%, -25%);\n font-family: \"Open Sans\", sans-serif;\n font-size: 12px;\n font-weight: 200;\n text-align: center;\n min-width: 16px;\n z-index: 64;\n color: #0066ff;\n background-color: white;\n padding: 1px; }\n\n.igv-viewport-content-ruler-div:hover,\n.igv-viewport-content-ruler-div:focus,\n.igv-viewport-content-ruler-div:active {\n cursor: pointer;\n color: white;\n background-color: #0066ff; }\n\n.igv-viewport-ruler {\n font-family: \"Open Sans\", sans-serif;\n font-size: 10px;\n font-weight: 200;\n text-align: center; }\n .igv-viewport-ruler > div {\n height: 100%; }\n\n.igv-viewport-sequence {\n font-family: \"Open Sans\", sans-serif;\n font-size: 8px;\n font-weight: 200;\n text-align: center; }\n\n.igv-viewport-spinner {\n pointer-events: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1024;\n color: #737373; }\n\n.igv-ruler-sweeper-div {\n display: none;\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 100%;\n z-index: 99999;\n background-color: rgba(68, 134, 247, 0.25); }\n\n.igv-right-hand-gutter {\n position: absolute;\n right: 0;\n width: 36px;\n height: 100%;\n background: white;\n text-align: center; }\n .igv-right-hand-gutter i {\n position: absolute;\n top: 0;\n right: 0;\n padding-right: 6px;\n font-size: 20px;\n cursor: pointer;\n color: grey; }\n .igv-right-hand-gutter i:hover,\n .igv-right-hand-gutter i:focus,\n .igv-right-hand-gutter i:active {\n color: #333333; }\n\n.igv-left-hand-gutter {\n position: absolute;\n left: 0;\n width: 50px;\n height: 100%; }\n .igv-left-hand-gutter canvas {\n position: absolute; }\n\n.igv-track-menu-container {\n background-color: white;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px; }\n .igv-track-menu-container div {\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 2px;\n padding-bottom: 2px;\n background-color: white; }\n .igv-track-menu-container div i {\n padding-right: 2px; }\n .igv-track-menu-container div:hover,\n .igv-track-menu-container div:focus,\n .igv-track-menu-container div:active {\n cursor: pointer;\n background-color: #efefef; }\n .igv-track-menu-container a {\n color: inherit;\n text-decoration: none; }\n\n.igv-track-menu-border-top {\n border-top-color: #a2a2a2;\n border-top-style: solid;\n border-top-width: thin; }\n\n.igv-track-menu-category {\n padding-left: 4px;\n font-weight: 400; }\n\n.igv-track-drag-scrim {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: 256;\n background-color: rgba(68, 134, 247, 0.25); }\n\n.igv-track-manipulation-handle {\n cursor: pointer;\n position: absolute;\n right: 36px;\n width: 12px;\n margin-left: 2px;\n height: 100%;\n box-sizing: border-box;\n font-size: medium;\n border-color: #c4c4c4;\n border-style: solid;\n border-width: thin;\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n z-index: 512;\n background-color: #c4c4c4; }\n\n.igv-track-manipulation-handle:hover,\n.igv-track-manipulation-handle:focus,\n.igv-track-manipulation-handle:active {\n border-color: #7e7e7e;\n background-color: #7e7e7e; }\n\n.igv-track-label {\n position: absolute;\n left: 8px;\n top: 4px;\n width: auto;\n height: auto;\n max-width: 200px;\n padding-left: 4px;\n padding-right: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: \"Open Sans\", sans-serif;\n font-size: small;\n font-weight: 400;\n text-align: center;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n border-color: #444;\n border-radius: 2px;\n border-style: solid;\n border-width: thin;\n background-color: white;\n z-index: 128;\n cursor: pointer; }\n\n.igv-track-label:hover,\n.igv-track-label:focus,\n.igv-track-label:active {\n background-color: rgba(0, 0, 0, 0.05); }\n\n.igv-scrollbar-outer-div {\n position: absolute;\n top: 0;\n right: 0;\n width: 14px;\n height: 100%;\n background-color: white; }\n .igv-scrollbar-outer-div div {\n position: absolute;\n top: 0;\n left: 3px;\n width: 8px;\n border-style: solid;\n border-width: thin;\n border-color: #c4c4c4;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n background-color: white; }\n .igv-scrollbar-outer-div div:hover,\n .igv-scrollbar-outer-div div:focus,\n .igv-scrollbar-outer-div div:active {\n cursor: pointer;\n background-color: #c4c4c4; }\n\n.zoom-in-notice-container {\n position: absolute;\n top: 25%;\n left: 50%; }\n .zoom-in-notice-container div {\n position: relative;\n left: -50%;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 400;\n color: #3f3f3f;\n background-color: rgba(255, 255, 255, 0.51);\n z-index: 64; }\n\n.igv-center-guide {\n pointer-events: none;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 50%;\n width: 8px;\n z-index: 8;\n display: none;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n border-left-style: dashed;\n border-left-width: thin;\n border-right-style: dashed;\n border-right-width: thin; }\n\n.igv-center-guide-wide {\n background-color: transparent;\n border-left-color: rgba(127, 127, 127, 0.51);\n border-right-color: rgba(127, 127, 127, 0.51); }\n\n.igv-center-guide-thin {\n left: 50%;\n width: 1px;\n background-color: transparent;\n border-left-color: rgba(127, 127, 127, 0.51);\n border-right-color: transparent;\n /*background-color: rgba(127, 127, 127, 0.51);*/\n /*border-left-color: rgba(0,0,0,0);*/\n /*border-right-color: rgba(0,0,0,0);*/ }\n\n.igv-cursor-tracking-guide {\n pointer-events: none;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 50%;\n width: 1px;\n z-index: 1;\n border-left-style: dotted;\n border-left-width: thin;\n border-left-color: rgba(127, 127, 127, 0.76);\n display: none;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none; }\n\n.igv-clickable {\n cursor: pointer;\n background-color: white; }\n\n#color-by-tag {\n color: #444; }\n\n#color-by-tag:hover,\n#color-by-tag:focus,\n#color-by-tag:active {\n cursor: pointer;\n padding-left: 2px;\n padding-right: 2px;\n color: white;\n border-color: #444;\n border-radius: 2px;\n border-style: solid;\n border-width: thin;\n background-color: #7f7f7f; }\n\n.igv-user-feedback {\n position: fixed;\n top: 50%;\n left: 50%;\n width: 36em;\n height: 27em;\n margin-top: -9em;\n /*set to a negative number 1/2 of your height*/\n margin-left: -15em;\n /*set to a negative number 1/2 of your width*/\n background-color: white;\n border-color: #a2a2a2;\n border-style: solid;\n border-width: thin;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 400;\n color: #444; }\n .igv-user-feedback div:first-child {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 32px;\n border-bottom-color: #a2a2a2;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: white; }\n .igv-user-feedback div:first-child i {\n font-size: 20px; }\n .igv-user-feedback div:first-child i:first-child {\n position: absolute;\n top: 0;\n left: 0;\n padding: 8px;\n color: red; }\n .igv-user-feedback div:first-child i:last-child {\n position: absolute;\n top: 0;\n right: 0;\n padding: 8px;\n cursor: pointer;\n color: grey; }\n .igv-user-feedback div:first-child i:last-child:hover,\n .igv-user-feedback div:first-child i:last-child:focus,\n .igv-user-feedback div:first-child i:last-child:active {\n color: #333333; }\n .igv-user-feedback div:last-child {\n padding-left: 48px;\n padding-top: 8px;\n padding-right: 48px;\n padding-bottom: 8px;\n position: absolute;\n top: 33px;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: white; }\n\n.igv-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n\n.igv-generic-dialog-container {\n position: absolute;\n top: 0;\n left: 0;\n width: 300px;\n height: 200px;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 200;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n z-index: 2048;\n background-color: white;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-header {\n width: 100%;\n height: 24px;\n cursor: move;\n border-color: #c4c4c4;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-style: solid;\n border-width: thin;\n background-color: #c4c4c4;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-header div {\n height: 24px;\n width: 16px;\n margin-right: 6px;\n text-align: center;\n line-height: 24px;\n color: #444;\n font-size: medium; }\n .igv-generic-dialog-container .igv-generic-dialog-header div:hover {\n cursor: pointer; }\n .igv-generic-dialog-container .igv-generic-dialog-one-liner {\n margin-top: 8px;\n width: 95%;\n color: #373737;\n line-height: 24px;\n text-align: left;\n padding-left: 8px;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input {\n margin-top: 8px;\n width: 95%;\n height: 24px;\n color: #373737;\n line-height: 24px;\n padding-left: 8px;\n background-color: white;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input div {\n width: 30%;\n height: 100%;\n font-size: 16px;\n text-align: right;\n padding-right: 8px;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: \"Open Sans\", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input input {\n width: 50%;\n font-size: 16px; }\n .igv-generic-dialog-container .igv-generic-dialog-input {\n margin-top: 8px;\n width: calc(100% - 16px);\n height: 24px;\n color: #373737;\n line-height: 24px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: \"Open Sans\", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-input input {\n font-size: 16px; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel {\n width: 100%;\n height: 28px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div {\n margin-top: 32px;\n color: white;\n font-family: \"Open Sans\", sans-serif;\n font-size: 14px;\n font-weight: 200;\n width: 75px;\n height: 28px;\n line-height: 28px;\n text-align: center;\n border-color: transparent;\n border-style: solid;\n border-width: thin;\n border-radius: 2px; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:first-child {\n margin-left: 32px;\n margin-right: 0;\n background-color: #5ea4e0; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:last-child {\n margin-left: 0;\n margin-right: 32px;\n background-color: #c4c4c4; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:first-child:hover {\n cursor: pointer;\n background-color: #3b5c7f; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:last-child:hover {\n cursor: pointer;\n background-color: #7f7f7f; }\n .igv-generic-dialog-container .igv-generic-dialog-ok {\n width: 100%;\n height: 36px;\n margin-top: 32px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-ok div {\n width: 98px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n color: white;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 200;\n border-color: white;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-generic-dialog-container .igv-generic-dialog-ok div:hover {\n cursor: pointer;\n background-color: #25597f; }\n\n.igv-popover {\n position: absolute;\n top: 0;\n left: 0;\n min-width: 128px;\n z-index: 4096;\n font-family: \"Open Sans\", sans-serif;\n font-size: small;\n font-weight: 400;\n color: #444;\n background: white;\n border-radius: 4px;\n border-color: #7F7F7F;\n border-style: solid;\n border-width: thin;\n display: none; }\n\n.igv-popover-header {\n position: relative;\n top: 0;\n left: 0;\n width: 100%;\n height: 20px;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-popover-header div {\n position: absolute;\n top: 3px;\n right: 3px;\n height: 100%;\n width: 16px;\n text-align: center;\n line-height: 100%;\n cursor: pointer;\n color: #444;\n font-size: small; }\n .igv-popover-header div:hover {\n color: white; }\n\n.igv-popover-track-popup-content {\n position: relative;\n top: 0;\n left: 0;\n max-height: 384px;\n overflow-x: hidden;\n overflow-y: auto; }\n\n.igv-popover-name-value {\n cursor: default;\n text-wrap: none;\n white-space: nowrap;\n max-width: 384px; }\n\n.igv-popover-name {\n font-weight: bold;\n padding-right: 4px;\n float: left; }\n\n.igv-popover-value {\n padding-left: 4px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 256px;\n display: inline-block; }\n\n.igv-spinner-container {\n color: #3f3f3f;\n width: 100%;\n height: 100%;\n text-align: center;\n padding-top: 8px;\n font-size: 24px;\n z-index: 512; }\n\n.igv-fa-check-hidden {\n color: rgba(255, 255, 255, 0); }\n\n.validateTips {\n border: 1px solid transparent;\n padding: 0.3em; }\n .validateTips fieldset {\n border: 0; }\n\n.igv-spacer-10 {\n height: 10px;\n width: 100%;\n font-size: 0;\n margin: 0;\n padding: 0;\n border: 0;\n display: block; }\n\n/*# sourceMappingURL=igv.css.map */\n\n/*!\n * Font Awesome Free 5.0.8 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nsvg:not(:root).svg-inline--fa5 {\n overflow: visible;\n }\n\n.svg-inline--fa5 {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -.125em; }\n .svg-inline--fa5.fa5-lg {\n vertical-align: -.225em; }\n .svg-inline--fa5.fa5-w-1 {\n width: 0.0625em; }\n .svg-inline--fa5.fa5-w-2 {\n width: 0.125em; }\n .svg-inline--fa5.fa5-w-3 {\n width: 0.1875em; }\n .svg-inline--fa5.fa5-w-4 {\n width: 0.25em; }\n .svg-inline--fa5.fa5-w-5 {\n width: 0.3125em; }\n .svg-inline--fa5.fa5-w-6 {\n width: 0.375em; }\n .svg-inline--fa5.fa5-w-7 {\n width: 0.4375em; }\n .svg-inline--fa5.fa5-w-8 {\n width: 0.5em; }\n .svg-inline--fa5.fa5-w-9 {\n width: 0.5625em; }\n .svg-inline--fa5.fa5-w-10 {\n width: 0.625em; }\n .svg-inline--fa5.fa5-w-11 {\n width: 0.6875em; }\n .svg-inline--fa5.fa5-w-12 {\n width: 0.75em; }\n .svg-inline--fa5.fa5-w-13 {\n width: 0.8125em; }\n .svg-inline--fa5.fa5-w-14 {\n width: 0.875em; }\n .svg-inline--fa5.fa5-w-15 {\n width: 0.9375em; }\n .svg-inline--fa5.fa5-w-16 {\n /* width: 1em; */\n }\n .svg-inline--fa5.fa5-w-17 {\n width: 1.0625em; }\n .svg-inline--fa5.fa5-w-18 {\n width: 1.125em; }\n .svg-inline--fa5.fa5-w-19 {\n width: 1.1875em; }\n .svg-inline--fa5.fa5-w-20 {\n width: 1.25em; }\n .svg-inline--fa5.fa5-pull-left {\n margin-right: .3em;\n width: auto; }\n .svg-inline--fa5.fa5-pull-right {\n margin-left: .3em;\n width: auto; }\n .svg-inline--fa5.fa5-border {\n height: 1.5em; }\n .svg-inline--fa5.fa5-li {\n width: 2em; }\n .svg-inline--fa5.fa5-fw {\n width: 1.25em; }\n\n.fa5-layers svg.svg-inline--fa5 {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0; }\n\n.fa5-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -.125em;\n width: 1em; }\n .fa5-layers svg.svg-inline--fa5 {\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n\n.fa5-layers-text, .fa5-layers-counter {\n display: inline-block;\n position: absolute;\n text-align: center; }\n\n.fa5-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n\n.fa5-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: .25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right; }\n\n.fa5-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right; }\n\n.fa5-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left; }\n\n.fa5-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right; }\n\n.fa5-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left; }\n\n.fa5-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -.0667em; }\n\n.fa5-xs {\n font-size: .75em; }\n\n.fa5-sm {\n font-size: .875em; }\n\n.fa5-1x {\n font-size: 1em; }\n\n.fa5-2x {\n font-size: 2em; }\n\n.fa5-3x {\n font-size: 3em; }\n\n.fa5-4x {\n font-size: 4em; }\n\n.fa5-5x {\n font-size: 5em; }\n\n.fa5-6x {\n font-size: 6em; }\n\n.fa5-7x {\n font-size: 7em; }\n\n.fa5-8x {\n font-size: 8em; }\n\n.fa5-9x {\n font-size: 9em; }\n\n.fa5-10x {\n font-size: 10em; }\n\n.fa5-fw {\n text-align: center;\n width: 1.25em; }\n\n.fa5-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0; }\n .fa5-ul > li {\n position: relative; }\n\n.fa5-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit; }\n\n.fa5-border {\n border: solid 0.08em #eee;\n border-radius: .1em;\n padding: .2em .25em .15em; }\n\n.fa5-pull-left {\n float: left; }\n\n.fa5-pull-right {\n float: right; }\n\n.fa5.fa5-pull-left,\n.fas.fa5-pull-left,\n.far.fa5-pull-left,\n.fal.fa5-pull-left,\n.fab.fa5-pull-left {\n margin-right: .3em; }\n\n.fa5.fa5-pull-right,\n.fas.fa5-pull-right,\n.far.fa5-pull-right,\n.fal.fa5-pull-right,\n.fab.fa5-pull-right {\n margin-left: .3em; }\n\n.fa5-spin {\n -webkit-animation: fa5-spin 2s infinite linear;\n animation: fa5-spin 2s infinite linear; }\n\n.fa5-pulse {\n -webkit-animation: fa5-spin 1s infinite steps(8);\n animation: fa5-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa5-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n@keyframes fa5-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n.fa5-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa5-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa5-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa5-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa5-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n.fa5-flip-horizontal.fa5-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1); }\n\n:root .fa5-rotate-90,\n:root .fa5-rotate-180,\n:root .fa5-rotate-270,\n:root .fa5-flip-horizontal,\n:root .fa5-flip-vertical {\n -webkit-filter: none;\n filter: none; }\n\n.fa5-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2em; }\n\n.fa5-stack-1x,\n.fa5-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0; }\n\n.svg-inline--fa5.fa5-stack-1x {\n height: 1em;\n width: 1em; }\n\n.svg-inline--fa5.fa5-stack-2x {\n height: 2em;\n width: 2em; }\n\n.fa5-inverse {\n color: #fff; }\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto; }\n'; var style = document.createElement('style'); style.setAttribute('type', 'text/css'); style.innerHTML = css; var headChildren = document.head.childNodes; var beforeChild = null; for (var i = headChildren.length - 1; i > -1; i--) { var child = headChildren[i]; var tagName = (child.tagName || '').toUpperCase(); if (['STYLE', 'LINK'].indexOf(tagName) > -1) { beforeChild = child; } } document.head.insertBefore(style, beforeChild); })(); /*! * jQuery JavaScript Library v1.12.4 * http://jquery.com/ * * Includes Sizzle.js * http://sizzlejs.com/ * * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * * Date: 2016-05-20T17:17Z */ // Modified for encapsulation in igv module // * no exports // * no global definition // * noConflict not supported (as _ is encapsulated its not needed) var $, jQuery; (function (global, factory) { $ = factory(global); jQuery = $; // Pass this if window is not defined yet }(typeof window !== "undefined" ? window : this, function (window) { // Support: Firefox 18+ // Can't be in strict mode, several libs including ASP.NET trace // the stack via arguments.caller.callee and Firefox dies if // you try to trace through "use strict" call chains. (#13335) //"use strict"; var deletedIds = []; var document = window.document; var slice = deletedIds.slice; var concat = deletedIds.concat; var push = deletedIds.push; var indexOf = deletedIds.indexOf; var class2type = {}; var toString = class2type.toString; var hasOwn = class2type.hasOwnProperty; var support = {}; var version = "1.12.4", // Define a local copy of jQuery jQuery = function (selector, context) { // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init(selector, context); }, // Support: Android<4.1, IE<9 // Make sure we trim BOM and NBSP rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, // Matches dashed string for camelizing rmsPrefix = /^-ms-/, rdashAlpha = /-([\da-z])/gi, // Used by jQuery.camelCase as callback to replace() fcamelCase = function (all, letter) { return letter.toUpperCase(); }; jQuery.fn = jQuery.prototype = { // The current version of jQuery being used jquery: version, constructor: jQuery, // Start with an empty selector selector: "", // The default length of a jQuery object is 0 length: 0, toArray: function () { return slice.call(this); }, // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function (num) { return num != null ? // Return just the one element from the set ( num < 0 ? this[num + this.length] : this[num] ) : // Return all the elements in a clean array slice.call(this); }, // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack: function (elems) { // Build a new jQuery matched element set var ret = jQuery.merge(this.constructor(), elems); // Add the old object onto the stack (as a reference) ret.prevObject = this; ret.context = this.context; // Return the newly-formed element set return ret; }, // Execute a callback for every element in the matched set. each: function (callback) { return jQuery.each(this, callback); }, map: function (callback) { return this.pushStack(jQuery.map(this, function (elem, i) { return callback.call(elem, i, elem); })); }, slice: function () { return this.pushStack(slice.apply(this, arguments)); }, first: function () { return this.eq(0); }, last: function () { return this.eq(-1); }, eq: function (i) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); return this.pushStack(j >= 0 && j < len ? [this[j]] : []); }, end: function () { return this.prevObject || this.constructor(); }, // For internal use only. // Behaves like an Array's method, not like a jQuery method. push: push, sort: deletedIds.sort, splice: deletedIds.splice }; jQuery.extend = jQuery.fn.extend = function () { var src, copyIsArray, copy, name, options, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = false; // Handle a deep copy situation if (typeof target === "boolean") { deep = target; // skip the boolean and the target target = arguments[i] || {}; i++; } // Handle case when target is a string or something (possible in deep copy) if (typeof target !== "object" && !jQuery.isFunction(target)) { target = {}; } // extend jQuery itself if only one argument is passed if (i === length) { target = this; i--; } for (; i < length; i++) { // Only deal with non-null/undefined values if (( options = arguments[i] ) != null) { // Extend the base object for (name in options) { src = target[name]; copy = options[name]; // Prevent never-ending loop if (target === copy) { continue; } // Recurse if we're merging plain objects or arrays if (deep && copy && ( jQuery.isPlainObject(copy) || ( copyIsArray = jQuery.isArray(copy) ) )) { if (copyIsArray) { copyIsArray = false; clone = src && jQuery.isArray(src) ? src : []; } else { clone = src && jQuery.isPlainObject(src) ? src : {}; } // Never move original objects, clone them target[name] = jQuery.extend(deep, clone, copy); // Don't bring in undefined values } else if (copy !== undefined) { target[name] = copy; } } } } // Return the modified object return target; }; jQuery.extend({ // Unique for each copy of jQuery on the page expando: "jQuery" + ( version + Math.random() ).replace(/\D/g, ""), // Assume jQuery is ready without the ready module isReady: true, error: function (msg) { throw new Error(msg); }, noop: function () { }, // See test/unit/core.js for details concerning isFunction. // Since version 1.3, DOM methods and functions like alert // aren't supported. They return false on IE (#2968). isFunction: function (obj) { return jQuery.type(obj) === "function"; }, isArray: Array.isArray || function (obj) { return jQuery.type(obj) === "array"; }, isWindow: function (obj) { /* jshint eqeqeq: false */ return obj != null && obj == obj.window; }, isNumeric: function (obj) { // parseFloat NaNs numeric-cast false positives (null|true|false|"") // ...but misinterprets leading-number strings, particularly hex literals ("0x...") // subtraction forces infinities to NaN // adding 1 corrects loss of precision from parseFloat (#15100) var realStringObj = obj && obj.toString(); return !jQuery.isArray(obj) && ( realStringObj - parseFloat(realStringObj) + 1 ) >= 0; }, isEmptyObject: function (obj) { var name; for (name in obj) { return false; } return true; }, isPlainObject: function (obj) { var key; // Must be an Object. // Because of IE, we also have to check the presence of the constructor property. // Make sure that DOM nodes and window objects don't pass through, as well if (!obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow(obj)) { return false; } try { // Not own constructor property must be Object if (obj.constructor && !hasOwn.call(obj, "constructor") && !hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) { return false; } } catch (e) { // IE8,9 Will throw exceptions on certain host objects #9897 return false; } // Support: IE<9 // Handle iteration over inherited properties before own properties. if (!support.ownFirst) { for (key in obj) { return hasOwn.call(obj, key); } } // Own properties are enumerated firstly, so to speed up, // if last one is own, then all properties are own. for (key in obj) { } return key === undefined || hasOwn.call(obj, key); }, type: function (obj) { if (obj == null) { return obj + ""; } return typeof obj === "object" || typeof obj === "function" ? class2type[toString.call(obj)] || "object" : typeof obj; }, // Workarounds based on findings by Jim Driscoll // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context globalEval: function (data) { if (data && jQuery.trim(data)) { // We use execScript on Internet Explorer // We use an anonymous function so that context is window // rather than jQuery in Firefox ( window.execScript || function (data) { window["eval"].call(window, data); // jscs:ignore requireDotNotation } )(data); } }, // Convert dashed to camelCase; used by the css and data modules // Microsoft forgot to hump their vendor prefix (#9572) camelCase: function (string) { return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase); }, nodeName: function (elem, name) { return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); }, each: function (obj, callback) { var length, i = 0; if (isArrayLike(obj)) { length = obj.length; for (; i < length; i++) { if (callback.call(obj[i], i, obj[i]) === false) { break; } } } else { for (i in obj) { if (callback.call(obj[i], i, obj[i]) === false) { break; } } } return obj; }, // Support: Android<4.1, IE<9 trim: function (text) { return text == null ? "" : ( text + "" ).replace(rtrim, ""); }, // results is for internal usage only makeArray: function (arr, results) { var ret = results || []; if (arr != null) { if (isArrayLike(Object(arr))) { jQuery.merge(ret, typeof arr === "string" ? [arr] : arr ); } else { push.call(ret, arr); } } return ret; }, inArray: function (elem, arr, i) { var len; if (arr) { if (indexOf) { return indexOf.call(arr, elem, i); } len = arr.length; i = i ? i < 0 ? Math.max(0, len + i) : i : 0; for (; i < len; i++) { // Skip accessing in sparse arrays if (i in arr && arr[i] === elem) { return i; } } } return -1; }, merge: function (first, second) { var len = +second.length, j = 0, i = first.length; while (j < len) { first[i++] = second[j++]; } // Support: IE<9 // Workaround casting of .length to