docs(ConfigProvider): optimize theme demo (#11725)

This commit is contained in:
neverland 2023-04-01 20:40:29 +08:00 committed by GitHub
parent 28885fdee5
commit 53260297bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 128 additions and 146 deletions

View File

@ -1,10 +1,9 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed } from 'vue'; import { ref } from 'vue';
import VanCell from '../../cell'; import VanCell from '../../cell';
import VanForm from '../../form'; import VanForm from '../../form';
import VanField from '../../field'; import VanField from '../../field';
import VanRate from '../../rate'; import VanRate from '../../rate';
import VanSwitch from '../../switch';
import VanSlider from '../../slider'; import VanSlider from '../../slider';
import VanButton from '../../button'; import VanButton from '../../button';
import VanConfigProvider from '..'; import VanConfigProvider from '..';
@ -19,7 +18,7 @@ const t = useTranslate({
customTheme: '定制主题', customTheme: '定制主题',
defaultTheme: '默认主题', defaultTheme: '默认主题',
darkMode: '深色模式', darkMode: '深色模式',
switchDarkMode: '切换深色模式', switchDarkMode: '请点击文档右上角的按钮,切换深浅模式。',
}, },
'en-US': { 'en-US': {
rate: 'Rate', rate: 'Rate',
@ -29,12 +28,11 @@ const t = useTranslate({
customTheme: 'Custom Theme', customTheme: 'Custom Theme',
defaultTheme: 'DefaultTheme', defaultTheme: 'DefaultTheme',
darkMode: 'Dark Mode', darkMode: 'Dark Mode',
switchDarkMode: 'Switch Dark Mode', switchDarkMode:
'Please click the button in the upper right corner to switch between dark and light modes.',
}, },
}); });
const darkMode = ref(false);
const theme = computed(() => (darkMode.value ? 'dark' : 'light'));
const rate = ref(4); const rate = ref(4);
const slider = ref(50); const slider = ref(50);
const themeVars = { const themeVars = {
@ -49,41 +47,35 @@ const themeVars = {
</script> </script>
<template> <template>
<div :style="{ background: darkMode ? 'black' : '', minHeight: '100vh' }"> <div :style="{ minHeight: '100vh' }">
<demo-block :title="t('darkMode')"> <demo-block :title="t('darkMode')">
<van-cell center :title="t('switchDarkMode')"> <van-cell :title="t('switchDarkMode')" />
<template #right-icon>
<van-switch v-model="darkMode" />
</template>
</van-cell>
</demo-block> </demo-block>
<demo-block :title="t('defaultTheme')"> <demo-block :title="t('defaultTheme')">
<van-config-provider :theme="theme"> <van-form>
<van-form> <van-field name="rate" :label="t('rate')">
<van-field name="rate" :label="t('rate')"> <template #input>
<template #input> <van-rate v-model="rate" />
<van-rate v-model="rate" /> </template>
</template> </van-field>
</van-field>
<van-field name="slider" :label="t('slider')"> <van-field name="slider" :label="t('slider')">
<template #input> <template #input>
<van-slider v-model="slider" /> <van-slider v-model="slider" />
</template> </template>
</van-field> </van-field>
<div style="margin: 16px"> <div style="margin: 16px">
<van-button round block type="primary" native-type="submit"> <van-button round block type="primary" native-type="submit">
{{ t('submit') }} {{ t('submit') }}
</van-button> </van-button>
</div> </div>
</van-form> </van-form>
</van-config-provider>
</demo-block> </demo-block>
<demo-block :title="t('customTheme')"> <demo-block :title="t('customTheme')">
<van-config-provider :theme="theme" :theme-vars="themeVars"> <van-config-provider :theme-vars="themeVars">
<van-form> <van-form>
<van-field name="rate" :label="t('rate')"> <van-field name="rate" :label="t('rate')">
<template #input> <template #input>

View File

@ -3,122 +3,112 @@
exports[`should render demo and match snapshot 1`] = ` exports[`should render demo and match snapshot 1`] = `
<div style="min-height: 100vh;"> <div style="min-height: 100vh;">
<div> <div>
<div class="van-cell van-cell--center"> <div class="van-cell">
<div class="van-cell__title"> <div class="van-cell__title">
<span> <span>
Switch Dark Mode Please click the button in the upper right corner to switch between dark and light modes.
</span> </span>
</div> </div>
<div role="switch"
class="van-switch"
tabindex="0"
aria-checked="false"
>
<div class="van-switch__node">
</div>
</div>
</div> </div>
</div> </div>
<div> <div>
<div class="van-config-provider"> <form class="van-form">
<form class="van-form"> <div class="van-cell van-field">
<div class="van-cell van-field"> <div class="van-cell__title van-field__label">
<div class="van-cell__title van-field__label"> <label id="van-field-label"
<label id="van-field-label" for="van-field-input"
for="van-field-input" >
> Rate
Rate </label>
</label> </div>
</div> <div class="van-cell__value van-field__value">
<div class="van-cell__value van-field__value"> <div class="van-field__body">
<div class="van-field__body"> <div class="van-field__control van-field__control--custom">
<div class="van-field__control van-field__control--custom"> <div role="radiogroup"
<div role="radiogroup" class="van-rate"
class="van-rate" tabindex="0"
aria-disabled="false"
aria-readonly="false"
>
<div role="radio"
class="van-rate__item"
tabindex="0" tabindex="0"
aria-disabled="false" aria-setsize="5"
aria-readonly="false" aria-posinset="1"
aria-checked="true"
> >
<div role="radio" <i class="van-badge__wrapper van-icon van-icon-star van-rate__icon van-rate__icon--full">
class="van-rate__item" </i>
tabindex="0" </div>
aria-setsize="5" <div role="radio"
aria-posinset="1" class="van-rate__item"
aria-checked="true" tabindex="0"
> aria-setsize="5"
<i class="van-badge__wrapper van-icon van-icon-star van-rate__icon van-rate__icon--full"> aria-posinset="2"
</i> aria-checked="true"
</div> >
<div role="radio" <i class="van-badge__wrapper van-icon van-icon-star van-rate__icon van-rate__icon--full">
class="van-rate__item" </i>
tabindex="0" </div>
aria-setsize="5" <div role="radio"
aria-posinset="2" class="van-rate__item"
aria-checked="true" tabindex="0"
> aria-setsize="5"
<i class="van-badge__wrapper van-icon van-icon-star van-rate__icon van-rate__icon--full"> aria-posinset="3"
</i> aria-checked="true"
</div> >
<div role="radio" <i class="van-badge__wrapper van-icon van-icon-star van-rate__icon van-rate__icon--full">
class="van-rate__item" </i>
tabindex="0" </div>
aria-setsize="5" <div role="radio"
aria-posinset="3" class="van-rate__item"
aria-checked="true" tabindex="0"
> aria-setsize="5"
<i class="van-badge__wrapper van-icon van-icon-star van-rate__icon van-rate__icon--full"> aria-posinset="4"
</i> aria-checked="true"
</div> >
<div role="radio" <i class="van-badge__wrapper van-icon van-icon-star van-rate__icon van-rate__icon--full">
class="van-rate__item" </i>
tabindex="0" </div>
aria-setsize="5" <div role="radio"
aria-posinset="4" class="van-rate__item"
aria-checked="true" tabindex="0"
> aria-setsize="5"
<i class="van-badge__wrapper van-icon van-icon-star van-rate__icon van-rate__icon--full"> aria-posinset="5"
</i> aria-checked="false"
</div> >
<div role="radio" <i class="van-badge__wrapper van-icon van-icon-star-o van-rate__icon">
class="van-rate__item" </i>
tabindex="0"
aria-setsize="5"
aria-posinset="5"
aria-checked="false"
>
<i class="van-badge__wrapper van-icon van-icon-star-o van-rate__icon">
</i>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="van-cell van-field"> </div>
<div class="van-cell__title van-field__label"> <div class="van-cell van-field">
<label id="van-field-label" <div class="van-cell__title van-field__label">
for="van-field-input" <label id="van-field-label"
> for="van-field-input"
Slider >
</label> Slider
</div> </label>
<div class="van-cell__value van-field__value"> </div>
<div class="van-field__body"> <div class="van-cell__value van-field__value">
<div class="van-field__control van-field__control--custom"> <div class="van-field__body">
<div class="van-slider"> <div class="van-field__control van-field__control--custom">
<div class="van-slider__bar" <div class="van-slider">
style="width: 50%; left: 0%;" <div class="van-slider__bar"
style="width: 50%; left: 0%;"
>
<div role="slider"
class="van-slider__button-wrapper van-slider__button-wrapper--right"
tabindex="0"
aria-valuemin="0"
aria-valuenow="50"
aria-valuemax="100"
aria-orientation="horizontal"
> >
<div role="slider" <div class="van-slider__button">
class="van-slider__button-wrapper van-slider__button-wrapper--right"
tabindex="0"
aria-valuemin="0"
aria-valuenow="50"
aria-valuemax="100"
aria-orientation="horizontal"
>
<div class="van-slider__button">
</div>
</div> </div>
</div> </div>
</div> </div>
@ -126,19 +116,19 @@ exports[`should render demo and match snapshot 1`] = `
</div> </div>
</div> </div>
</div> </div>
<div style="margin: 16px;"> </div>
<button type="submit" <div style="margin: 16px;">
class="van-button van-button--primary van-button--normal van-button--block van-button--round" <button type="submit"
> class="van-button van-button--primary van-button--normal van-button--block van-button--round"
<div class="van-button__content"> >
<span class="van-button__text"> <div class="van-button__content">
Submit <span class="van-button__text">
</span> Submit
</div> </span>
</button> </div>
</div> </button>
</form> </div>
</div> </form>
</div> </div>
<div> <div>
<div class="van-config-provider" <div class="van-config-provider"