UNPKG

spin-wheel

Version:

An easy to use, themeable component for randomising choices and prizes.

153 lines (128 loc) 2.71 kB
* { margin: 0; padding: 0; font-family: 'Lucida Grande', sans-serif; -webkit-tap-highlight-color: transparent; user-select: none; /* Prevent selecting ui text when dragging */ } html, body { height: 100%; } body { /* Prevent pull-down-to-refresh gesture */ overscroll-behavior-y: contain; /* Prevent iOS rubber-band effect */ position: fixed; width: 100%; /* Prevent browser from handling touch events */ touch-action: none; display: grid; grid-template-columns: 1fr min-content; justify-items: stretch; align-items: stretch; font-size: 0.95em; --padding: 12px; } .frame-center { position: relative; display: grid; } .wheel-wrapper { /* Hide UI during page load */ visibility: hidden; overflow: hidden; /* Prevent grid blowout */ } .frame-right { background-color: #f0f0ee; display: flex; flex-direction: column; gap: var(--padding); overflow-y: scroll; border-left: solid 1px #5c5c5c; padding-bottom: 15px; } button.btn, label.btn { padding: 4px 8px; margin: 0px; font-family: inherit; font-size: inherit; display: inline-block; cursor: pointer; background-color: white; border: solid 1px #767676; border-radius: 4px; align-self: flex-start; } .input-group { display: flex; flex-direction: column; gap: calc(var(--padding) * 0.7); padding: 0 var(--padding); border-top: solid 1px #5c5c5c; } .input-group h2 { font-size: 1.1em; display: flex; font-family: monospace; /* background-color: #dfdfdb; */ padding: var(--padding) 0px 0px; font-weight: normal; white-space: nowrap; } .input-group h2 span:first-of-type { display: inline-block; font-family: inherit; user-select: text; } .input-group h2 span:last-of-type { margin-left:7px; font-family: inherit; width: 40px; /* fixed width so the panel can be auto sized */ user-select: text; } .input-group input[type="range"] { cursor: pointer; } .input-group input[type="checkbox"] { height: 22px; width: 22px; cursor: pointer; } .input-group input[type="file"] { display: none; } .input-group input[type="input"] { padding: 4px 8px; font-family: inherit; background-color: white; border: solid 1px #767676; border-radius: 4px; } .input-group button { margin-top: var(--padding); } select { padding: 2px; } label { margin-right: 5px; } .toolbar { position: absolute; top: 0; right: 0; left: 0; padding: var(--padding); text-align: right; } .btn.clear { display: none; } /*************************************************/ /*************************************************/ @media only screen and (max-width: 450px) { body { font-size: .85em; --padding: 10px; } }