aboutsummaryrefslogtreecommitdiff
path: root/src/components/contrast_ratio/contrast_ratio.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/contrast_ratio/contrast_ratio.vue')
-rw-r--r--src/components/contrast_ratio/contrast_ratio.vue69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/components/contrast_ratio/contrast_ratio.vue b/src/components/contrast_ratio/contrast_ratio.vue
new file mode 100644
index 00000000..bd971d00
--- /dev/null
+++ b/src/components/contrast_ratio/contrast_ratio.vue
@@ -0,0 +1,69 @@
+<template>
+<span v-if="contrast" class="contrast-ratio">
+ <span :title="hint" class="rating">
+ <span v-if="contrast.aaa">
+ <i class="icon-thumbs-up-alt"/>
+ </span>
+ <span v-if="!contrast.aaa && contrast.aa">
+ <i class="icon-adjust"/>
+ </span>
+ <span v-if="!contrast.aaa && !contrast.aa">
+ <i class="icon-attention"/>
+ </span>
+ </span>
+ <span class="rating" v-if="contrast && large" :title="hint_18pt">
+ <span v-if="contrast.laaa">
+ <i class="icon-thumbs-up-alt"/>
+ </span>
+ <span v-if="!contrast.laaa && contrast.laa">
+ <i class="icon-adjust"/>
+ </span>
+ <span v-if="!contrast.laaa && !contrast.laa">
+ <i class="icon-attention"/>
+ </span>
+ </span>
+</span>
+</template>
+
+<script>
+export default {
+ props: [
+ 'large', 'contrast'
+ ],
+ computed: {
+ hint () {
+ const levelVal = this.contrast.aaa ? 'aaa' : (this.contrast.aa ? 'aa' : 'bad')
+ const level = this.$t(`settings.style.common.contrast.level.${levelVal}`)
+ const context = this.$t('settings.style.common.contrast.context.text')
+ const ratio = this.contrast.text
+ return this.$t('settings.style.common.contrast.hint', { level, context, ratio })
+ },
+ hint_18pt () {
+ const levelVal = this.contrast.laaa ? 'aaa' : (this.contrast.laa ? 'aa' : 'bad')
+ const level = this.$t(`settings.style.common.contrast.level.${levelVal}`)
+ const context = this.$t('settings.style.common.contrast.context.18pt')
+ const ratio = this.contrast.text
+ return this.$t('settings.style.common.contrast.hint', { level, context, ratio })
+ }
+ }
+}
+</script>
+
+<style lang="scss">
+.contrast-ratio {
+ display: flex;
+ justify-content: flex-end;
+
+ margin-top: -4px;
+ margin-bottom: 5px;
+
+ .label {
+ margin-right: 1em;
+ }
+
+ .rating {
+ display: inline-block;
+ text-align: center;
+ }
+}
+</style>