document internationalization

This commit is contained in:
就眠儀式 2022-02-11 18:28:35 +08:00
parent 9f8c08558e
commit 32cd80145e
20 changed files with 258 additions and 241 deletions

View File

@ -7,7 +7,7 @@
::: demo ::: demo
<template> <template>
<lay-block>引用区域的文字</lay-block> <lay-quote>引用区域的文字</lay-quote>
</template> </template>
<script> <script>
@ -30,7 +30,7 @@ export default {
::: demo ::: demo
<template> <template>
<lay-block nm="true">引用区域的文字</lay-block> <lay-quote type="nm">引用区域的文字</lay-quote>
</template> </template>
<script> <script>
@ -50,7 +50,7 @@ export default {
::: :::
::: title Block 属性 ::: title Quote 属性
::: :::
::: table ::: table

View File

@ -9,7 +9,7 @@
<br> <br>
::: block ::: quote
layui - vue谐音类 UI) 是 一 套 Vue 3.0 的 桌 面 端 组 件 库 , Layui 的 另 一 种 呈 现 方 式 layui - vue谐音类 UI) 是 一 套 Vue 3.0 的 桌 面 端 组 件 库 , Layui 的 另 一 种 呈 现 方 式

View File

@ -1,7 +1,7 @@
<template> <template>
<lay-config-provider <lay-config-provider
:locale="locale"
:theme="theme" :theme="theme"
:locale="locale"
:locales="locales" :locales="locales"
:themeVariable="themeVariable"> :themeVariable="themeVariable">
<lay-layout class="layui-layout-document"> <lay-layout class="layui-layout-document">
@ -79,23 +79,16 @@ export default {
setup() { setup() {
const { t } = useI18n(); const { t } = useI18n();
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const currentPath = ref("/zh-CN/guide");
//
const locale = ref('zh_CN'); const locale = ref('zh_CN');
// const currentPath = ref("/zh-CN/guide");
const locales = [ const locales = [
{name:'zh_CN',locale: zh_CN, merge: true}, {name:'zh_CN',locale: zh_CN, merge: true},
{name:'en_US',locale: en_US, merge: true} {name:'en_US',locale: en_US, merge: true},
] ];
//
const theme = "light"; const theme = "light";
// const themeVariable = {}
const themeVariable = {
}
const menus = []; const menus = [];
@ -105,11 +98,9 @@ export default {
}); });
}); });
watch( watch(() => route.path, (val) => {
() => route.path, (val) => {
currentPath.value = val; currentPath.value = val;
},{immediate: true, deep: true} },{immediate: true, deep: true});
);
const handleClick = function (menu) { const handleClick = function (menu) {
router.push(menu.path); router.push(menu.path);
@ -125,15 +116,17 @@ export default {
theme, theme,
locale, locale,
locales, locales,
themeVariable,
currentPath, currentPath,
handleClick, handleClick,
changeLocale, changeLocale,
themeVariable
}; };
}, },
}; };
</script> </script>
<style> <style>
.layui-layout-document > .layui-header { .layui-layout-document > .layui-header {
z-index: 9999; z-index: 9999;
width: 100%; width: 100%;
@ -164,6 +157,7 @@ export default {
left: 15px; left: 15px;
top: 16px; top: 16px;
} }
.layui-header > .layui-nav { .layui-header > .layui-nav {
background-color: transparent; background-color: transparent;
} }
@ -183,9 +177,11 @@ export default {
.layui-menu-docs { .layui-menu-docs {
padding-top: 10px; padding-top: 10px;
} }
.layui-menu-docs .layui-menu-body-title .layui-font-gray { .layui-menu-docs .layui-menu-body-title .layui-font-gray {
padding-left: 10px; padding-left: 10px;
} }
.layui-side hr { .layui-side hr {
margin: 8px; margin: 8px;
} }

View File

@ -5,7 +5,7 @@ import highlight from "./highlight";
import snippet from "./snippet"; import snippet from "./snippet";
import demo from "./demo"; import demo from "./demo";
import createTitle from "./create-title"; import createTitle from "./create-title";
import createBlock from "./create-block"; import createQuote from "./create-quote";
import createDescribe from "./create-describe"; import createDescribe from "./create-describe";
import createTable from "./create-table"; import createTable from "./create-table";
import createComment from "./create-comment"; import createComment from "./create-comment";
@ -29,7 +29,7 @@ const plugins = [
.use(preWrapper) .use(preWrapper)
.use(container, "demo", demo) .use(container, "demo", demo)
.use(...createTable("table", "")) .use(...createTable("table", ""))
.use(...createBlock("block", "")) .use(...createQuote("quote", ""))
.use(...createTitle("title", "")) .use(...createTitle("title", ""))
.use(...createDescribe("describe", "")) .use(...createDescribe("describe", ""))
.use(...createComment("comment", "")) .use(...createComment("comment", ""))

View File

@ -18,9 +18,9 @@ export default function createContainer(
const token = tokens[idx] const token = tokens[idx]
const info = token.info.trim().slice(klass.length).trim() const info = token.info.trim().slice(klass.length).trim()
if (token.nesting === 1) { if (token.nesting === 1) {
return `<lay-block style="margin-left:0px;margin-right:0px;margin-top:20px;margin-bottom:40px;">${info}` return `<lay-quote style="margin-left:0px;margin-right:0px;margin-top:20px;margin-bottom:40px;">${info}`
} else { } else {
return '</lay-block>\n' return '</lay-quote>\n'
} }
}, },
}, },

