initial import

This commit is contained in:
Nicolas Delaforge
2021-07-08 10:12:12 +02:00
parent 689b01c11e
commit 9f907c9417
74 changed files with 2908 additions and 0 deletions

377
styles/bol.less Normal file
View File

@@ -0,0 +1,377 @@
@import "flex";
@import "forms";
@import "typography";
@logo-width: 190px;
@logo-height: 115px;
@deco-width: 330px;
@deco-height: 62px;
@attributes-width: 64px;
@attributes-height: 64px;
@footer-height: 30px;
@sidebar-width: 250px;
@colorOlive: #4b4a44;
.bol {
&.sheet {
&.actor {
.window-content {
background-color: white;
background-image: url("/systems/bol/ui/logo.webp");
background-repeat: no-repeat;
background-size: @logo-width @logo-height;
height: 100%;
padding: 5px;
overflow-y: hidden;
form {
height: 100%;
.sheet-header {
//background-color: red;
background-image: url("/systems/bol/ui/banner.webp");
background-repeat: no-repeat;
background-size: @deco-width @deco-height;
background-position-y: -15px;
background-position-x: right;
//padding-left: @logo-width;
//padding-top: @deco-height;
height: @logo-height;
min-height: @logo-height;
max-height: @logo-height;
overflow: hidden;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items:flex-end;
padding-bottom: 10px;
.header-field {
//background-color: pink;
//border:1px solid black;
.header-field-group {
overflow: hidden;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items:baseline;
.header-field-label {
margin-right: 5px;
}
.charname,
.header-field-value{
color: @colorOlive;
font-family: 'Contrail One', cursive;
font-size: 1.5rem;
background-color: #EEE;
}
//.charname {
////color: @colorOlive;
//font-family: Wolfsbane2Expanded;
//height: 50px;
//padding: 0px;
//margin: -10px 0 10px 0;
//color: @colorOlive;
//font-family: Wolfsbane2Expanded;
//font-family: 'Contrail One', cursive;
//font-size: 1.5rem;
//background-color: #EEE;
//width: 100%;
//height: 100%;
//margin: 0;
//}
}
}
}
.sidebar {
//background-color: green;
//background-color: red;
padding-top: @logo-height;
min-width: @sidebar-width;
width: @sidebar-width;
max-width: @sidebar-width;
.profile-img {
cursor: pointer;
border: none;
background-color: #EEE;
height: auto;
width: calc(@sidebar-width - 10px);
min-width: calc(@sidebar-width - 10px);
max-width: calc(@sidebar-width - 10px);
margin-right: 10px;
}
}
.main {
//background-color: blue;
//background-image: url("/systems/bol/ui/border.webp");
//background-repeat: no-repeat;
////background-size: 40px 40px;
//background-position: top left;
/* Sheet Tabs */
.tabs {
flex: 0 0 40px;
background-color: black;
.item {
line-height: 40px;
font-weight: bold;
font-family: CCMeanwhile;
color: white;
font-size: 14px;
}
.item.active {
text-decoration: underline;
text-shadow: none;
}
}
.sheet-body {
overflow: hidden;
.tab {
height: 100%;
overflow-y: auto;
/* Items List */
.items-list {
list-style: none;
margin: 7px 0;
padding: 0;
overflow-y: auto;
.item {
min-height: 30px;
line-height: 24px;
padding: 3px 0 3px 3px;
border-bottom: 1px solid #BBB;
align-items: stretch;
img {
flex: 0 0 30px;
margin-right: 5px;
}
.item-image {
margin: 0;
}
.item-name {
margin: 0;
}
.item-controls {
flex: 0 0 36px;
}
.item-buttons {
display: flex;
flex-wrap: wrap;
flex-direction: row;
align-items: center;
flex: 2;
justify-content: flex-start;
}
.item-button {
line-height: 1;
font-size: 11px;
flex: none;
width: auto;
}
}
.item-header {
//background-color: black;
//color: white;
font-family: CCMeanwhile;
//font-size: 1.2rem;
//.item-image {
// font-family: Wolfsbane2;
// font-size: 1.5rem;
//}
}
}
.attribute {
&.vigor {
background-image: url("/systems/bol/ui/attributes/vigor.webp");
background-repeat: no-repeat;
background-position: center center;
background-size: @attributes-width @attributes-height;
}
&.agility {
background-image: url("/systems/bol/ui/attributes/agility.webp");
background-repeat: no-repeat;
background-position: center center;
background-size: @attributes-width @attributes-height;
}
&.mind {
background-image: url("/systems/bol/ui/attributes/mind.webp");
background-repeat: no-repeat;
background-position: center center;
background-size: @attributes-width @attributes-height;
}
&.appeal {
background-image: url("/systems/bol/ui/attributes/appeal.webp");
background-repeat: no-repeat;
background-position: center center;
background-size: @attributes-width @attributes-height;
}
.stat-value {
margin-top:-10px;
}
}
&.description {
.editor, .editor-content {
background-color: red;
height: 100%;
}
}
}
}
}
}
}
.stat-value {
font-size: 1.5rem;
font-weight: bold;
color: darkred;
}
.stat-roll {
font-size: 1.5rem;
}
.header-field-label,
.stat-label {
font-weight: bold;
font-family: Wolfsbane2Expanded;
font-size: 2rem;
font-variant: small-caps;
}
.rounded {
//border : 2px solid black;
border-radius: 100px;
width: 4rem;
height: 4rem;
}
.rounded-border {
border: 3px solid @colorOlive;
border-radius: 100px;
width: 4rem;
height: 4rem;
}
.half-rounded {
border-radius: 100px 100px 0px 0px;
width: 4rem;
height: 4rem;
}
.half-rounded-border {
border-radius: 100px 100px 0px 0px;
border: 3px solid @colorOlive;
width: 4rem;
height: 4rem;
}
.bol-footer {
height: @deco-height;
max-height: @deco-height;
min-height: @deco-height;
.footer-left {
img {
border: none;
height: @deco-height;
max-height: @deco-height;
min-height: @deco-height;
transform: scaleX(-1);
}
}
.footer-center {
margin-top: 20px;
margin-left: calc(-@deco-width * 2);
margin-right: calc(-@deco-width * 2);
height: @footer-height;
max-height: @footer-height;
min-height: @footer-height;
background-color: black;
}
.footer-right {
text-align: right;
img {
border: none;
height: @deco-height;
max-height: @deco-height;
min-height: @deco-height;
}
}
}
min-width: 760px;
min-height: 700px;
max-height: 700px;
}
&.item {
.window-content {
background-color: white;
background-image: url("/systems/bol/ui/logo.webp");
background-repeat: no-repeat;
background-size: @logo-width @logo-height;
height: 100%;
padding: 5px;
overflow-y: hidden;
form {
height: 100%;
}
}
min-width: 460px;
min-height: 400px;
}
}
}
.editor, .editor-content {
height: 100%;
}
.rollable {
color: @colorOlive;
cursor: pointer;
}
.malus {
color: darkred;
}
.bonus {
color: darkgreen;
}

