UNPKG

@xeokit/xeokit-bim-viewer

Version:
1,082 lines (921 loc) 21.5 kB
/* Toolbars and buttons */ .xeokit-toolbar { display: flex; flex-wrap: wrap; justify-content: flex-start; background: transparent; pointer-events: none; padding: 10px; } .xeokit-btn-group { position: relative; display: inline-flex; vertical-align: middle; margin-bottom: 3px; margin-right: 1.2rem !important; pointer-events: none; } .xeokit-btn { position: relative; flex: 1 1 auto; color: #03103F; background-color: white; text-align: center; vertical-align: middle; border: 2px solid #1d2453; padding: .375rem .75rem; border-radius: .25rem; transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; -webkit-appearance: button; overflow: visible; margin: 0 2px 0 0; box-sizing: border-box; align-items: flex-start; pointer-events: all; } .xeokit-btn.disabled { opacity: .55; color: #99A4AD; border-color: #6c757d !important; pointer-events: none; } .xeokit-btn.active { color: #fff; background-color: #03103F; border-color: #03103F !important; } .xeokit-btn:hover { color: #477dca; border-color: #477dca !important; } .xeokit-btn.active:hover { /*color: transparent;*/ color: white; background: #477dca; border-color: #477dca !important; } .xeokit-btn.disabled:hover { opacity: .55; color: #99A4AD; border-color: #6c757d !important; } /* Tabs */ .xeokit-tabs { line-height: 1.5; padding: 0; /*padding-left: 10px;*/ height: 100%; overflow: clip; } .xeokit-tabs::before, .xeokit-tabs::after { display: table; content: ''; clear: both; } @media (max-width: 40em) { .xeokit-tabs { } } .xeokit-tabs .xeokit-tab { list-style: none; } @media (min-width: 40em) { .xeokit-tabs .xeokit-tab { display: inline; } } .xeokit-tabs .xeokit-tab:first-child .xeokit-tab-btn { } @media (max-width: 40em) { .xeokit-tabs .xeokit-tab:first-child .xeokit-tab-btn { } } @media (max-width: 40em) { .xeokit-tabs .xeokit-tab:last-child .xeokit-tab-btn { } } .xeokit-tabs .xeokit-tab.active .xeokit-tab-btn { background-color: #313961; } @media (min-width: 40em) { .xeokit-tabs .xeokit-tab.active .xeokit-tab-btn { background-color: transparent; border-bottom: #CFCFCF solid 3px; margin-bottom: -1px; } } .xeokit-tabs .xeokit-tab.active .xeokit-tab-content { display: block; } .xeokit-tabs .xeokit-tab-btn { font-size: 16px; background-color: transparent; border-top: 2px solid #dcdcdc; color: #CFCFCF; display: block; font-weight: bold; padding: 0.75em 5px; padding-left: 0; padding-right: 10px; text-decoration: none; } @media (min-width: 40em) { .xeokit-tabs .xeokit-tab-btn { font-size: 20px; font-weight: normal; border-top-left-radius: 3px; border-top-right-radius: 3px; border-top: 0; display: inline-block; } } .xeokit-tabs .xeokit-tab-btn:hover { color: #477dca; } .xeokit-tabs .xeokit-tab-btn:focus { outline: none; } .xeokit-tabs .xeokit-tab-content { background: #03103F; display: none; padding-top: 2em; padding-left: 0; padding-right: 0px; width: calc(100% - 0px); height: calc(100% - 30px); } @media (min-width: 40em) { .xeokit-tabs .xeokit-tab-content { float: left; } } .xeokit-tabs .xeokit-btn-group { flex-wrap: wrap; justify-content: flex-start; margin-bottom: 10px; } .xeokit-tabs .xeokit-btn { font-size: 16px; font-weight: normal; position: relative; flex: 1 1 auto; color: #CFCFCF; background-color: transparent; text-align: center; vertical-align: middle; border: 2px solid #CFCFCF; padding: .75rem .75rem; margin: 0 5px 10px 0; border-radius: .35rem; transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; -webkit-appearance: button; overflow: visible; box-sizing: border-box; align-items: flex-start; /*font: 400 13.3333px Arial;*/ } .xeokit-tabs .xeokit-btn:hover { color: #477dca; border: 2px solid #477dca; /*background: black;*/ } .xeokit-tabs .xeokit-tab-btn.disabled { opacity: .55; color: #99A4AD; } .xeokit-modelsTab { } .xeokit-modelsTab .xeokit-form-check { padding: 2px 0 2px 15px; line-height: 3ex; } .xeokit-modelsTab .xeokit-form-check input { vertical-align: middle; } .xeokit-modelsTab .xeokit-form-check span { display: inline-block; color: #ffff; background-color: #03103F; padding-left: 3px; width: calc(100% - 30px); vertical-align: middle; } .xeokit-modelsTab .xeokit-form-check span.disabled { color: #99A4AD; background-color: #03103F; } .xeokit-modelsTab .xeokit-form-check span:hover { color: #ffffff; cursor: pointer; background: rgba(255, 255, 255, 0.2); padding-left: 3px; } .xeokit-modelsTab .xeokit-form-check span.disabled:hover { color: #99A4AD; background-color: #03103F; cursor: default; } .xeokit-objectsTab ul { list-style: none; padding-left: 1.75em; } .xeokit-objectsTab ul li { margin: 2px 0; position: relative; width: 500px; line-height: 3ex; } .xeokit-objectsTab ul li a { background-color: #eee; border-radius: 50%; color: #000; display: inline-block; height: 1.5em; left: -1.5em; /*line-height: 1.5em;*/ position: absolute; text-align: center; text-decoration: none; width: 1.5em; } .xeokit-objectsTab ul li a.plus { background-color: #ded; } .xeokit-objectsTab ul li a.minus { background-color: #eee; } .xeokit-objectsTab ul li a:active { top: 1px; } .xeokit-objectsTab ul li input { vertical-align: middle; } .xeokit-objectsTab ul li span { display: inline-block; width: calc(100% - 50px); padding-left: 2px; vertical-align: middle; } .xeokit-objectsTab ul li span:hover { color: #ffffff; cursor: pointer; background: rgba(255, 255, 255, 0.2); padding-left: 2px; vertical-align: middle; } .xeokit-objectsTab .top-right { font-size: small; position: fixed; right: 1em; top: 1em; } .xeokit-objectsTab .highlighted-node { /* Appearance of node highlighted with BIMViewer#showObjectInExplorers() */ border: black solid 1px; background: yellow; color: black; padding-left: 1px; padding-right: 5px; } .xeokit-storeysTab ul { list-style: none; padding-left: 1.75em; } .xeokit-storeysTab ul li { margin: 2px 0; position: relative; width: 500px; line-height: 3ex; } .xeokit-storeysTab ul li a { background-color: #eee; border-radius: 50%; color: #000; display: inline-block; height: 1.5em; left: -1.5em; /*line-height: 1.5em;*/ position: absolute; text-align: center; text-decoration: none; width: 1.5em; } .xeokit-storeysTab ul li a.plus { background-color: #ded; } .xeokit-storeysTab ul li a.minus { background-color: #eee; } .xeokit-storeysTab ul li a:active { top: 1px; } .xeokit-storeysTab ul li input { vertical-align: middle; } .xeokit-storeysTab ul li span { display: inline-block; width: calc(100% - 50px); padding-left: 2px; vertical-align: middle; } .xeokit-storeysTab ul li span:hover { color: white; cursor: pointer; background: rgba(255, 255, 255, 0.2); padding-left: 2px; } .xeokit-storeysTab .top-right { font-size: small; position: fixed; right: 1em; top: 1em; } .xeokit-storeysTab .highlighted-node { /* Appearance of node highlighted with BIMViewer#showObjectInExplorers() */ border: black solid 1px; background: yellow; color: black; padding-left: 1px; padding-right: 5px; } .xeokit-classesTab ul { list-style: none; padding-left: 1.75em; } .xeokit-classesTab ul li { margin: 2px 0; position: relative; width: 500px; line-height: 3ex; } .xeokit-classesTab ul li a { background-color: #eee; border-radius: 50%; color: #000; display: inline-block; height: 1.5em; left: -1.5em; /*line-height: 1.5em;*/ position: absolute; text-align: center; text-decoration: none; width: 1.5em; } .xeokit-classesTab ul li a.plus { background-color: #ded; } .xeokit-classesTab ul li a.minus { background-color: #eee; } .xeokit-classesTab ul li a:active { top: 1px; } .xeokit-classesTab ul li input { vertical-align: middle; } .xeokit-classesTab ul li span { display: inline-block; width: calc(100% - 50px); padding-left: 2px; vertical-align: middle; } .xeokit-classesTab ul li span:hover { color: white; cursor: pointer; background: rgba(255, 255, 255, 0.2); padding-left: 2px; vertical-align: middle; } .xeokit-classesTab .top-right { font-size: small; position: fixed; right: 1em; top: 1em; } .xeokit-classesTab .highlighted-node { /* Appearance of node highlighted with BIMViewer#showObjectInExplorers() */ border: black solid 1px; background: yellow; color: black; padding-left: 1px; padding-right: 5px; } .xeokit-tree-panel { overflow-y: auto; overflow-x: auto; height: calc(100% - 150px); } .xeokit-tree-panel .warn, .xeokit-tree-panel .warn::before, .xeokit-tree-panel .warn::after { /*position: relative;*/ padding: 0; margin: 0; } .xeokit-tree-panel .warn { font-size: 20px; color: transparent; } .xeokit-tree-panel .warn.warning { display: inline-block; top: 0.225em; width: 1.15em; height: 1.15em; overflow: hidden; border: none; background-color: transparent; border-radius: 0.625em; } .xeokit-tree-panel .warn.warning::before { content: ""; display: block; top: 0.0em; left: 0.0em; position: absolute; border: transparent 0.6em solid; border-bottom-color: #fd3; border-bottom-width: 1em; border-top-width: 0; box-shadow: #999 0 1px 1px; } .xeokit-tree-panel .warn.warning::after { display: block; position: absolute; top: 0.3em; left: 0; width: 100%; padding: 0 1px; text-align: center; font-family: "Garamond"; content: "!"; font-size: 0.65em; font-weight: bold; color: #333; } /* Context menu */ .xeokit-context-menu { font-family: 'Roboto', sans-serif; font-size: 15px; display: none; z-index: 300000; background: rgba(255, 255, 255, 0.46); border: 1px solid black; border-radius: 6px; padding: 0; width: 200px; } .xeokit-context-menu ul { list-style: none; margin-left: 0; padding: 0; } .xeokit-context-menu-item { list-style-type: none; padding-left: 10px; padding-right: 20px; padding-top: 4px; padding-bottom: 4px; color: black; background: rgba(255, 255, 255, 0.46); cursor: pointer; width: calc(100% - 30px); } .xeokit-context-menu-item:hover { background: black; color: white; font-weight: normal; } .xeokit-context-menu-item span { display: inline-block; } .xeokit-context-menu .disabled { display: inline-block; color: gray; cursor: default; font-weight: normal; } .xeokit-context-menu .disabled:hover { color: gray; cursor: default; background: #eeeeee; font-weight: normal; } .xeokit-context-menu-item-separator { background: rgba(0, 0, 0, 1); height: 1px; width: 100%; } .xeokit-context-submenu { font-family: 'Roboto', sans-serif; font-size: 15px; display: none; z-index: 300000; background: rgba(255, 255, 255, 0.46); border: 1px solid black; border-radius: 0 6px 6px 6px !important; padding: 0; width: 220px; } /* Busy modal dialog */ .xeokit-busy-modal-backdrop { position: relative; } .xeokit-busy-modal { display: none; position: absolute; z-index: 1000000; padding-top: 100px; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(3, 16, 63, 0.4); } .xeokit-busy-modal-content { position: relative; background-color: #FFFFFF; margin: auto; padding: 0; border: 2px solid #888; border-radius: 0.5em; width: 30%; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); -webkit-animation-name: xeokit-busy-modal-animatetop; -webkit-animation-duration: 0.6s; animation-name: xeokit-busy-modal-animatetop; animation-duration: .6s } /* Add Animation */ @-webkit-keyframes xeokit-busy-modal-animatetop { from { opacity: 0 } to { opacity: 1 } } @keyframes xeokit-busy-modal-animatetop { from { opacity: 0 } to { opacity: 1 } } .xeokit-busy-modal-message { font-size: 22px; padding: 2px 14px; background-color: #FFFFFF; color: #212529; } .xeokit-busy-modal-body { padding: 2px 14px; margin: 20px 2px } /* Styles the dot that indicates the camera's current pivot position */ .xeokit-camera-pivot-marker { color: #ffffff; line-height: 1.8; text-align: center; font-family: "monospace"; font-weight: bold; position: absolute; width: 25px; height: 25px; border-radius: 15px; border: 2px solid #ebebeb; background: black; visibility: hidden; box-shadow: 5px 5px 15px 1px #000000; z-index: 1000000; pointer-events: none; } .xeokit-section { } .xeokit-section-counter { opacity: 1.0; color: black; padding: 1px; margin: 0; margin-left: 10px; width: 20px; height: 20px; float: right; font-family: 'Roboto', sans-serif; font-size: 18px; line-height: 1.50; } .xeokit-section-counter.disabled { color: #99A4AD; } .xeokit-section-counter.active { color: #fff; border-color: #ebebeb; } .xeokit-section-counter:hover { color: #477dca; } .xeokit-section-counter.active:hover { color: white; } .xeokit-section-counter.disabled:hover { color: #99A4AD; } .xeokit-section-menu-button { opacity: 1.0; border-radius: 5px; border: 0; color: black; padding: 1px; margin: 0; margin-left: 10px; width: 20px; height: 20px; float: right; font-family: 'Roboto', sans-serif; font-size: 14px; line-height: 1.50; } .xeokit-section-menu-button.disabled { color: #99A4AD; border: 0; } .xeokit-section-menu-button.active { color: #fff; border-color: #ebebeb; } .xeokit-section-menu-button:hover { color: #477dca; } .xeokit-section-menu-button.active:hover { color: white; /*border: 2px solid #477dca;*/ } .xeokit-section-menu-button.disabled:hover { color: #99A4AD; } .xeokit-arrow-up { width: 0; height: 0; display: inline-block; vertical-align: middle; border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 8px solid black !important; } .xeokit-arrow-up.disabled { border-bottom: 8px solid #99A4AD !important; } .xeokit-arrow-up.active { border-bottom: 8px solid white !important; } .xeokit-arrow-up:hover { border-bottom: 8px solid #477dca !important; } .xeokit-arrow-up.active:hover { border-bottom: 8px solid white !important; } .xeokit-arrow-up.disabled:hover { border-bottom: 8px solid #99A4AD !important; } .xeokit-arrow-down { width: 0; height: 0; display: inline-block; vertical-align: middle; border-style: solid; border-width: 8px 8px 0 8px; border-color: black transparent transparent transparent !important; } .xeokit-arrow-down.disabled { color: #99A4AD !important; } .xeokit-arrow-down.active { color: white !important; border-color: white transparent transparent transparent !important; } .xeokit-arrow-down:hover { color: white !important; border-color: #477dca transparent transparent transparent !important; } .xeokit-arrow-down.active:hover { color: white !important; border-color: white transparent transparent transparent !important; } .xeokit-arrow-down.disabled:hover { border-color: #99A4AD transparent transparent transparent !important; } .xeokit-properties { display: flex; flex-direction: column; height: calc(100% - 2em - 30px); } .xeokit-accordion { display: flex; flex-direction: column; flex: 1 1 auto; width: 100%; overflow-y: auto; overflow-x: hidden; } .xeokit-accordion .xeokit-accordion-container { display: flex; flex-direction: column; width: 100%; padding-bottom: 5px; } .xeokit-accordion .xeokit-accordion-container .xeokit-accordion-button { margin: 0; position: relative; padding: 15px 15px; color: #bdbdbd; display: block; font-weight: 500; background-color: #313961; cursor: pointer; transition: all 0.3s ease-in-out; border-radius: 5px; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .15), 0 10px 10px -5px rgba(0, 0, 0, .1) !important; } .xeokit-accordion .xeokit-accordion-container .xeokit-accordion-button span { display: block; position: absolute; height: 14px; width: 14px; right: 20px; top: 18px; } .xeokit-accordion .xeokit-accordion-container .xeokit-accordion-button span:after { content: ''; width: 14px; height: 3px; border-radius: 2px; background-color: #fff; position: absolute; top: 6px; } .xeokit-accordion .xeokit-accordion-container .xeokit-accordion-button span:before { content: ''; width: 14px; height: 3px; border-radius: 2px; background-color: #fff; position: absolute; top: 6px; transform: rotate(90deg); transition: all 0.3s ease-in-out; } .xeokit-accordion .xeokit-accordion-container .xeokit-accordion-panel { display: none; width: 100%; color: #cfcfcf; transition: height 0.3s ease-in-out, opacity 0.2s ease-in-out; opacity: 0; height: auto; height: 0; padding: 0 10px; } .xeokit-accordion .xeokit-accordion-container.active .xeokit-accordion-button { color: #cfcfcf; } .xeokit-accordion .xeokit-accordion-container.active .xeokit-accordion-button span::before { transform: rotate(0deg); } .xeokit-accordion .xeokit-accordion-container.active .xeokit-accordion-panel { display: block; padding: 0; opacity: 1; } .xeokit-propertiesTab .element-attributes { display: flex; flex: 0 0 auto; padding-left: 10px; } .xeokit-propertiesTab .xeokit-tab-btn { margin-left: 15px; } .xeokit-propertiesTab .title { color: #CFCFCF; font-size: 20px; font-weight: normal; padding-left: 0; padding-top: 0; padding-bottom: 20px; margin-top: 12px; } .xeokit-propertiesTab .subtitle { color: #CFCFCF; font-size: 16px; font-weight: normal; padding-left: 0; } .xeokit-propertiesTab .subsubtitle { color: #CFCFCF; font-size: 14px; font-weight: normal; padding-left: 0; } .xeokit-propertiesTab .panel { padding: 0 18px; background: #03103F; color: #CFCFCF; max-height: 0; overflow: hidden; transition: max-height 0.15s; } .xeokit-propertiesTab input { position: absolute; opacity: 0; z-index: -1; } .xeokit-propertiesTab .row { display: flex; } .xeokit-propertiesTab .row .col { flex: 1; } .xeokit-propertiesTab .row .col:last-child { margin-left: 1em; } .xeokit-propertiesTab .tabs { border-radius: 8px; overflow: hidden; box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.5); } .xeokit-propertiesTab .tab { width: 100%; color: #CFCFCF; overflow: hidden; } .xeokit-propertiesTab .tab-label { display: flex; padding: .5em .5em .5em 1em; font-weight: normal; cursor: pointer; } .xeokit-propertiesTab .tab-label:hover { cursor: pointer; background: rgba(255, 255, 255, 0.2); } .xeokit-propertiesTab .tab-label::before { content: "\276F"; width: 1em; height: 1em; text-align: center; transition: all 0.35s; } .xeokit-propertiesTab .tab-content { max-height: 0; padding: 0 1em; transition: all 0.35s; overflow: hidden; } .xeokit-btn { box-shadow: 1px 2px 1px rgba(0, 0, 0, 0.1); } .xeokit-table { width: 100%; margin-bottom: 1rem; display: table; /*border-collapse: separate;*/ box-sizing: border-box; text-indent: initial; /*border-spacing: 2px;*/ } .xeokit-table .td1, .xeokit-table th { padding: .6em; vertical-align: top; border-top: 1px solid #81819a; border-right: 1px solid #81819a; white-space: nowrap; font-weight: bold; width: 150px; max-width: 150px; } .xeokit-table tr:first-child td { border-top: 0; } .xeokit-table .td2, .xeokit-table th { padding: .5em; vertical-align: top; border-top: 1px solid #81819a; } .xeokit-table th { text-align: inherit; } .xeokit-table th { display: table-cell; vertical-align: inherit; font-weight: bold; } .xeokit-no-prop-set-warning { visibility: visible } .no-object-selected-warning { } .viewer-ruler-wire-highlighted { border: 2px solid white !important; } .viewer-ruler-label-highlighted { border: 2px solid white !important; } .viewer-ruler-dot-highlighted { border: 2px solid white !important; }