diff options
author | Devaev Maxim <[email protected]> | 2018-12-15 04:29:40 +0300 |
---|---|---|
committer | Devaev Maxim <[email protected]> | 2018-12-15 04:29:40 +0300 |
commit | 3c33bd37190772a783369894e209bcfe0858177a (patch) | |
tree | e095f08f37371a3182f6ced0b280c4bcaa06983b /web/share/css | |
parent | 3445766a50eab16a96d969397a6fe0422f7cfcd2 (diff) |
own auth
Diffstat (limited to 'web/share/css')
-rw-r--r-- | web/share/css/index/index.css | 84 | ||||
-rw-r--r-- | web/share/css/kvm/about.css | 28 | ||||
-rw-r--r-- | web/share/css/kvm/hid.css | 21 | ||||
-rw-r--r-- | web/share/css/kvm/keyboard.css | 146 | ||||
-rw-r--r-- | web/share/css/kvm/msd.css | 22 | ||||
-rw-r--r-- | web/share/css/kvm/stream.css | 90 | ||||
-rw-r--r-- | web/share/css/leds.css | 63 | ||||
-rw-r--r-- | web/share/css/login/login.css | 25 | ||||
-rw-r--r-- | web/share/css/main.css | 179 | ||||
-rw-r--r-- | web/share/css/menu.css | 113 | ||||
-rw-r--r-- | web/share/css/modals.css | 58 | ||||
-rw-r--r-- | web/share/css/progress.css | 23 | ||||
-rw-r--r-- | web/share/css/sliders.css | 78 | ||||
-rw-r--r-- | web/share/css/switches.css | 76 | ||||
-rw-r--r-- | web/share/css/vars.css | 63 | ||||
-rw-r--r-- | web/share/css/windows.css | 74 |
16 files changed, 1143 insertions, 0 deletions
diff --git a/web/share/css/index/index.css b/web/share/css/index/index.css new file mode 100644 index 00000000..72ab5c24 --- /dev/null +++ b/web/share/css/index/index.css @@ -0,0 +1,84 @@ +div#start-box { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + min-height: 100vh; +} + +div#start { + text-align: left; + outline: none; + word-wrap: break-word; + max-width: 800px; + border: var(--border-window-thin); + border-radius: 8px; + box-sizing: border-box; + box-shadow: var(--shadow-big); + background-color: var(--cs-window-default-bg); + padding: 15px; +} + +div#start div#apps-box { + display: table; + margin: 0 auto; +} + +div#start div#apps-box ul#apps { + list-style-type: none; + padding: 0; + margin: 0; +} + +div#start div#apps-box ul#apps li { + float: left; + margin-left: 5px; + margin-right: 5px; +} + +div#start div#apps-box ul#apps li div.app { + height: 100px; + width: 100px; + text-align: center; + background-color: var(--cs-control-default-bg); + box-shadow: var(--shadow-micro); + border: var(--border-key-thin); + border-radius: 8px; +} + +div#start div#apps-box ul#apps li div:hover.app { + border: var(--border-intensive-thin); + box-shadow: none; +} + +div#start div#apps-box ul#apps li div.app img { + display: block; + margin: auto; + height: 50px; + padding-bottom: 5px; +} + +div#start div#apps-box ul#apps li div.app a { + display: flex; + flex-direction: column; + justify-content: center; + height: 100%; + text-decoration: none; + font-weight: bold; +} + +div#start td.logo { + padding-right: 25px; +} +div#start td.title { + font-size: 1.2em; +} +div#start td.copyright { + font-size: 0.8em; +} +div#start tr.server { + font-size: 1.4em; + font-weight: bold; + font-family: monospace; +} diff --git a/web/share/css/kvm/about.css b/web/share/css/kvm/about.css new file mode 100644 index 00000000..e6e2360f --- /dev/null +++ b/web/share/css/kvm/about.css @@ -0,0 +1,28 @@ +div#about { + -webkit-user-select: text; + -moz-user-select: text; + user-select: text; + max-width: 600px; + white-space: normal; + padding: 5px 5px 5px 5px; +} + +div#about td.logo { + padding-right: 25px; +} + +div#about td.title { + font-size: 1.2em; +} + +div#about td.copyright { + font-size: 0.8em; +} + +div#about tr.version { + font-family: monospace; +} + +div#about div#about-meta { + height: 200px; +} diff --git a/web/share/css/kvm/hid.css b/web/share/css/kvm/hid.css new file mode 100644 index 00000000..6663a85c --- /dev/null +++ b/web/share/css/kvm/hid.css @@ -0,0 +1,21 @@ +textarea#hid-pak-text { + display: block; + resize: none; + width: 100%; + height: 40px; + color: var(--cs-window-default-fg); + background-color: var(--cs-window-default-bg); + border: none; + outline: 0 !important; + -webkit-appearance:none; +} + +textarea#hid-pak-text::-moz-placeholder { + line-height: 40px; + text-align: center; +} + +textarea#hid-pak-text::-webkit-input-placeholder { + line-height: 40px; + text-align: center; +} diff --git a/web/share/css/kvm/keyboard.css b/web/share/css/kvm/keyboard.css new file mode 100644 index 00000000..2ff622f3 --- /dev/null +++ b/web/share/css/kvm/keyboard.css @@ -0,0 +1,146 @@ +div.keyboard { + zoom: 0.8; +} + +div.keyboard div.keyboard-block { + display: table-cell; + padding-right: 0; +} +div.keyboard div.keyboard-block:not(:first-child) { + padding-left: 15px; +} + +div.keyboard div.keyboard-row { + white-space: nowrap; + height: 40px; + margin-bottom: 5px; +} +div.keyboard div.keyboard-row:last-child { + margin-bottom: 0; +} + +div.keyboard div.key, div.modifier, div.empty-key { + box-sizing: border-box; + display: inline-block; + margin-right: 5px; + padding: 0; + width: 40px; +} +div.keyboard div.key, div.modifier { + font-size: 0.9em; + text-align: center; + vertical-align: top; + box-shadow: var(--shadow-micro); + border: var(--border-key-thin); + border-radius: 6px; + color: var(--cs-key-default-fg); + background-color: var(--cs-key-default-bg); + cursor: pointer; + height: 40px; +} +div.keyboard div.key:hover, div.modifier:hover { + color: var(--cs-key-hovered-fg); + background-color: var(--cs-key-hovered-bg); +} +div.keyboard div.pressed { + box-shadow: none; + color: var(--cs-key-pressed-fg) !important; + background-color: var(--cs-key-pressed-bg) !important; +} +div.keyboard div.holded { + box-shadow: none; + color: var(--cs-key-default-fg) !important; + background-color: var(--cs-key-holded-bg) !important; +} +div.keyboard div.key:last-child, div.empty-key:last-child, div.modifier:last-child { + margin-right: 0; +} +div.keyboard div.margin-0 { + margin-right: 0px; +} +div.keyboard div.wide-0 { + width: 26px; +} +div.keyboard div.wide-1 { + width: 61px; +} +div.keyboard div.wide-2 { + width: 64px; +} +div.keyboard div.wide-3 { + width: 77px; +} +div.keyboard div.wide-4 { + width: 102px; +} +div.keyboard div.wide-5 { + width: 288px; +} +div.keyboard div.left { + text-align: left !important; + padding-left: 6px !important; +} +div.keyboard div.right { + text-align: right !important; + padding-right: 6px !important; +} +div.keyboard div.small { + font-size: 0.7em; +} + +div.keyboard p { + margin: 0; + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +div.keyboard b { + color: var(--cs-key-holded-bg); +} + +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { + div#keyboard-window { + visibility: visible !important; + padding-top: 9px !important; + padding-bottom: 30px !important; + border-bottom: 0 !important; + border-left: 0 !important; + border-right: 0 !important; + border-radius: 0 !important; + top: unset !important; + bottom: 0 !important; + width: 100% !important; + left: 50% !important; + -webkit-transform: translateX(-50%) !important; + transform: translateX(-50%) !important; + } + div#keyboard-window-header { + display: none !important + } +} + +div#keyboard-desktop { + display: block; +} +div#keyboard-mobile { + display: none; +} +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { + /* iPad */ + div.keyboard { + zoom: 1.28 !important; + } + + div.keyboard div.key:hover, div.modifier:hover { + color: var(--cs-key-default-fg); + background-color: var(--cs-key-default-bg); + } + + div#keyboard-desktop { + display: none !important; + } + div#keyboard-mobile { + display: block !important; + } +} diff --git a/web/share/css/kvm/msd.css b/web/share/css/kvm/msd.css new file mode 100644 index 00000000..4a1c5d28 --- /dev/null +++ b/web/share/css/kvm/msd.css @@ -0,0 +1,22 @@ +div#msd-menu { + width: 450px; +} + +div#msd-menu div.msd-message, input.msd-message { + display: none; +} + +div#msd-menu table.msd-info { + -webkit-user-select: text; + -moz-user-select: text; + user-select: text; + border-spacing: 5px; + margin: 0 10px 0 10px; + font-size: 12px; +} + +div#msd-menu table.msd-info td.msd-info-value { + font-weight: bold; + max-width: 310px; + overflow: hidden; +} diff --git a/web/share/css/kvm/stream.css b/web/share/css/kvm/stream.css new file mode 100644 index 00000000..c99c3c9c --- /dev/null +++ b/web/share/css/kvm/stream.css @@ -0,0 +1,90 @@ +div#stream-info { + display: none; +} + +div#stream-box { + position: relative; + display: inline-block; + border: var(--border-window-thin); +} +div.stream-box-inactive::after { + cursor: wait; + content: ""; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + display: inline-block; + background: radial-gradient(transparent 20%, black); +} +div.stream-box-mouse-enabled { + cursor: url("../../svg/stream-mouse-cursor.svg"), pointer; +} + +img#stream-image { + width: 640px; + height: 480px; + display: block; + background-color: black; +} + +img.stream-image-active { + -webkit-filter: none; + filter: none; +} + +img.stream-image-inactive { + -webkit-filter: grayscale(100%) brightness(75%) sepia(75%); + filter: grayscale(100%) brightness(75%) sepia(75%); +} + +div.stream-slider-box { + margin-top: 5px; + display: flex; +} + +table#stream-auto-resize-box { + width: 100%; + border-collapse: collapse; +} +@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) { + @supports (-webkit-appearance: none) { + table#stream-auto-resize-box { + margin: 20px 0 20px 0 !important; + } + } +} + +div#stream-mouse-buttons { + display: none; + margin: 0; + padding: 0; + font-size: 0; +} + +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { + div#stream-window { + padding-top: 3px !important; + border-top: 0 !important; + border-radius: 0 0 8px 8px !important; + top: 50px !important; + left: 50% !important; + -webkit-transform: translateX(-50%) !important; + transform: translateX(-50%) !important; + } + div#stream-window-header { + display: none !important; + } + div#stream-info { + display: block !important; + margin: 0; + padding: 0; + padding-bottom: 3px; + font-size: 0.8em; + color: var(--cs-window-header-default-fg); + } + div#stream-mouse-buttons { + display: block !important; + } +} diff --git a/web/share/css/leds.css b/web/share/css/leds.css new file mode 100644 index 00000000..fe23a434 --- /dev/null +++ b/web/share/css/leds.css @@ -0,0 +1,63 @@ +@-webkit-keyframes spin { + 100% { + -webkit-transform: rotate(360deg); + } +} +@keyframes spin { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +:root { + --led-filter-gray: invert(0.5); + --led-filter-green: invert(0.5) sepia(1) saturate(5) hue-rotate(100deg); + --led-filter-red: invert(0.5) sepia(1) saturate(15) hue-rotate(320deg); + --led-filter-yellow: invert(0.5) sepia(1) saturate(5) hue-rotate(0deg); + + --led-spin-slow: spin 6s linear infinite; + --led-spin-medium: spin 3s linear infinite; + --led-spin-fast: spin 2s linear infinite; +} + +img.led-gray { + -webkit-filter: var(--led-filter-gray); + filter: var(--led-filter-gray); +} + +img.led-green { + -webkit-filter: var(--led-filter-green); + filter: var(--led-filter-green); +} + +img.led-red { + -webkit-filter: var(--led-filter-red); + filter: var(--led-filter-red); +} + +img.led-yellow { + -webkit-filter: var(--led-filter-yellow); + filter: var(--led-filter-yellow); +} + +img.led-green-rotating-medium { + -webkit-filter: var(--led-filter-green); + filter: var(--led-filter-green); + -webkit-animation: var(--led-spin-medium); + animation: var(--led-spin-medium); +} + +img.led-yellow-rotating-slow { + -webkit-filter: var(--led-filter-yellow); + filter: var(--led-filter-yellow); + -webkit-animation: var(--led-spin-slow); + animation: var(--led-spin-slow); +} + +img.led-yellow-rotating-fast { + -webkit-filter: var(--led-filter-yellow); + filter: var(--led-filter-yellow); + -webkit-animation: var(--led-spin-fast); + animation: var(--led-spin-fast); +} diff --git a/web/share/css/login/login.css b/web/share/css/login/login.css new file mode 100644 index 00000000..1fae42d6 --- /dev/null +++ b/web/share/css/login/login.css @@ -0,0 +1,25 @@ +div#login-box { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + min-height: 100vh; +} + +div#login { + text-align: left; + outline: none; + word-wrap: break-word; + max-width: 400px; + border: var(--border-window-thin); + border-radius: 8px; + box-sizing: border-box; + box-shadow: var(--shadow-big); + background-color: var(--cs-window-default-bg); + padding: 15px; +} + +input[type="text"]#user-input, input[type="password"]#passwd-input { + text-align: center; +} diff --git a/web/share/css/main.css b/web/share/css/main.css new file mode 100644 index 00000000..f5f0db75 --- /dev/null +++ b/web/share/css/main.css @@ -0,0 +1,179 @@ +body { + margin: 0; + overflow: hidden; + color: var(--cs-page-default-fg); + background-color: var(--cs-page-default-bg); + font-family: sans-serif !important; +} +body.body-no-select { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + touch-action: manipulation; +} + +a { + color: var(--cs-page-default-fg); +} + +hr { + border: none; + border-top: var(--border-default-thin); +} + +p.text { + text-align: justify; +} +p:not(:first-child).text { + margin-top: 0; +} +p:last-child.text { + margin-bottom: 0; +} + +div.code { + white-space: nowrap; + overflow-x: auto; + font-family: monospace; + border-radius: 4px; + color: var(--cs-code-default-fg); + background-color: var(--cs-code-default-bg); + padding: 10px; +} +div.code::-webkit-scrollbar { + width: 8px; + height: 8px; +} +div.code::-webkit-scrollbar-thumb { + border-radius: 4px; + background: var(--cs-scroll-default-bg); +} + +div.code span.code-comment { + color: var(--cs-code-comment-fg); +} + +img.svg-gray { + -webkit-filter: invert(0.7); + filter: invert(0.7); + vertical-align: middle; +} + +button, select { + box-shadow: none; + border: none; + border-radius: 4px; + color: var(--cs-control-default-fg); + background-color: var(--cs-control-default-bg); + display: block; + width: 100%; + height: 30px; + font-size: 16px; + outline: none; + cursor: pointer; +} +@media (hover: hover), (min--moz-device-pixel-ratio: 0) { + /* If we have a mouse cursor */ + button:enabled:hover, select:enabled:hover { + color: var(--cs-control-hovered-fg); + background-color: var(--cs-control-hovered-bg) !important; + } + button:active, select:active { + color: var(--cs-control-pressed-fg) !important; + } + select:enabled:hover { + background-image: url("../svg/select-arrow-intensive.svg") !important; + } +} +@media (hover: none) { + /* If we DON'T have a mouse cursor */ + button:active, select:active { + color: var(--cs-control-hovered-fg); + background-color: var(--cs-control-hovered-bg); + } +} +button:disabled, select:disabled { + color: var(--cs-control-disabled-fg); + cursor: default; +} + +select { + -webkit-appearance: button; + -moz-appearance: button; + appearance: button; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + background-image: url("../svg/select-arrow-normal.svg"); + background-position: center right; + background-repeat: no-repeat; +} +select:disabled { + background-image: url("../svg/select-arrow-inactive.svg") !important; +} +select:active { + color: var(--cs-control-intensive-fg) !important; + background-color: var(--cs-bg-control-intensive) !important; + background-image: url("../svg/select-arrow-intensive.svg") !important; +} + +input[type=text], input[type=password] { + overflow-x: auto; + font-family: monospace; + border: thin; + border-radius: 4px; + color: var(--cs-code-default-fg); + background-color: var(--cs-code-default-bg); + padding: 2px; +} + +@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) { + button, select, input[type=text], input[type=password] { + height: 45px !important; + } +} + +div.buttons-row { + margin: 0; + padding: 0; + font-size: 0; +} + +.row50 { + display: inline-block; + width: 50%; +} +.row25 { + display: inline-block; + width: 25%; +} +.row16 { + display: inline-block; + width: 16.66% +} +.row50:not(:first-child), .row25:not(:first-child), .row16:not(:first-child) { + border-left: var(--border-control-thin); +} + +ul.footer { + list-style-type: none; + bottom: 0; + position: fixed; + width: 100%; + padding: 0; + font-size: 0.7em; + color: var(--cs-page-obscure-fg); + z-index: -10; +} +ul.footer li { + padding: 0 10px; +} +ul.footer li.footer-left { + float: left; +} +ul.footer li.footer-right { + float: right; +} +ul.footer li a { + color: var(--cs-page-obscure-fg); +} diff --git a/web/share/css/menu.css b/web/share/css/menu.css new file mode 100644 index 00000000..151b82b1 --- /dev/null +++ b/web/share/css/menu.css @@ -0,0 +1,113 @@ +ul#menu { + box-shadow: var(--shadow-small); + list-style-type: none; + margin: 0; + padding: 0; + background-color: var(--cs-menu-default-bg); + position: fixed; + top: 0; + width: 100%; + height: 50px; + z-index: 2147483646; +} + +ul#menu li.menu-right-items { + float: right; +} + +ul#menu li.menu-left-items { + float: left; +} + +ul#menu li a#menu-logo { + line-height: 50px; + outline: none; + cursor: pointer; + border-right: var(--border-menu-thin); + display: inline-block; + color: var(--cs-menu-default-fg); + padding-left: 16px; + padding-right: 16px; + text-decoration: none; +} + +ul#menu img { + vertical-align: middle; + margin-right: 10px; + height: 20px; +} + +ul#menu li a#menu-logo img { + margin-top: -2px; + height: 24px; +} + +ul#menu li a.menu-item { + line-height: 50px; + outline: none; + cursor: pointer; + border-left: var(--border-menu-thin); + display: inline-block; + color: var(--cs-menu-default-fg); + padding-left: 16px; + padding-right: 16px; + text-decoration: none; +} + +ul#menu li a#menu-logo:hover:not(.active), a.menu-item:hover:not(.active) { + background-color: var(--cs-menu-hovered-bg); +} +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { + /* iPad 8 */ + ul#menu li a#menu-item:hover:not(.active), a.menu-item:hover:not(.active) { + background-color: var(--cs-menu-default-bg) !important; + } +} + +ul#menu li a.menu-item-selected { + box-shadow: var(--shadow-menu-pressed); + background-color: var(--cs-menu-pressed-bg) !important; +} + +ul#menu li div.menu-item-content { + visibility: hidden; + outline: none; + overflow: hidden; + white-space: nowrap; + border: var(--border-menu-item-content-default-2px); + border-top: var(--border-menu-item-content-top-thin); + border-radius: 0 0 8px 8px; + position: absolute; + background-color: var(--cs-menu-default-bg); + min-width: 180px; + box-shadow: var(--shadow-big); + z-index: 2147483645; +} +ul#menu li div.menu-item-content-active { + border: var(--border-menu-item-content-active-2px) !important; + border-top: var(--border-menu-item-content-top-thin) !important; +} + +ul#menu li div.menu-item-content-buttons { + background-color: var(--cs-control-default-bg); +} + +ul#menu li div.menu-item-content-text { + margin: 10px 15px 10px 15px; + font-size: 14px; +} + +ul#menu li div.menu-item-content button, select { + border-radius: 0; + text-align: left; + padding: 0 16px; +} + +ul#menu li div.menu-item-content hr { + margin: 0; + display: block; + height: 0px; + padding: 0; + border: none; + border-top: var(--border-control-thin); +} diff --git a/web/share/css/modals.css b/web/share/css/modals.css new file mode 100644 index 00000000..ed9837c7 --- /dev/null +++ b/web/share/css/modals.css @@ -0,0 +1,58 @@ +div.modal { + visibility: hidden; + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-color: rgb(0, 0, 0); + background-color: rgba(0, 0, 0, 0.5); + z-index: 2147483647; +} + +div.modal div.modal-window { + display: table; + outline: none; + margin: 15% auto; + overflow: hidden; + border: var(--border-window-thin); + border-radius: 8px; + box-sizing: border-box; + box-shadow: var(--shadow-big); + background-color: var(--cs-window-default-bg); + padding: 0; +} +div.modal div.modal-window-active { + border: var(--border-intensive-2px) !important; +} + +div.modal div.modal-window div.modal-header { + text-align: center; + font-weight: bold; + padding: 3px 9px 3px 9px; + border-bottom: var(--border-default-thin); +} + +div.modal div.modal-window div.modal-content { + max-width: 500px; + max-height: 500px; + padding: 16px 9px 16px 9px; +} + +div.modal div.modal-window div.modal-buttons { + border-top: var(--border-control-thin); + margin: 0; + padding: 0; + font-size: 0; +} + +div.modal div.modal-window div.modal-buttons button { + border-radius: 0; + height: 40px; +} +@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) { + /* iPad vertical */ + div.modal-buttons button { + height: 50px !important; + } +} diff --git a/web/share/css/progress.css b/web/share/css/progress.css new file mode 100644 index 00000000..1085e5cf --- /dev/null +++ b/web/share/css/progress.css @@ -0,0 +1,23 @@ +div.progress { + background-color: var(--cs-progress-default-bg); + height: 1.5em; + width: 100%; + position: relative; +} + +div.progress:before { + color: var(--cs-progress-default-fg); + content: attr(data-label); + font-size: 0.8em; + position: absolute; + text-align: center; + top: 4px; + left: 0; + right: 0; +} + +div.progress span.progress-value { + background-color: var(--cs-progress-bar-bg); + display: inline-block; + height: 100%; +} diff --git a/web/share/css/sliders.css b/web/share/css/sliders.css new file mode 100644 index 00000000..fe0be262 --- /dev/null +++ b/web/share/css/sliders.css @@ -0,0 +1,78 @@ +@supports (-webkit-appearance:none) { + input[type=range].slider { + cursor: pointer; + outline: none; + width: 100%; + box-shadow: none; + background: transparent; + margin: 8px 0 8px 0; + -webkit-appearance: none; + -webkit-tap-highlight-color: transparent; + } +} +@supports not (-webkit-appearance:none) { + input[type=range].slider { + cursor: pointer; + outline: none; + width: 100%; + box-shadow: none; + margin-left: 0; + margin-right: 0; + } +} +@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) { + @supports (-webkit-appearance: none) { + input[type=range].slider { + margin: 20px 0 20px 0 !important; + } + } +} +input[type=range].slider:disabled { + cursor: default; +} + +input[type=range].slider::-webkit-slider-runnable-track { + height: 5px; + background: var(--cs-control-default-bg); + border-radius: 3px; +} +input[type=range].slider:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +input[type=range].slider::-webkit-slider-thumb { + border: var(--border-intensive-2px); + height: 18px; + width: 18px; + border-radius: 25px; + background: var(--cs-thumb-default-bg); + -webkit-appearance: none; + margin-top: -7px; +} +input[type=range].slider:disabled::-webkit-slider-thumb { + cursor: default; + border: var(--border-default-2px); + background: var(--cs-thumb-disabled-bg); +} + +input[type=range].slider::-moz-range-track { + height: 5px; + background: var(--cs-control-default-bg); + border-radius: 3px; +} +input[type=range].slider:disabled::-moz-range-track { + cursor: default; +} + +input[type=range].slider::-moz-range-thumb { + border: var(--border-intensive-2px); + height: 18px; + width: 18px; + border-radius: 25px; + background: var(--cs-thumb-default-bg); +} +input[type=range].slider:disabled::-moz-range-thumb { + cursor: default; + border: var(--border-default-2px); + background: var(--cs-thumb-disabled-bg); +} diff --git a/web/share/css/switches.css b/web/share/css/switches.css new file mode 100644 index 00000000..65e187f9 --- /dev/null +++ b/web/share/css/switches.css @@ -0,0 +1,76 @@ +div.switch-box { + display: inline-block; + vertical-align: middle; + position: relative; + width: 50px; + -webkit-user-select: none; + -moz-user-select: none; +} + +div.switch-box input[type=checkbox].switch-checkbox { + display: none; +} + +div.switch-box label.switch-label { + display: block; + overflow: hidden; + cursor: pointer; + border: none; + border-radius: 15px; +} + +div.switch-box label.switch-label span.switch-inner { + display: block; + width: 200%; + margin-left: -100%; +} + +div.switch-box label.switch-label span.switch-inner:before, span.switch-inner:after { + display: block; + float: left; + width: 50%; + height: 20px; + padding: 0; + line-height: 22px; + font-size: 10px; + font-family: sans-serif !important; + font-weight: bold; + box-sizing: border-box; +} + +div.switch-box label.switch-label span.switch-inner:before { + content: "ON"; + padding-left: 5px; + background-color: var(--cs-control-default-bg); + color: var(--cs-control-default-fg); + text-align: left; +} + +div.switch-box label.switch-label span.switch-inner:after { + content: "OFF"; + padding-right: 5px; + background-color: var(--cs-control-default-bg); + color: var(--cs-control-disabled-fg); + text-align: right; +} + +div.switch-box label.switch-label span.switch { + display: block; + width: 15px; + margin: 0px; + background: var(--cs-thumb-default-bg); + position: absolute; + top: 0; + bottom: 0; + right: 31px; + border: var(--border-intensive-2px); + border-radius: 15px; +} + +div.switch-box input[type=checkbox].switch-checkbox:checked + label.switch-label span.switch-inner { + margin-left: 0; +} + +div.switch-box input[type=checkbox].switch-checkbox:checked + label.switch-label span.switch { + right: 0px; +} diff --git a/web/share/css/vars.css b/web/share/css/vars.css new file mode 100644 index 00000000..57e71c0f --- /dev/null +++ b/web/share/css/vars.css @@ -0,0 +1,63 @@ +:root { + --cs-page-default-bg: #36393f; + --cs-page-default-fg: #c3c3c3; + --cs-page-obscure-fg: #6c7481; + + --cs-control-default-bg: #36393f; + --cs-control-default-fg: #c3c3c3; + --cs-control-intensive-fg: white; + --cs-control-hovered-bg: #17191d; + --cs-control-hovered-fg: white; + --cs-control-pressed-fg: #6c7481; + --cs-control-disabled-fg: #6c7481; + + --cs-menu-default-bg: #202225; + --cs-menu-default-fg: #c3c3c3; + --cs-menu-hovered-bg: #1a1c1f; + --cs-menu-pressed-bg: #171717; + + --cs-window-default-bg: #484b51; + --cs-window-default-fg: #c3c3c3; + --cs-window-header-default-fg: #aaaaaa; + --cs-window-header-grabbed-bg: #436a8a; + --cs-window-header-grabbed-fg: white; + --cs-window-closer-default-fg: #6c7481; + + --cs-code-default-bg: #17191d; + --cs-code-default-fg: #aaaaaa; + --cs-code-comment-fg: #6c7481; + + --cs-scroll-default-bg: #6c7481; + --cs-thumb-default-bg: #436a8a; + --cs-thumb-disabled-bg: #202225; + + --cs-progress-default-bg: #171717; + --cs-progress-default-fg: white; + --cs-progress-bar-bg: #436a8a; + + --cs-key-default-bg: #3b3e43; + --cs-key-default-fg: #c3c3c3; + --cs-key-hovered-bg: #202225; + --cs-key-hovered-fg: white; + --cs-key-pressed-bg: #17191d; + --cs-key-pressed-fg: #6c7481; + --cs-key-holded-bg: #436a8a; + + --shadow-micro: 1px 2px 4px 0 rgba(0, 0, 0, 0.4); + --shadow-small: 0 2px 4px 0 rgba(0, 0, 0, 0.2); + --shadow-big: 0 8px 16px 0 rgba(0, 0, 0, 0.4); + --shadow-menu-pressed: 0 5px 0 #5b90bb inset; + + --border-default-thin: thin solid #36393f; + --border-default-2px: 2px solid #36393f; + --border-menu-thin: thin solid black; + --border-control-thin: thin solid #17191d; + --border-window-thin: thin solid #17191d; + --border-key-thin: thin solid #202225; + --border-intensive-2px: 2px solid #5b90bb; + --border-intensive-thin: thin solid #5b90bb; + + --border-menu-item-content-default-2px: 2px solid black; + --border-menu-item-content-active-2px: 2px solid #5b90bb; + --border-menu-item-content-top-thin: thin solid #17191d; +} diff --git a/web/share/css/windows.css b/web/share/css/windows.css new file mode 100644 index 00000000..32628e55 --- /dev/null +++ b/web/share/css/windows.css @@ -0,0 +1,74 @@ +div.window { + visibility: hidden; + outline: none; + overflow: hidden; + position: fixed; + border: var(--border-window-thin); + border-radius: 8px; + box-sizing: border-box; + box-shadow: var(--shadow-big); + white-space: nowrap; + color: var(--cs-window-default-fg); + background-color: var(--cs-window-default-bg); + padding: 30px 9px 9px 9px; +} +div.window-active { + border: var(--border-intensive-2px) !important; +} + +div.window div.window-header { + overflow: hidden; + top: 0; + left: 0; + position: absolute; + width: 100%; + padding: 0; + height: 20px; + font-size: 0.8em; + color: var(--cs-window-header-default-fg); + border-bottom: var(--border-default-thin); +} + +div.window div.window-header div.window-grab { + overflow: hidden; + top: 0; + left: 0; + position: absolute; + width: 100%; + height: 20px; + cursor: move; + padding: 3px 0 2px 20px; +} + +div.window div.window-header-grabbed { + color: var(--cs-window-header-grabbed-fg); + background-color: var(--cs-window-header-grabbed-bg); + border-bottom: var(--border-intensive-thin); +} + +div.window div.window-header button.window-button-close { + position: absolute; + top: -2px; + right: -6px; + width: 44px; + height: 24px; + padding-left: 0; + color: var(--cs-window-closer-default-fg); + display: inline-block; +} + +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { + /* iPad */ + div.window { + padding-top: 45px !important; + } + div.window div.window-header { + height: 35px !important; + } + div.window div.window-header div.window-grab { + height: 35px !important; + } + div.window div.window-header button.window-button-close { + height: 40px !important; + } +} |