94
styles/flex.less Normal file
View File

@@ -0,0 +1,94 @@
/* ----------------------------------------- */
/* Flexbox */
/* ----------------------------------------- */
.flexrow {
display: flex;
flex-flow: row wrap;
justify-content: flex-start;
> * {
flex: 1;
}
.flex1 { flex: 1; }
.flex2 { flex: 2; }
.flex3 { flex: 3; }
.flex4 { flex: 4; }
.flex5 { flex: 5; }
.flex6 { flex: 6; }
.flex7 { flex: 7; }
.flex8 { flex: 8; }
.flex9 { flex: 9; }
}
.flexcol {
display: flex;
flex-flow: column nowrap;
//flex-direction: column;
//flex-wrap: nowrap;
> * {
flex: 1;
}
.flex1 { flex: 1; }
.flex2 { flex: 2; }
.flex3 { flex: 3; }
.flex4 { flex: 4; }
}
.flex-group-center,
.flex-group-left,
.flex-group-right {
justify-content: center;
align-items: center;
text-align: center;
padding: 5px;
//border: 1px solid #999;
}
.flex-group-left {
justify-content: flex-start;
text-align: left;
}
.flex-group-right {
justify-content: flex-end;
text-align: right;
}
.center {
text-align: center;
display: flex;
justify-content: center;
align-items: center;
}
.left {
text-align: left;
display: flex;
align-items: center;
justify-content: flex-start;
}
.right {
justify-content: flex-end;
text-align: right;
display: flex;
align-items: center;
}
.flex-center {
align-items: center;
justify-content: center;
text-align: center;
}
.flex-between {
justify-content: space-between;
}
.no-wrap {
flex-wrap: nowrap !important;
}

203
styles/forms.less Normal file
View File