View File

@ -144,8 +144,8 @@ const zhCN = [
meta: { title: "徽章" }, meta: { title: "徽章" },
}, },
{ {
path: "/zh-CN/components/block", path: "/zh-CN/components/quote",
component: () => import("../../docs/zh-CN/components/block.md"), component: () => import("../../docs/zh-CN/components/quote.md"),
meta: { title: "辅助" }, meta: { title: "辅助" },
}, },
{ {

View File

@ -3,11 +3,11 @@
style="margin-top: 60px; height: 100%; width: 80%" style="margin-top: 60px; height: 100%; width: 80%"
class="layui-container" class="layui-container"
> >
<blockquote class="layui-elem-quote layui-text" style="margin: 30px 0"> <blockquote class="layui-quote layui-text" style="margin: 30px 0">
尽管 layui-vue 中包含了这些组件但因为它们受众群体广泛或应用广泛特从 layui-vue 尽管 layui-vue 中包含了这些组件但因为它们受众群体广泛或应用广泛特从 layui-vue
中抽取出来个副本可独立引用我们也会对它们进行同步维护 中抽取出来个副本可独立引用我们也会对它们进行同步维护
</blockquote> </blockquote>
<fieldset class="layui-elem-field layui-field-title"> <fieldset class="layui-field layui-field-title">
<legend style="margin-bottom: 20px; text-align: center">独立组件</legend> <legend style="margin-bottom: 20px; text-align: center">独立组件</legend>
<div class="layui-field-box"> <div class="layui-field-box">
<ul class="layui-row layui-col-space6"> <ul class="layui-row layui-col-space6">
@ -28,7 +28,7 @@
</ul> </ul>
</div> </div>
</fieldset> </fieldset>
<fieldset class="layui-elem-field layui-field-title"> <fieldset class="layui-field layui-field-title">
<legend style="margin-bottom: 20px; text-align: center">后台模板</legend> <legend style="margin-bottom: 20px; text-align: center">后台模板</legend>
<div class="layui-field-box"> <div class="layui-field-box">
<ul class="layui-row layui-col-space6"> <ul class="layui-row layui-col-space6">
@ -42,7 +42,7 @@
</ul> </ul>
</div> </div>
</fieldset> </fieldset>
<fieldset class="layui-elem-field layui-field-title"> <fieldset class="layui-field layui-field-title">
<legend style="margin-bottom: 20px; text-align: center">设计资源</legend> <legend style="margin-bottom: 20px; text-align: center">设计资源</legend>
<div class="layui-field-box"> <div class="layui-field-box">
<ul class="layui-row layui-col-space6"> <ul class="layui-row layui-col-space6">

View File

@ -269,9 +269,9 @@ const menus = [
}, },
{ {
id: 14, id: 14,
title: "区块", title: "引用",
subTitle: "block", subTitle: "quote",
path: "/zh-CN/components/block", path: "/zh-CN/components/quote",
}, },
{ {
id: 15, id: 15,

View File

@ -1,16 +0,0 @@
@import "../../theme/variable.less";
.layui-elem-quote {
margin-bottom: 10px;
padding: 15px;
line-height: 1.6;
border-left: 5px solid @global-checked-color;
border-radius: 0 2px 2px 0;
background-color: #fafafa;
}
.layui-quote-nm {
border-style: solid;
border-width: 1px 1px 1px 5px;
background: 0 0;
}

View File

@ -1,19 +0,0 @@
<script lang="ts">
export default {
name: "LayBlock",
};
</script>
<script setup lang="ts">
import "./index.less";
const props = defineProps<{
nm?: boolean | string;
}>();
</script>
<template>
<blockquote class="layui-elem-quote" :class="{ 'layui-quote-nm': nm }">
<slot></slot>
</blockquote>
</template>

View File

@ -0,0 +1,38 @@
@import "../../theme/variable.less";
@field-border-color: var(--field-border-color);
@field-border-radius: var(--field-border-radius);
:root {
--field-border-color: @global-border-color;
--field-border-radius: @global-border-radius;
}
.layui-field {
margin-bottom: 10px;
padding: 0;
border-width: 1px;
border-color: @field-border-color;
border-style: solid;
}
.layui-field legend {
margin-left: 20px;
padding: 0 10px;
font-size: 20px;
font-weight: 300;
}
.layui-field-title {
margin: 10px 0 20px;
border-width: 1px 0 0;
}
.layui-field-box {
padding: 15px;
}
.layui-field-title .layui-field-box {
padding: 10px 0;
}

View File

@ -5,6 +5,7 @@ export default {
</script> </script>
<script setup lang="ts"> <script setup lang="ts">
import "./index.less";
import { useSlots } from "vue"; import { useSlots } from "vue";
const slot = useSlots(); const slot = useSlots();
@ -17,14 +18,14 @@ const props = defineProps<LayFieldProps>();
</script> </script>
<template> <template>
<fieldset v-if="slot.default" class="layui-elem-field"> <fieldset v-if="slot.default" class="layui-field">
<legend>{{ title }}</legend> <legend>{{ title }}</legend>
<div class="layui-field-box"> <div class="layui-field-box">
<slot></slot> <slot></slot>
</div> </div>
</fieldset> </fieldset>
<fieldset v-else class="layui-elem-field layui-field-title"> <fieldset v-else class="layui-field layui-field-title">
<legend> <legend>
<a name="docend">{{ title }}</a> <a name="docend">{{ title }}</a>
</legend> </legend>

View File

@ -0,0 +1,22 @@
@import "../../theme/variable.less";
@block-default-color: var(--block-default-color);
@block-border-radius: var(--block-border-radius);
:root {
--block-default-color: @global-checked-color;
--block-border-radius: @global-border-radius;
}
.layui-quote {
padding: 15px;
line-height: 1.6;
margin-bottom: 10px;
border-left: 5px solid @block-default-color;
border-radius: @block-border-radius;
background-color: #fafafa;
}
.layui-quote-nm {
border-left: 5px solid #eee;
}

View File

@ -0,0 +1,22 @@
<script lang="ts">
export default {
name: "LayQuote",
};
</script>
<script setup lang="ts">
import "./index.less";
export interface LayQuoteProps {
type?: string;
}
const props = defineProps<LayQuoteProps>();
</script>
<template>
<blockquote class="layui-quote" :class="[type ? `layui-quote-${props.type}` : '']">
<slot></slot>
</blockquote>
</template>

View File

@ -39,3 +39,21 @@ dl.layui-anim-upbit > dd .layui-form-checkbox,
} }
} }
} }
.layui-select {
height: 38px;
line-height: 1.3;
line-height: 38px\9;
border-width: 1px;
border-style: solid;
background-color: #fff;
border-color: #eee;
color: rgba(0, 0, 0, 0.85);
border-radius: 2px;
padding: 0 10px;
}
.layui-select::-webkit-input-placeholder {
line-height: 1.3;
}

