UNPKG

@skylineos/clsp-player

Version:

Skyline Technology Solutions' CLSP Video Player. Stream video in near-real-time in modern browsers.

223 lines (190 loc) 4.57 kB
/*!************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js!./dist/clsp-player.css ***! \************************************************************************/ /* A utility class for filling the parent element. */ .clsp-container-fit { display: flex; flex-direction: column; align-content: center; justify-content: center; width: 100%; height: 100%; padding: 0; margin: 0; /* if you see scroll bars, you probably styled something incorrectly */ overflow: auto; } /* This class is automatically added to the element that contains the clsp video element. It is meant to take up the entirety of its parent. */ .clsp-player-container { display: flex; flex-direction: column; align-content: center; justify-content: center; width: 100%; height: 100%; padding: 0; margin: 0; position: relative; background-color: black; overflow: hidden; /* All other video elements are beneath the first, in arbitrary order. NOTE - DO NOT add any styles to the actual video element - additional styles applied to the video tag have the potential to cause significant performance issues */ .clsp-player { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: fill; } /* When dealing with tours, we must ensure that the first video element is on top. */ video:first-of-type { z-index: 2 !important; } .clsp-player-loading-animation { border: 6px solid #f3f3f3; /* Light grey */ border-top: 6px solid #3498db; /* Blue */ border-radius: 50%; width: 30px; height: 30px; animation: spin 2s linear infinite; margin: auto; } .clsp-player-error-msg { color: white; margin: auto; } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /*!********************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js!./demos/styles/utils.reset.css ***! \********************************************************************************/ * { box-sizing: border-box !important; } html, body { display: flex; flex-direction: column; align-content: center; justify-content: center; width: 100%; height: 100%; padding: 0; margin: 0; overflow: auto; } /*!*************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js!./demos/styles/utils.demo-theme.css ***! \*************************************************************************************/ .container-fit { display: flex; align-content: center; justify-content: center; width: 100%; height: 100%; padding: 0; margin: 0; overflow: auto; } html { background-color: #252525; color: white; } body { padding: 0.25em; } .header { display: flex; justify-content: space-around; padding: 0.5em; font-size: 1.5em; flex-grow: 0; flex-shrink: 0; } .header{ & > * { margin: auto; padding: 0 0.5em; text-align: center; font-weight: bold; } #logo { img { width: 50%; } } } input { padding: 0.5em; } button { padding: 0.5em; } #player-error { display: none; margin: auto; justify-content: center; &.show { display: block; } } .clsp-player-container { background-color: black; } /*!**********************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js!./demos/single-player/styles.css ***! \**********************************************************************************/ .content { display: flex; width: 100%; height: 100%; .controls { display: flex; flex-direction: column; flex-grow: 0; flex-shrink: 0; margin: 0; padding: 0.5em; width: 25%; overflow-y: auto; section { display: flex; flex-direction: column; border: 1px solid white; padding: 0.75em; h2 { margin: 0; padding: 0.5em 0; } .control-group { display: flex; flex-direction: column; & > * { margin: 0.25em 0; } input { flex-grow: 1; flex-shrink: 0; } button { text-align: start; margin-right: auto; padding-left: 1em; padding-right: 1em; } } } } .stream-container { flex-grow: 1; flex-shrink: 1; } }