Tweak the template/css structure
This commit is contained in:
parent
1afffb0a73
commit
56fe115407
24 changed files with 10 additions and 7 deletions
3
templates/Apps/CryptApp/main.hbs
Normal file
3
templates/Apps/CryptApp/main.hbs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<div>
|
||||
Hello
|
||||
</div>
|
||||
109
templates/Apps/HeroSkillsCardV1/content.hbs
Normal file
109
templates/Apps/HeroSkillsCardV1/content.hbs
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
<div class="HeroSkillsCardV1">
|
||||
<div class="label col-header list-header gait-skills-header">
|
||||
<span>{{ rc-i18n "RipCrypt.Apps.grit-skills" }}</span>
|
||||
<span class="small">{{ rc-i18n "RipCrypt.common.rank" }}</span>
|
||||
</div>
|
||||
<ol class="num-before skill-list even grit-skills">
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
</ol>
|
||||
|
||||
<div class="label col-header list-header gait-skills-header">
|
||||
<span>{{ rc-i18n "RipCrypt.Apps.gait-skills" }}</span>
|
||||
<span class="small">{{ rc-i18n "RipCrypt.common.rank" }}</span>
|
||||
</div>
|
||||
<ol class="num-before skill-list even gait-skills">
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
</ol>
|
||||
|
||||
<div class="label col-header list-header grip-skills-header">
|
||||
<span>{{ rc-i18n "RipCrypt.Apps.grip-skills" }}</span>
|
||||
<span class="small">{{ rc-i18n "RipCrypt.common.rank" }}</span>
|
||||
</div>
|
||||
<ol class="num-before skill-list odd grip-skills">
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
</ol>
|
||||
|
||||
<div class="label col-header list-header glim-skills-header">
|
||||
<span>{{ rc-i18n "RipCrypt.Apps.glim-skills" }}</span>
|
||||
<span class="small">{{ rc-i18n "RipCrypt.common.rank" }}</span>
|
||||
</div>
|
||||
<ol class="num-before skill-list odd glim-skills">
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
</ol>
|
||||
|
||||
<div class="label col-header list-header">
|
||||
<span>{{ rc-i18n "RipCrypt.common.gear" }}</span>
|
||||
<span class="small">{{ rc-i18n "RipCrypt.common.slot" }}</span>
|
||||
</div>
|
||||
<ol class="num-after gear-list">
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
</ol>
|
||||
|
||||
<div class="currencies">
|
||||
<div class="currency half-pill">
|
||||
<{{{ifThen meta.editable "label" "div" }}}
|
||||
for="{{meta.idp}}-gold"
|
||||
class="label"
|
||||
>
|
||||
{{ rc-i18n "RipCrypt.common.currency.gold"}}
|
||||
</{{{ifThen meta.editable "label" "div" }}}>
|
||||
<input
|
||||
type="number"
|
||||
id="{{meta.idp}}-gold"
|
||||
class="input"
|
||||
value="0"
|
||||
>
|
||||
</div>
|
||||
<div class="currency half-pill">
|
||||
<{{{ifThen meta.editable "label" "div" }}}
|
||||
for="{{meta.idp}}-silver"
|
||||
class="label"
|
||||
>
|
||||
{{ rc-i18n "RipCrypt.common.currency.silver"}}
|
||||
</{{{ifThen meta.editable "label" "div" }}}>
|
||||
<input
|
||||
type="number"
|
||||
id="{{meta.idp}}-silver"
|
||||
class="input"
|
||||
value="0"
|
||||
>
|
||||
</div>
|
||||
<div class="currency half-pill">
|
||||
<{{{ifThen meta.editable "label" "div" }}}
|
||||
for="{{meta.idp}}-copper"
|
||||
class="label"
|
||||
>
|
||||
{{ rc-i18n "RipCrypt.common.currency.copper"}}
|
||||
</{{{ifThen meta.editable "label" "div" }}}>
|
||||
<input
|
||||
type="number"
|
||||
id="{{meta.idp}}-copper"
|
||||
class="input"
|
||||
value="0"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
121
templates/Apps/HeroSkillsCardV1/style.css
Normal file
121
templates/Apps/HeroSkillsCardV1/style.css
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
.ripcrypt .HeroSkillsCardV1 {
|
||||
|
||||
/* Foundry Variable Tweaks */
|
||||
--input-height: 1rem;
|
||||
--col-gap: 8px;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
grid-template-rows: repeat(13, minmax(0, 1fr));
|
||||
column-gap: var(--col-gap);
|
||||
|
||||
background: var(--base-background);
|
||||
color: var(--base-text);
|
||||
|
||||
.col-header {
|
||||
background: var(--section-header-background);
|
||||
color: var(--section-header-text);
|
||||
}
|
||||
.row-alt {
|
||||
background: var(--alt-row-background);
|
||||
color: var(--alt-row-text);
|
||||
}
|
||||
|
||||
label, .label {
|
||||
box-sizing: border-box;
|
||||
padding: 2px 4px;
|
||||
text-transform: uppercase;
|
||||
font-size: var(--font-size-14);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.list-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.skill-list {
|
||||
display: grid;
|
||||
grid-template-rows: subgrid;
|
||||
|
||||
& > li {
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
&.even > :nth-child(even),
|
||||
&.odd > :nth-child(odd) {
|
||||
background: var(--alt-row-background);
|
||||
color: var(--alt-row-text);
|
||||
}
|
||||
}
|
||||
|
||||
.grit-skills {
|
||||
grid-column: 1 / span 1;
|
||||
grid-row: 2 / span 4;
|
||||
}
|
||||
|
||||
.gait-skills {
|
||||
grid-column: 2 / span 1;
|
||||
grid-row: 2 / span 4;
|
||||
}
|
||||
|
||||
.grip-skills-header {
|
||||
grid-column: 1 / span 1;
|
||||
grid-row: 6 / span 1;
|
||||
}
|
||||
.grip-skills {
|
||||
grid-column: 1 / span 1;
|
||||
grid-row: 7 / span 4;
|
||||
}
|
||||
|
||||
.glim-skills-header {
|
||||
grid-column: 2 / span 1;
|
||||
grid-row: 6 / span 1;
|
||||
}
|
||||
.glim-skills {
|
||||
grid-column: 2 / span 1;
|
||||
grid-row: 7 / span 4;
|
||||
}
|
||||
|
||||
.gear-list {
|
||||
grid-row: span 12;
|
||||
display: grid;
|
||||
grid-template-rows: subgrid;
|
||||
list-style-type: none;
|
||||
|
||||
> :nth-child(even) {
|
||||
background: var(--alt-row-background);
|
||||
color: var(--alt-row-text);
|
||||
}
|
||||
}
|
||||
|
||||
.currencies {
|
||||
grid-column: 1 / span 2;
|
||||
grid-row: 13 / span 1;
|
||||
display: grid;
|
||||
column-gap: var(--col-gap);
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
|
||||
.currency {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
|
||||
align-items: center;
|
||||
background: var(--section-header-background);
|
||||
color: var(--section-header-text);
|
||||
--input-background: var(--base-background);
|
||||
--input-text: var(--base-text);
|
||||
|
||||
.input {
|
||||
margin: 2px;
|
||||
border-radius: 999px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.half-pill {
|
||||
border-radius: 0 999px 999px 0;
|
||||
}
|
||||
}
|
||||
266
templates/Apps/HeroSummaryCardV1/content.hbs
Normal file
266
templates/Apps/HeroSummaryCardV1/content.hbs
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
<div class="HeroSummaryCardV1">
|
||||
{{!-- * Header --}}
|
||||
<div class="header">
|
||||
<div class="image">Logo Image</div>
|
||||
<label class="row-alt" for="{{meta.idp}}-name">
|
||||
Hero
|
||||
</label>
|
||||
<div>
|
||||
Player
|
||||
</div>
|
||||
</div>
|
||||
<input
|
||||
id="{{meta.idp}}-name"
|
||||
type="text"
|
||||
class="hero_name row-alt"
|
||||
value="{{actor.name}}"
|
||||
name="name"
|
||||
>
|
||||
|
||||
{{!-- * Armour --}}
|
||||
<div class="armour"></div>
|
||||
|
||||
{{!-- * Fate & Advancement --}}
|
||||
<div class="fate">
|
||||
<label for="{{meta.idp}}-fate-path" class="col-header">Fate</label>
|
||||
<select
|
||||
class="row-alt"
|
||||
id="{{meta.idp}}-fate-path"
|
||||
name="system.fate"
|
||||
>
|
||||
{{rc-options fate.selected fate.options localize=true}}
|
||||
</select>
|
||||
</div>
|
||||
{{#if meta.editable}}
|
||||
<label
|
||||
for="{{meta.idp}}-glory"
|
||||
class="glory-label col-header"
|
||||
>
|
||||
{{ rc-i18n "RipCrypt.common.glory" }}
|
||||
</label>
|
||||
<input
|
||||
id="{{meta.idp}}-glory"
|
||||
type="number"
|
||||
class="glory row-alt"
|
||||
name="system.level.glory"
|
||||
value="{{level.glory}}"
|
||||
min="0"
|
||||
>
|
||||
{{else}}
|
||||
<div
|
||||
id="{{meta.idp}}-glory-label"
|
||||
class="glory-label label col-header"
|
||||
>
|
||||
{{ rc-i18n "RipCrypt.common.glory" }}
|
||||
</div>
|
||||
<div
|
||||
class="glory row-alt input"
|
||||
aria-describedby="{{meta.idp}}-glory-label"
|
||||
>
|
||||
{{ level.glory }}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if meta.editable}}
|
||||
<label
|
||||
for="{{meta.idp}}-step"
|
||||
class="step-label col-header"
|
||||
>
|
||||
{{ rc-i18n "RipCrypt.common.step" }}
|
||||
</label>
|
||||
<input
|
||||
id="{{meta.idp}}-step"
|
||||
type="number"
|
||||
class="step row-alt"
|
||||
name="system.level.step"
|
||||
value="{{level.step}}"
|
||||
min="1"
|
||||
max="3"
|
||||
>
|
||||
{{else}}
|
||||
<div
|
||||
id="{{meta.idp}}-step-label"
|
||||
class="step-label label col-header"
|
||||
>
|
||||
{{ rc-i18n "RipCrypt.common.step" }}
|
||||
</div>
|
||||
<div
|
||||
class="step row-alt input"
|
||||
aria-describedby="{{meta.idp}}-step-label"
|
||||
>
|
||||
{{ level.step }}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<{{{ifThen meta.editable "label" "div"}}}
|
||||
id="{{meta.idp}}-rank-label"
|
||||
for="{{meta.idp}}-rank"
|
||||
class="rank-label label col-header"
|
||||
>
|
||||
{{ rc-i18n "RipCrypt.common.rank" }}
|
||||
</{{{ifThen meta.editable "label" "div"}}}>
|
||||
{{#if meta.editable}}
|
||||
<select
|
||||
id="{{meta.idp}}-rank"
|
||||
name="system.level.rank"
|
||||
class="rank row-alt"
|
||||
>
|
||||
{{ rc-options level.rank.selected level.rank.options }}
|
||||
</select>
|
||||
{{else}}
|
||||
<div
|
||||
aria-describedby="{{meta.idp}}-rank-label"
|
||||
class="rank row-alt input"
|
||||
>
|
||||
{{ level.rank.selected }}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{!-- * Weapons --}}
|
||||
<table class="weapons">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="label col-header">{{ rc-i18n "RipCrypt.common.weapon.plural" }}</th>
|
||||
<th class="label col-header">{{ rc-i18n "RipCrypt.Apps.traits-range" }}</th>
|
||||
<th class="label col-header">{{ rc-i18n "RipCrypt.common.wear" }}</th>
|
||||
<th class="label col-header">{{ rc-i18n "RipCrypt.common.damage" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each weapons as | slot |}}
|
||||
{{#if slot.empty}}
|
||||
<tr
|
||||
data-row="{{slot.index}}"
|
||||
class="{{slot.class}}"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<td>{{ rc-i18n "RipCrypt.common.empty" }}</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
{{else}}
|
||||
<tr data-row="{{slot.index}}" class="{{slot.class}}">
|
||||
<td>{{ slot.data.name }}</td>
|
||||
<td>
|
||||
{{#if slot.data.system.traitString}}
|
||||
<span class="traits">{{ slot.data.system.traitString }}</span>
|
||||
{{/if}}
|
||||
{{#if slot.data.system.rangeString}}
|
||||
<span class="range">{{ slot.data.system.rangeString }}</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{ slot.data.system.wear.value }} / {{ slot.data.system.wear.max }}
|
||||
</td>
|
||||
<td>
|
||||
{{ slot.data.system.damage }}
|
||||
</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{!-- * Abilities --}}
|
||||
<div class="abilities">
|
||||
{{!-- Actual Abilities --}}
|
||||
{{#each abilities as | ability |}}
|
||||
<div class="ability">
|
||||
<div class="compass">
|
||||
{{#unless ability.readonly}}
|
||||
<input
|
||||
type="number"
|
||||
id="{{@root.meta.idp}}-{{ability.id}}-input"
|
||||
class="value"
|
||||
value="{{ability.value}}"
|
||||
name="system.ability.{{ability.id}}"
|
||||
min=0
|
||||
>
|
||||
{{else}}
|
||||
<span>{{ability.value}}</span>
|
||||
{{/unless}}
|
||||
{{#if @root.meta.editable}}
|
||||
<button
|
||||
type="button"
|
||||
class="roll icon"
|
||||
data-action="roll"
|
||||
data-formula="{{ability.value}}d8rc4"
|
||||
data-flavor="{{ability.name}} Roll (Difficulty: 4)"
|
||||
>
|
||||
<rc-icon
|
||||
var:size="20px"
|
||||
var:fill="currentColor"
|
||||
name="icons/roll"
|
||||
></rc-icon>
|
||||
</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{#unless ability.readonly}}
|
||||
<label
|
||||
class="col-header"
|
||||
for="{{@root.meta.idp}}-{{ability.id}}-input"
|
||||
>
|
||||
{{ ability.name }}
|
||||
</label>
|
||||
{{else}}
|
||||
<div class="col-header label">
|
||||
{{ ability.name }}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{/each}}
|
||||
|
||||
{{!-- Health --}}
|
||||
<div class="ability">
|
||||
<div class="compass dual">
|
||||
{{#if meta.editable}}
|
||||
<input
|
||||
type="number"
|
||||
id="{{meta.idp}}-guts-value"
|
||||
class="value"
|
||||
name="system.guts.value"
|
||||
value="{{guts.value}}"
|
||||
min="0"
|
||||
>
|
||||
{{else}}
|
||||
<span
|
||||
class="value"
|
||||
aria-describedby="{{meta.idp}}-guts-value-label"
|
||||
{{!-- TODO: aria-label="{{ rc-i18n "RipCrypt.Apps.a11y.guts-value-readonly" }}" --}}
|
||||
>
|
||||
{{ guts.value }}
|
||||
</span>
|
||||
{{/if}}
|
||||
<span
|
||||
class="max"
|
||||
aria-hidden="true"
|
||||
{{!-- TODO: aria-label="{{ rc-i18n "RipCrypt.Apps.a11y.guts-max-readonly" }}" --}}
|
||||
>
|
||||
{{ guts.max }}
|
||||
</span>
|
||||
</div>
|
||||
{{#if meta.editable}}
|
||||
<label class="col-header" for="{{meta.idp}}-guts-value">
|
||||
{{ rc-i18n "RipCrypt.common.guts" }}
|
||||
</label>
|
||||
{{else}}
|
||||
<div class="col-header label" id="{{meta.idp}}-guts-value-label">
|
||||
{{ rc-i18n "RipCrypt.common.guts" }}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{!-- Move & Run --}}
|
||||
<div class="ability">
|
||||
<div class="compass dual">
|
||||
<span class="value">{{speed.move}}</span>
|
||||
<span class="max">{{speed.run}}</span>
|
||||
</div>
|
||||
<div aria-hidden="true" class="col-header label">
|
||||
{{rc-i18n "RipCrypt.Apps.move-run"}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- * Equipment --}}
|
||||
</div>
|
||||
188
templates/Apps/HeroSummaryCardV1/style.css
Normal file
188
templates/Apps/HeroSummaryCardV1/style.css
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
.ripcrypt .HeroSummaryCardV1 {
|
||||
|
||||
/* Foundry Variable Tweaks */
|
||||
--input-height: 1rem;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 1.25fr) minmax(0, 2.5fr);
|
||||
grid-template-rows: repeat(15, minmax(0, 1fr));
|
||||
column-gap: var(--col-gap);
|
||||
|
||||
background: var(--base-background);
|
||||
color: var(--base-text);
|
||||
|
||||
.col-header {
|
||||
background: var(--section-header-background);
|
||||
color: var(--section-header-text);
|
||||
}
|
||||
.row-alt {
|
||||
background: var(--alt-row-background);
|
||||
color: var(--alt-row-text);
|
||||
}
|
||||
|
||||
label, .label {
|
||||
box-sizing: border-box;
|
||||
padding: 2px 4px;
|
||||
text-transform: uppercase;
|
||||
font-size: var(--font-size-14);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.header {
|
||||
grid-row: span 2;
|
||||
grid-column: span 1;
|
||||
display: grid;
|
||||
grid-template-rows: subgrid;
|
||||
grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
|
||||
|
||||
.image {
|
||||
grid-row: span 2;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.hero_name {
|
||||
grid-column: span 3;
|
||||
margin-left: calc(var(--col-gap) * -1);
|
||||
padding-left: var(--col-gap);
|
||||
}
|
||||
|
||||
.glory-label {
|
||||
grid-column: 2 / span 1;
|
||||
grid-row: 4 / span 1;
|
||||
}
|
||||
.glory {
|
||||
grid-column: 2 / span 1;
|
||||
grid-row: 5 / span 1;
|
||||
}
|
||||
|
||||
.step-label {
|
||||
grid-column: 3 / span 1;
|
||||
grid-row: 4 / span 1;
|
||||
}
|
||||
.step {
|
||||
grid-column: 3 / span 1;
|
||||
grid-row: 5 / span 1;
|
||||
}
|
||||
|
||||
.rank-label {
|
||||
grid-column: 4 / span 1;
|
||||
grid-row: 4 / span 1;
|
||||
}
|
||||
.rank {
|
||||
grid-column: 4 / span 1;
|
||||
grid-row: 5 / span 1;
|
||||
}
|
||||
|
||||
.fate {
|
||||
grid-column: 1 / span 1;
|
||||
grid-row: 4 / span 2;
|
||||
display: grid;
|
||||
grid-template-rows: subgrid;
|
||||
}
|
||||
|
||||
.weapons {
|
||||
grid-column: 1 / span 4;
|
||||
grid-row: 7 / span 5;
|
||||
display: grid;
|
||||
grid-template-columns: subgrid;
|
||||
grid-auto-rows: min-content;
|
||||
overflow-y: auto;
|
||||
|
||||
thead,
|
||||
tbody,
|
||||
tr {
|
||||
display: contents;
|
||||
}
|
||||
.row-alt > * {
|
||||
background: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.abilities {
|
||||
grid-column: 1 / span 4;
|
||||
grid-row: 12 / span 4;
|
||||
display: grid;
|
||||
/* grid-template-rows: minmax(0, 3fr) minmax(0, 1fr); */
|
||||
grid-template-columns: repeat(6, minmax(0, 1fr));
|
||||
|
||||
}
|
||||
|
||||
.ability {
|
||||
display: grid;
|
||||
grid-template-rows: minmax(0, 3fr) minmax(0, 1fr);
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
|
||||
label, .label {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.compass {
|
||||
--size: 45px;
|
||||
width: var(--size);
|
||||
height: var(--size);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 2px solid var(--accent-1);
|
||||
border-radius: 50%;
|
||||
font-size: 1.5rem;
|
||||
position: relative;
|
||||
|
||||
> .value {
|
||||
background: none;
|
||||
width: 70%;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
> .roll {
|
||||
--distance: -15%;
|
||||
position: absolute;
|
||||
top: var(--distance);
|
||||
right: var(--distance);
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
&.dual {
|
||||
font-size: var(--font-size-14);
|
||||
--distance-from-edge: 4px;
|
||||
|
||||
&::after {
|
||||
display: block;
|
||||
content: "";
|
||||
width: 69%;
|
||||
height: 2px;
|
||||
background: var(--accent-1);
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
> .value,
|
||||
> .max {
|
||||
width: 50%;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
/* border-bottom: none; */
|
||||
}
|
||||
|
||||
> .value {
|
||||
top: var(--distance-from-edge);
|
||||
left: var(--distance-from-edge);
|
||||
clip-path: polygon(100% 0, 100% 60%, 60% 100%, 0 100%, 0 0);
|
||||
}
|
||||
> .max {
|
||||
bottom: var(--distance-from-edge);
|
||||
right: var(--distance-from-edge);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
templates/Apps/apps.css
Normal file
2
templates/Apps/apps.css
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
@import url("./HeroSummaryCardV1/style.css");
|
||||
@import url("./HeroSkillsCardV1/style.css");
|
||||
3
templates/chat/roll.hbs
Normal file
3
templates/chat/roll.hbs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<div class="dice-roll">
|
||||
HELLO
|
||||
</div>
|
||||
26
templates/css/common.css
Normal file
26
templates/css/common.css
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
@import url("./vars.css");
|
||||
|
||||
@import url("./elements/button.css");
|
||||
@import url("./elements/input.css");
|
||||
@import url("./elements/lists.css");
|
||||
@import url("./elements/select.css");
|
||||
@import url("./elements/span.css");
|
||||
@import url("./elements/table.css");
|
||||
|
||||
.ripcrypt {
|
||||
.window-content {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.HeroSummaryCardV1,
|
||||
.HeroSkillsCardV1 {
|
||||
/* height: 270px; */
|
||||
width: 680px;
|
||||
--col-gap: 2px;
|
||||
}
|
||||
|
||||
label, input, select {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
18
templates/css/components/icon.css
Normal file
18
templates/css/components/icon.css
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
:host {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
div {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
svg {
|
||||
width: var(--size, 1rem);
|
||||
height: var(--size, 1rem);
|
||||
fill: var(--fill);
|
||||
stroke: var(--stroke);
|
||||
}
|
||||
24
templates/css/elements/button.css
Normal file
24
templates/css/elements/button.css
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
.ripcrypt > .window-content button {
|
||||
all: revert;
|
||||
padding: 2px 4px;
|
||||
background: var(--button-background);
|
||||
color: var(--button-text);
|
||||
|
||||
&.icon {
|
||||
padding: 0;
|
||||
border-radius: 50%;
|
||||
outline: none;
|
||||
border: none;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
opacity: 0.6;
|
||||
}
|
||||
}
|
||||
}
|
||||
19
templates/css/elements/input.css
Normal file
19
templates/css/elements/input.css
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
.ripcrypt > .window-content {
|
||||
input, .input {
|
||||
all: revert;
|
||||
box-sizing: border-box;
|
||||
border: none;
|
||||
outline: none;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
position: relative;
|
||||
background: var(--input-background);
|
||||
color: var(--input-text);
|
||||
padding: 0px 4px;
|
||||
|
||||
&[type="text"],
|
||||
&[type="number"] {
|
||||
border-bottom: var(--input-underline);
|
||||
}
|
||||
}
|
||||
}
|
||||
34
templates/css/elements/lists.css
Normal file
34
templates/css/elements/lists.css
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
.ripcrypt > .window-content {
|
||||
ol {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
counter-reset: list-index 0;
|
||||
|
||||
> li {
|
||||
margin: 0;
|
||||
padding: 2px 4px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
counter-increment: list-index 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&.num-before > li::before,
|
||||
&.num-after > li::after {
|
||||
content: counter(list-index);
|
||||
display: block;
|
||||
position: absolute;
|
||||
font-size: var(--font-size-12);
|
||||
}
|
||||
|
||||
&.num-before > li::before {
|
||||
position: revert;
|
||||
}
|
||||
&.num-after > li::after {
|
||||
right: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
11
templates/css/elements/select.css
Normal file
11
templates/css/elements/select.css
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
.ripcrypt > .window-content select {
|
||||
all: revert;
|
||||
appearance: auto;
|
||||
box-sizing: border-box;
|
||||
border: none;
|
||||
outline: none;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
5
templates/css/elements/span.css
Normal file
5
templates/css/elements/span.css
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
.ripcrypt > .window-content span {
|
||||
&.small {
|
||||
font-size: var(--font-size-10)
|
||||
}
|
||||
}
|
||||
16
templates/css/elements/table.css
Normal file
16
templates/css/elements/table.css
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
.ripcrypt > .window-content table {
|
||||
all: revert;
|
||||
box-sizing: border-box;
|
||||
border-collapse: collapse;
|
||||
|
||||
thead, tbody, tr {
|
||||
all: revert;
|
||||
}
|
||||
|
||||
td, th {
|
||||
all: revert;
|
||||
padding: 2px 4px;
|
||||
font-weight: initial;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
22
templates/css/themes/dark.css
Normal file
22
templates/css/themes/dark.css
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
.theme-rc-dark,
|
||||
.theme-dark {
|
||||
--accent-1: #056162;
|
||||
--accent-2: #04262a;
|
||||
--accent-3: #4fb258;
|
||||
|
||||
--base-text: white;
|
||||
--base-background: black;
|
||||
|
||||
--section-header-text: white;
|
||||
--section-header-background: var(--accent-1);
|
||||
|
||||
--alt-row-text: white;
|
||||
--alt-row-background: var(--accent-2);
|
||||
|
||||
--input-underline: 2px dashed var(--accent-3);
|
||||
--input-background: inherit;
|
||||
--input-text: white;
|
||||
|
||||
--button-background: black;
|
||||
--button-text: var(--accent-3);
|
||||
}
|
||||
14
templates/css/themes/light.css
Normal file
14
templates/css/themes/light.css
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
.theme-rc-light,
|
||||
.theme-light {
|
||||
--header-text: white;
|
||||
--header-background: black;
|
||||
|
||||
--section-header-text: white;
|
||||
--section-header-background: black;
|
||||
|
||||
--alt-row-text: black;
|
||||
--alt-row-background: rgba(0,0,0, 0.3);
|
||||
|
||||
--base-text: black;
|
||||
--base-background: white;
|
||||
}
|
||||
2
templates/css/vars.css
Normal file
2
templates/css/vars.css
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
@import url("./themes/dark.css");
|
||||
/* @import url("./themes/light.css"); */
|
||||
Loading…
Add table
Add a link
Reference in a new issue