169 lines
6.2 KiB
Vue
169 lines
6.2 KiB
Vue
<template>
|
|
<div>
|
|
<Head>
|
|
<Title>Color System - PrimeVue</Title>
|
|
<Meta name="description" content="Each PrimeVue theme exports its own color palette." />
|
|
</Head>
|
|
|
|
<div class="content-section documentation">
|
|
<h1>Colors</h1>
|
|
<p>Each PrimeVue theme exports its own color palette.</p>
|
|
|
|
<h5>Getting Started</h5>
|
|
<p>Colors are exported as CSS variables and used with the standard <i>var</i> syntax such as <i>var(--text-color)</i>.</p>
|
|
|
|
<pre v-code><code>
|
|
<span :style="{color:var(--text-color)}"></span>
|
|
|
|
</code></pre>
|
|
|
|
<h5>General Colors</h5>
|
|
<p>These are common variables used throughout the theme.</p>
|
|
|
|
<div class="doc-tablewrapper">
|
|
<table class="doc-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Variable</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><i>--text-color</i></td>
|
|
<td>Font text color.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--text-color-secondary</i></td>
|
|
<td>Muted font text color with a secondary level.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--primary-color</i></td>
|
|
<td>Primary color of the theme.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--primary-color-text</i></td>
|
|
<td>Text color when background is primary color.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--font-family</i></td>
|
|
<td>Font family of the theme.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--inline-spacing</i></td>
|
|
<td>Spacing between to adjacent items.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--border-radius</i></td>
|
|
<td>Common border radius of elements.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--focus-ring</i></td>
|
|
<td>Box shadow of a focused element.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--mask-bg</i></td>
|
|
<td>Background of an overlay mask.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<h5>Color Palette</h5>
|
|
<p>A palette consists of 9 colors where each color provides tints/shades from 50 to 900.</p>
|
|
|
|
<pre v-code><code>
|
|
<div :style="{backgroundColor:var(--blue-500)}"></div>
|
|
|
|
</code></pre>
|
|
|
|
<div class="card">
|
|
<div class="flex flex-wrap">
|
|
<div v-for="color of colors" :key="color" class="color-stack mr-6 mb-6">
|
|
<template v-for="shade of shades" :key="shade">
|
|
<div v-if="shade !== 0" class="color-box" :style="{ backgroundColor: `var(--${color}-${shade})`, color: shade > 500 ? '#fff' : '#000' }">{{ color }}-{{ shade }}</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<h5>Surfaces</h5>
|
|
<p>In addition, a theme brings a special palette called surfaces that can be used as the base when designing the surface layers and separators.</p>
|
|
<div class="card">
|
|
<div class="color-stack">
|
|
<div v-for="shade in shades" :key="shade" class="color-box" :style="{ backgroundColor: `var(--surface-${shade})`, color: $appState.darkTheme ? '#fff' : shade > 500 ? '#fff' : '#000' }">surface-{{ shade }}</div>
|
|
</div>
|
|
</div>
|
|
|
|
<p>A theme also exports named surfaces for common use cases.</p>
|
|
<div class="doc-tablewrapper">
|
|
<table class="doc-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Variable</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><i>--surface-ground</i></td>
|
|
<td>Base ground color.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--surface-section</i></td>
|
|
<td>Color of a section on a ground surface.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--surface-card</i></td>
|
|
<td>Color of a surface used as a card.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--surface-overlay</i></td>
|
|
<td>Color of overlay surfaces.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--surface-border</i></td>
|
|
<td>Color of a divider.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i>--surface-hover</i></td>
|
|
<td>Color of an element in hover state.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
colors: ['blue', 'green', 'yellow', 'cyan', 'pink', 'indigo', 'teal', 'orange', 'bluegray', 'purple', 'red', 'gray', 'primary'],
|
|
shades: [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900]
|
|
};
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.color-stack {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.color-box {
|
|
width: 2.5rem;
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 1rem;
|
|
width: 250px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.sample-layout {
|
|
width: 375px;
|
|
}
|
|
</style>
|