@@ -0,0 +1,203 @@
.bol {
input[readonly="true"] {
border: none;
color: dimgray;
cursor: not-allowed;
width: 100%;
vertical-align: middle;
background: transparent;
}
/*
Copied from dnd5e
*/
input[type="text"],
input[type="number"],
input[type="text"]:hover,
input[type="number"]:hover,
input[type="text"]:focus,
input[type="number"]:focus {
//border: 1px solid #111;
//box-shadow: 0 0 8px #26641c;
border-radius: 0;
border: none;
box-shadow: none;
}
input:disabled,
select:disabled,
textarea:disabled {
//color: $colorOlive;
}
input:disabled:hover,
select:disabled:hover,
textarea:disabled:hover,
input:disabled:focus,
select:disabled:focus,
textarea:disabled:focus {
box-shadow: none !important;
border: 1px solid transparent !important;
outline: none !important;
}
button {
background: rgba(0, 0, 0, 0.1);
//border: $borderGroove;
}
select {
//-webkit-appearance: none;
//-moz-appearance: none;
//color: $c-black;
//color: $colorDark;
//font-family: $font-primary;
font-size: 14px;
text-align: center;
text-align-last: center;
-moz-text-align-last: center;
width: 100%;
border: none;
border-radius: 0;
// height: calc(100% - 2px);
// //border: 1px solid $colorTan;
// background: rgba(0, 0, 0, 0.05);
// border-radius: 0;
// border: none;
// box-shadow: none;
// color: $colorDark;
}
label.checkbox {
flex: auto;
padding: 0;
margin: 0;
height: 22px;
line-height: 22px;
font-size: 11px;
> input[type="checkbox"] {
width: 16px;
height: 16px;
margin: 0 2px 0 0;
position: relative;
top: 4px;
}
&.right > input[type="checkbox"] {
margin: 0 0 0 2px;
}
}
/* Form Groups */
.form-group {
label {
flex: 2;
//color: $colorOlive;
font-weight: bold;
}
.form-fields {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
> * {
flex: 1;
margin: 0 3px 0 0;
&:last-child {
margin-right: 0;
}
.flex1 {
flex: 1;
}
.flex2 {
flex: 2;
}
.flex3 {
flex: 3;
}
.flex4 {
flex: 4;
}
}
label {
flex: 0 0 100%;
margin: 0;
&.checkbox {
flex: auto;
text-align: left;
}
}
}
// Stacked Groups
&.stacked {
label {
flex: 0 0 100%;
margin: 0;
&.checkbox {
flex: auto;
text-align: left;
}
}
}
}
.form-header {
margin: 0 0 0.25em 0;
padding: 2px 0;
//border-top: $borderGroove;
//border-bottom: $borderGroove;
//font-family: $font-tertiary;
font-size: 20px;
font-weight: 700;
}
.tag {
display: inline-block;
margin: 0 2px 0 0;
padding: 0 3px;
font-size: 10px;
line-height: 16px;
border: 1px solid #999;
border-radius: 3px;
background: rgba(0, 0, 0, 0.05);
}
/*
Placeholders
*/
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
color: lightgray;
opacity: 1; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: lightgray;;
}
::-ms-input-placeholder { /* Microsoft Edge */
color: lightgray;;
}
input::placeholder {
color: lightgray;
}
}

42
styles/typography.less Normal file
View File

@@ -0,0 +1,42 @@
/* ----------------------------------------- */
/* LOCAL FONTS */
/* ----------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Contrail+One&display=swap');
//@font-face {
// font-family: "ImaginaryForces";
// src: url('../fonts/iforces.ttf');
//}
//@font-face {
// font-family: "OPTIFantastiK";
// src: url('../fonts/OPTIFantastiK.otf');
//}
@font-face {
font-family: "CCMeanwhile";
src: url('../fonts/ccmeanwhile-regular.ttf');
}
@font-face {
font-family: "Wolfsbane2";
src: url('../fonts/wolfsbane2.ttf');
}
@font-face {
font-family: "Wolfsbane2Condensed";
src: url('../fonts/wolfsbane2cond.ttf');
}
@font-face {
font-family: "Wolfsbane2Expanded";
src: url('../fonts/wolfsbane2expand.ttf');
}
/* ----------------------------------------- */
/* TEXT STYLES */
/* ----------------------------------------- */
@font-primary: 'Signika', sans-serif;
@font-secondary: 'MyriadPro', sans-serif;
@font-tertiary: "Modesto Condensed", "Palatino Linotype", serif;
@font-charname: "PermanentMarker", cursive;
@font-handwrite: "ChN1Regular", cursive;