View File

@ -1,4 +1,5 @@
.lay-skeleton { .lay-skeleton {
.lay-skeleton-item { .lay-skeleton-item {
height: 16px; height: 16px;
border-radius: 5px; border-radius: 5px;
@ -41,16 +42,12 @@
border-radius: 5px; border-radius: 5px;
margin-bottom: 16px; margin-bottom: 16px;
background: #eeeeee; background: #eeeeee;
background: linear-gradient( background: linear-gradient(90deg, #f2f2f2 25%, #ececec 37%, #f2f2f2 63%);
90deg,#f2f2f2 25%,#ececec 37%,#f2f2f2 63%);
background-size: 400% 100%; background-size: 400% 100%;
animation: lay-skeleton-loading 1.2s ease infinite; animation: lay-skeleton-loading 1.2s ease infinite;
} }
} }
.lay-skeleton-first { .lay-skeleton-first {
width: 30%; width: 30%;
} }
@ -59,8 +56,6 @@
width: 62.8%; width: 62.8%;
} }
@keyframes lay-skeleton-loading { @keyframes lay-skeleton-loading {
0% { 0% {
background-position: 100% 50%; background-position: 100% 50%;

View File

@ -1,3 +1,116 @@
@import "../../theme/variable.less";
@transfer-box-border-radius: var(--transfer-box-border-radius);
:root {
--transfer-box-border-radius: @global-border-radius;
}
.layui-transfer .layui-btn + .layui-btn { .layui-transfer .layui-btn + .layui-btn {
margin-left: 0; margin-left: 0;
} }
.layui-transfer-box,
.layui-transfer-header,
.layui-transfer-search {
border-width: 0;
border-style: solid;
border-color: #eee;
}
.layui-transfer-box {
position: relative;
border-width: 1px;
width: 200px;
height: 360px;
border-radius: @transfer-box-border-radius;
background-color: #fff;
}
.layui-transfer-box .layui-form-checkbox {
width: 100%;
margin: 0 !important;
}
.layui-transfer-header {
height: 38px;
line-height: 38px;
padding: 0 10px;
border-bottom-width: 1px;
}
.layui-transfer-search {
position: relative;
padding: 10px;
border-bottom-width: 1px;
}
.layui-transfer-search .layui-input {
height: 32px;
padding-left: 30px;
font-size: 12px;
}
.layui-transfer-search .layui-icon-search {
position: absolute;
left: 20px;
top: 50%;
margin-top: -8px;
color: #666;
}
.layui-transfer-active {
margin: 0 15px;
}
.layui-transfer-active .layui-btn {
display: block;
margin: 0;
padding: 0 15px;
background-color: #5fb878;
border-color: #5fb878;
color: #fff;
}
.layui-transfer-active .layui-btn-disabled {
background-color: #fbfbfb;
border-color: #eee;
color: #d2d2d2;
}
.layui-transfer-active .layui-btn:first-child {
margin-bottom: 15px;
}
.layui-transfer-active .layui-btn .layui-icon {
margin: 0;
font-size: 14px !important;
}
.layui-transfer-data {
padding: 5px 0;
overflow: auto;
}
.layui-transfer-data li {
height: 32px;
line-height: 32px;
padding: 0 10px;
}
.layui-transfer-data li:hover {
background-color: #f6f6f6;
transition: 0.5s all;
}
.layui-transfer-data .layui-none {
padding: 15px 10px;
text-align: center;
color: #999;
}
.layui-transfer-active,
.layui-transfer-box {
display: inline-block;
vertical-align: middle;
}

View File

@ -29,7 +29,7 @@ import LayCol from "./component/col/index";
import LayRow from "./component/row/index"; import LayRow from "./component/row/index";
import LayInput from "./component/input/index"; import LayInput from "./component/input/index";
import LayBadge from "./component/badge/index"; import LayBadge from "./component/badge/index";
import LayBlock from "./component/block/index"; import LayQuote from "./component/quote/index";
import LayLine from "./component/line/index"; import LayLine from "./component/line/index";
import LayTimeline from "./component/timeline/index"; import LayTimeline from "./component/timeline/index";
import LayTimelineItem from "./component/timelineItem/index"; import LayTimelineItem from "./component/timelineItem/index";
@ -100,7 +100,7 @@ const components: Record<string, Component> = {
LayCol, LayCol,
LayInput, LayInput,
LayBadge, LayBadge,
LayBlock, LayQuote,
LayLine, LayLine,
LayTimeline, LayTimeline,
LayTimelineItem, LayTimelineItem,
@ -182,7 +182,7 @@ export {
LayCol, LayCol,
LayInput, LayInput,
LayBadge, LayBadge,
LayBlock, LayQuote,
LayLine, LayLine,
LayTimeline, LayTimeline,
LayTimelineItem, LayTimelineItem,

View File

@ -309,33 +309,6 @@ a cite {
box-sizing: border-box; box-sizing: border-box;
} }
.layui-elem-field {
margin-bottom: 10px;
padding: 0;
border-width: 1px;
border-style: solid;
}
.layui-elem-field legend {
margin-left: 20px;
padding: 0 10px;
font-size: 20px;
font-weight: 300;
}
.layui-field-title {
margin: 10px 0 20px;
border-width: 1px 0 0;
}
.layui-field-box {
padding: 15px;
}
.layui-field-title .layui-field-box {
padding: 10px 0;
}
.layui-progress { .layui-progress {
position: relative; position: relative;
height: 6px; height: 6px;
@ -510,7 +483,6 @@ a cite {
.layui-colla-content, .layui-colla-content,
.layui-colla-item, .layui-colla-item,
.layui-collapse, .layui-collapse,
.layui-elem-field,
.layui-form-pane .layui-form-item[pane], .layui-form-pane .layui-form-item[pane],
.layui-form-pane .layui-form-label, .layui-form-pane .layui-form-label,
.layui-iconpicker, .layui-iconpicker,
@ -519,7 +491,6 @@ a cite {
.layui-layedit, .layui-layedit,
.layui-layedit-tool, .layui-layedit-tool,
.layui-quote-nm, .layui-quote-nm,
.layui-select,
.layui-tab-bar, .layui-tab-bar,
.layui-tab-card, .layui-tab-card,
.layui-tab-title, .layui-tab-title,
@ -691,25 +662,6 @@ a cite {
-webkit-appearance: none; -webkit-appearance: none;
} }
.layui-select {
height: 38px;
line-height: 1.3;
line-height: 38px\9;
border-width: 1px;
border-style: solid;
background-color: #fff;
color: rgba(0, 0, 0, 0.85);
border-radius: @global-border-radius;
}
.layui-select::-webkit-input-placeholder {
line-height: 1.3;
}
.layui-select {
padding: 0 10px;
}
.layui-form input[type="checkbox"], .layui-form input[type="checkbox"],
.layui-form input[type="radio"], .layui-form input[type="radio"],
.layui-form select { .layui-form select {
@ -2776,12 +2728,6 @@ body .layui-util-face .layui-layer-content {
display: none; display: none;
} }
.layui-transfer-active,
.layui-transfer-box {
display: inline-block;
vertical-align: middle;
}
.layui-util-face ul { .layui-util-face ul {
position: relative; position: relative;
width: 372px; width: 372px;
@ -2823,105 +2769,6 @@ body .layui-util-face .layui-layer-content {
font-size: 12px; font-size: 12px;
} }
.layui-transfer-box,
.layui-transfer-header,
.layui-transfer-search {
border-width: 0;
border-style: solid;
border-color: #eee;
}
.layui-transfer-box {
position: relative;
border-width: 1px;
width: 200px;
height: 360px;
border-radius: 2px;
background-color: #fff;
}
.layui-transfer-box .layui-form-checkbox {
width: 100%;
margin: 0 !important;
}
.layui-transfer-header {
height: 38px;
line-height: 38px;
padding: 0 10px;
border-bottom-width: 1px;
}
.layui-transfer-search {
position: relative;
padding: 10px;
border-bottom-width: 1px;
}
.layui-transfer-search .layui-input {
height: 32px;
padding-left: 30px;
font-size: 12px;
}
.layui-transfer-search .layui-icon-search {
position: absolute;
left: 20px;
top: 50%;
margin-top: -8px;
color: #666;
}
.layui-transfer-active {
margin: 0 15px;
}
.layui-transfer-active .layui-btn {
display: block;
margin: 0;
padding: 0 15px;
background-color: @global-checked-color;
border-color: @global-checked-color;
color: #fff;
}
.layui-transfer-active .layui-btn-disabled {
background-color: #fbfbfb;
border-color: #eee;
color: #d2d2d2;
}
.layui-transfer-active .layui-btn:first-child {
margin-bottom: 15px;
}
.layui-transfer-active .layui-btn .layui-icon {
margin: 0;
font-size: 14px !important;
}
.layui-transfer-data {
padding: 5px 0;
overflow: auto;
}
.layui-transfer-data li {
height: 32px;
line-height: 32px;
padding: 0 10px;
}
.layui-transfer-data li:hover {
background-color: #f6f6f6;
transition: 0.5s all;
}
.layui-transfer-data .layui-none {
padding: 15px 10px;
text-align: center;
color: #999;
}
.layui-colorpicker { .layui-colorpicker {
width: 26px; width: 26px;
height: 26px; height: 26px;