@scidian/osui
Version:
Lightweight JavaScript UI library.
192 lines (160 loc) • 3.95 kB
CSS
/********** Absolute Box **********/
.osui-absolute-box {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
padding: 0;
margin: 0;
display: flex;
align-items: center;
vertical-align: middle;
justify-content: center;
text-align: center;
}
/********** Asset Box / Asset Box Icon Only **********/
.osui-asset-box {
position: relative;
display: flex;
cursor: pointer;
border: var(--border-small) solid transparent;
border-radius: var(--radius-large);
margin: var(--pad-x-small);
vertical-align: middle;
outline: none; /* for macos */
}
.osui-asset-box-selectable:hover {
background-color: rgba(var(--highlight), 0.15);
border: var(--border-small) solid rgba(var(--shadow), 0.5);
border-radius: var(--radius-large);
}
.osui-asset-box-selectable:active, .osui-asset-box-selectable:focus {
background-color: rgba(var(--shadow), 1.0);
border: var(--border-small) solid rgba(var(--icon-light), 1);
border-radius: 0;
}
.osui-asset-box-selectable:focus > *, .osui-asset-box-selectable:active > * {
filter: brightness(100%);
}
.osui-asset-box-selectable:hover > * {
filter: brightness(150%);
}
.osui-asset-box-mini {
/* Minimum Icon Size: */
min-width: var(--asset-size);
min-height: var(--asset-size);
}
.osui-asset-box-row {
width: 100%;
min-height: 2em;
padding: var(--pad-x-small);
}
.osui-asset-box-icon {
position: relative;
min-width: var(--row-height);
height: 100%;
}
.osui-asset-box-text {
position: relative;
width: calc(100% - var(--row-height));
margin: auto;
margin-left: 0.25em;
white-space: nowrap;
}
.osui-asset-box-combo {
overflow: hidden;
position: relative;
}
.osui-asset-box-combo:hover {
overflow: visible;
}
.osui-asset-box-label {
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%) scale(75%);
}
/********** Docker Left / Docker Right **********/
.osui-docker-corner {
position: absolute;
display: flex;
flex-direction: column;
pointer-events: none;
margin: auto;
z-index: 1; /* Docker Corner */
background: transparent;
}
.osui-docker-top-left {
/* background-color: rgba(255, 0, 0, 0.5); */
top: calc(var(--button-size) + (var(--pad-small) * 2));
bottom: 0;
left: 0;
}
.osui-docker-top-right {
/* background-color: rgba(0, 255, 0, 0.5); */
top: calc(var(--button-size) + (var(--pad-small) * 2));
bottom: 0;
right: 0;
}
.osui-docker-bottom-left {
/* background-color: rgba(0, 0, 255, 0.5); */
top: calc(var(--button-size) + (var(--pad-small) * 2));
bottom: 0;
left: 0;
justify-content: end;
}
.osui-docker-bottom-right {
/* background-color: rgba(128, 0, 128, 0.5); */
top: calc(var(--button-size) + (var(--pad-small) * 2));
bottom: 0;
right: 0;
justify-content: end;
}
/********** Flex Box **********/
.osui-flex-box {
display: flex;
align-items: center;
vertical-align: middle;
}
/********** Row **********/
.osui-row {
padding: var(--pad-micro) var(--border-small);
margin: 0;
position: relative;
display: flex;
align-items: center;
justify-content: left;
vertical-align: middle;
}
/********** Shadow Box **********/
.osui-shadow-box { /* affects Toolbar icons! */
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 80%;
height: 80%;
margin: 0;
padding: 0;
overflow: visible;
}
.osui-shadow-box.osui-full-size {
width: 100%;
height: 100%;
}
.osui-shadow-box.osui-drop-shadow > * {
filter: var(--drop-shadow);
}
.osui-shadow-box.osui-even-shadow > * {
filter: var(--drop-shadow);
}
/********** Vector Box **********/
.osui-vector-box {
position: absolute;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: visible;
}