This commit is contained in:
Theluyuan 2022-12-09 16:41:41 +08:00
parent c1cce5a7c2
commit ff7aa8774f
2003 changed files with 156639 additions and 140 deletions

1
.svn/entries Normal file
View File

@ -0,0 +1 @@
12

1
.svn/format Normal file
View File

@ -0,0 +1 @@
12

View File

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="renderer" content="webkit" />
<meta name="force-rendering" content="webkit" />
<meta name="applicable-device" content="pc,mobile" />
<meta name="author" content="Jmys <jmys1992@gmail.com>" />
<meta
name="keywords"
content="layui,layui-vue,vue,layer,layer-vue,ui,components"
/>
<link rel="icon" href="/favicon.ico" />
<link rel="stylesheet" href="/docsearch/index.css" />
<title>Layui - Vue 开源前端 UI 框架</title>
<!--preload-links-->
</head>
<body>
<div id="app">
<!--app-html-->
</div>
<script type="module" src="/src/entry-client.ts"></script>
<script src="/docsearch/index.js"></script>
</body>
</html>

View File

@ -0,0 +1,19 @@
import { w as withInstall } from "../badge/index2.js";
import { defineComponent, openBlock, createElementBlock, renderSlot } from "vue";
var index = /* @__PURE__ */ (() => ".layui-footer{box-sizing:border-box}\n")();
const _hoisted_1 = { class: "layui-footer" };
const __default__ = {
name: "LayFooter"
};
const _sfc_main = /* @__PURE__ */ defineComponent({
...__default__,
setup(__props) {
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1, [
renderSlot(_ctx.$slots, "default")
]);
};
}
});
const component = withInstall(_sfc_main);
export { _sfc_main as _, component as c };

View File

@ -0,0 +1,16 @@
<script lang="ts">
export default {
name: "LightIcon",
};
</script>
<script setup lang="ts">
import LayIcon from "../component/icon/index";
const props = defineProps<{
color?: string;
size?: string;
}>();
</script>
<template>
<lay-icon :color="props.color" :size="props.size" type="layui-icon-light" />
</template>

View File

@ -0,0 +1,119 @@
<template>
<div style="margin-top: 60px; width: 80%" class="layui-container">
<blockquote
class="layui-quote layui-text"
style="margin: 30px 0; letter-spacing: 1px"
>
以创造性的行为实践于人世。若能以写作为工具,为道途,先帮助自己一程,再以领悟帮助他人一程。这是一种服务
- 庆山
</blockquote>
<fieldset class="layui-field layui-field-title">
<legend style="margin-bottom: 20px; text-align: center">独立组件</legend>
<div class="layui-field-box">
<ul class="layui-row layui-col-space6">
<li class="layui-col-sm12">
<div class="alone">
<a href="http://layer.layui-vue.com/zh-CN/demo" target="_blank"
>layer - vue<cite>通用型弹出层组件</cite></a
>
</div>
</li>
<li class="layui-col-sm12">
<div class="alone">
<a
href="https://gitee.com/layui/layui-vue/tree/next/package/icons"
target="_blank"
>icons - vue<cite>图标组件化解决方案</cite></a
>
</div>
</li>
</ul>
</div>
</fieldset>
<fieldset class="layui-field layui-field-title">
<legend style="margin-bottom: 20px; text-align: center">后台模板</legend>
<div class="layui-field-box">
<ul class="layui-row layui-col-space6">
<li class="layui-col-sm24">
<div class="alone">
<a
href="https://gitee.com/layui-vue/layui-vue-admin"
target="_blank"
>layui - vue - admin<cite>通用型 vue 3.0 后台模板</cite></a
>
</div>
</li>
</ul>
</div>
</fieldset>
<fieldset class="layui-field layui-field-title">
<legend style="margin-bottom: 20px; text-align: center">设计资源</legend>
<div class="layui-field-box">
<ul class="layui-row layui-col-space6">
<li class="layui-col-sm24">
<div class="alone">
<a
href="https://www.axured.cn/assets/axurefiles/d959191ea7d3a46378456fbd7d72f44f_215/start.html?#g=1&p=%E4%BD%9C%E5%93%81%E4%BB%8B%E7%BB%8D"
target="_blank"
>layui - axure<cite>基于 layui 的 axure 原型库</cite></a
>
</div>
</li>
</ul>
</div>
</fieldset>
<fieldset class="layui-field layui-field-title">
<legend style="margin-bottom: 20px; text-align: center">开发插件</legend>
<div class="layui-field-box">
<ul class="layui-row layui-col-space6">
<li class="layui-col-sm24">
<div class="alone">
<a
href="https://marketplace.visualstudio.com/items?itemName=morning-star.layui-vue-helper"
target="_blank"
>layui - vue - helper<cite>
Visual Studio Code 辅助开发插件</cite
></a
>
</div>
</li>
</ul>
</div>
</fieldset>
</div>
<div class="footer footer-index">
<p>Released under the <a href="/index.html">MIT License</a>.</p>
<p>Copyright © 2021-2022 layui-vue.com</p>
</div>
</template>
<style>
@import "@layui/layui-vue/es/container/index.css";
@import "@layui/layui-vue/es/quote/index.css";
@import "@layui/layui-vue/es/field/index.css";
.alone {
text-align: center;
background-color: #009688;
color: #fff;
font-weight: 300;
transition: all 0.3s;
-webkit-transition: all 0.3s;
}
.alone:hover a {
color: white !important;
background-color: #5fb878;
}
.alone a {
display: block;
padding: 50px 20px;
color: #fff;
font-size: 30px;
}
.alone a cite {
display: block;
padding-top: 10px;
font-size: 14px;
letter-spacing: 2px;
}
</style>

View File

@ -0,0 +1,16 @@
import {
createRouter as _createRouter,
createWebHistory,
Router,
} from "vue-router";
import zhCN from "./zh-CN";
const routes = [...zhCN];
export function createRouter(): Router {
const baseUrl = import.meta.env.BASE_URL;
return _createRouter({
history: createWebHistory(baseUrl),
routes: routes,
});
}

View File

@ -0,0 +1 @@
:root{--input-border-radius: var(--global-border-radius);--input-border-color: var(--global-neutral-color-3)}.layui-input{width:100%;height:38px;line-height:38px;border-width:1px;border-style:solid;border-color:var(--input-border-color);border-radius:var(--input-border-radius);display:inline-flex}.layui-input input{height:38px;line-height:38px;background-color:#fff;color:#000000d9;padding-left:10px;display:inline-block;border:none;height:100%;width:100%}.layui-input-append{background-color:#fafafa;border-left:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-prepend{background-color:#fafafa;border-right:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-wrapper{width:100%;display:inline-flex;border:none}.layui-input:hover,.layui-input:focus-within{border-color:#d2d2d2}.layui-input-clear,.layui-input-prefix,.layui-input-suffix,.layui-input-password{background-color:#fff}.layui-input-clear,.layui-input-password,.layui-input-prefix,.layui-input-suffix{display:flex;flex:none;align-items:center;padding:0 10px}.layui-input-has-prefix input{padding:0}.layui-input-clear,.layui-input-password{color:#00000073}.layui-input-clear:hover{opacity:.6}.layui-input input::-webkit-input-placeholder{line-height:1.3}.layui-input input::-ms-reveal{display:none}.layui-input-disabled{border-color:var(--input-border-color)!important}.layui-input-disabled{opacity:.6}.layui-input-disabled,.layui-input-disabled *{cursor:not-allowed!important}.layui-input[size=lg]{height:44px}.layui-input[size=lg] .layui-input{height:44px;line-height:44px}.layui-input[size=md]{height:38px}.layui-input[size=md] .layui-input{height:38px;line-height:38px}.layui-input[size=sm]{height:32px}.layui-input[size=sm] .layui-input{height:32px;line-height:32px}.layui-input[size=xs]{height:26px}.layui-input[size=xs] .layui-input{height:26px;line-height:26px}.layui-cascader{display:inline-block}.layui-cascader[size=lg]{height:44px;width:260px}.layui-cascader[size=lg] .layui-input{height:44px;line-height:44px}.layui-cascader[size=md]{height:38px;width:220px}.layui-cascader[size=md] .layui-input{height:38px;line-height:38px}.layui-cascader[size=sm]{height:32px;width:180px}.layui-cascader[size=sm] .layui-input{height:32px;line-height:32px}.layui-cascader[size=xs]{height:26px;width:140px}.layui-cascader[size=xs] .layui-input{height:26px;line-height:26px}.layui-cascader .layui-input-suffix{padding-right:10px}.layui-cascader .layui-icon-triangle-d{transition:all .3s ease-in-out;transform:rotate(0);color:var(--global-neutral-color-8)}.layui-cascader-opend .layui-icon-triangle-d{transform:rotate(180deg)}.layui-cascader .layui-cascader-panel{box-sizing:border-box;border-radius:2px;line-height:26px;color:#000c;font-size:14px;white-space:nowrap;display:inline-flex}.layui-cascader-menu{display:inline-block;border-right:1px solid var(--global-neutral-color-3)}.layui-cascader-menu:last-child{border-right:none}.layui-cascader-menu-item{min-width:130px;padding:5px 9px 5px 15px;box-sizing:border-box;transition:all .1s ease-in-out;display:flex;justify-content:space-between;align-items:center;min-height:35px}.layui-cascader-menu-item:hover,.layui-cascader-selected{background-color:var(--global-checked-color);color:#fff}.layui-cascader-menu-item .layui-icon-right{margin-left:10px}.layui-cascader-disabled,.layui-cascader-disabled *{cursor:not-allowed!important}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,20 @@
<script lang="ts">
export default {
name: "FontsDelIcon",
};
</script>
<script setup lang="ts">
import LayIcon from "../component/icon/index";
const props = defineProps<{
color?: string;
size?: string;
}>();
</script>
<template>
<lay-icon
:color="props.color"
:size="props.size"
type="layui-icon-fonts-del"
/>
</template>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,16 @@
<script lang="ts">
export default {
name: "RmbIcon",
};
</script>
<script setup lang="ts">
import LayIcon from "../component/icon/index";
const props = defineProps<{
color?: string;
size?: string;
}>();
</script>
<template>
<lay-icon :color="props.color" :size="props.size" type="layui-icon-rmb" />
</template>

View File

@ -0,0 +1,417 @@
<template>
<div
:class="['layui-date-picker', { 'layui-date-range-picker': range }]"
:size="size"
>
<lay-dropdown
ref="dropdownRef"
:disabled="disabled"
:autoFitMinWidth="false"
:contentClass="contentClass"
:contentStyle="contentStyle"
updateAtScroll
>
<lay-input
:name="name"
:readonly="readonly"
:placeholder="startPlaceholder"
:prefix-icon="prefixIcon"
:suffix-icon="suffixIcon"
:disabled="disabled"
v-model="dateValue"
v-if="!range"
@change="onChange"
@blur="$emit('blur')"
@focus="$emit('focus')"
:allow-clear="!disabled && allowClear"
:size="size"
@clear="
dateValue = '';
onChange();
"
>
</lay-input>
<div class="laydate-range-inputs" v-else>
<lay-input
:readonly="readonly"
:name="name"
v-model="dateValue[0]"
:placeholder="startPlaceholder"
:disabled="disabled"
@change="onChange"
@blur="$emit('blur')"
@focus="$emit('focus')"
class="start-input"
:size="size"
>
</lay-input>
<span class="range-separator">{{ rangeSeparator }}</span>
<lay-input
:readonly="readonly"
:name="name"
:allow-clear="disabled && allowClear"
:placeholder="endPlaceholder"
v-model="dateValue[1]"
:disabled="disabled"
@change="onChange"
@blur="$emit('blur')"
@focus="$emit('focus')"
class="end-input"
:size="size"
@clear="
dateValue = [];
onChange();
"
>
</lay-input>
</div>
<template #content>
<!-- 日期选择 -->
<DatePanel
v-if="!range && (showPanel === 'date' || showPanel === 'datetime')"
v-model="currentDay"
></DatePanel>
<!-- 时间选择 -->
<TimePanel
v-if="!range && showPanel === 'time'"
v-model="hms"
></TimePanel>
<!-- 年份选择器 -->
<YearPanel
v-if="!range && (showPanel === 'year' || showPanel === 'yearmonth')"
v-model="currentYear"
>
</YearPanel>
<!-- 月份选择器 -->
<MonthPanel
v-if="!range && showPanel === 'month'"
v-model="currentMonth"
></MonthPanel>
<!-- 范围选择 -->
<DateRange
v-if="range && (showPanel === 'date' || showPanel === 'datetime')"
v-model:startTime="rangeValue.first"
v-model:endTime="rangeValue.last"
></DateRange>
<MonthRange
v-if="range && showPanel === 'yearmonth'"
v-model:startTime="rangeValue.first"
v-model:endTime="rangeValue.last"
>
</MonthRange>
</template>
</lay-dropdown>
</div>
</template>
<script lang="ts">
export default {
name: "LayDatePicker",
};
</script>
<script lang="ts" setup>
import "./index.less";
import dayjs from "dayjs";
import { LayIcon } from "@layui/icons-vue";
import LayInput from "../input/index.vue";
import LayDropdown from "../dropdown/index.vue";
import { getMonth, getYear, getDay } from "./day";
import {
ref,
watch,
defineProps,
defineEmits,
reactive,
provide,
StyleValue,
} from "vue";
import DatePanel from "./components/DatePanel.vue";
import TimePanel from "./components/TimePanel.vue";
import YearPanel from "./components/YearPanel.vue";
import MonthPanel from "./components/MonthPanel.vue";
import DateRange from "./components/DateRange.vue";
import MonthRange from "./components/MonthRange.vue";
import { computed } from "@vue/reactivity";
export interface DatePickerProps {
type?: "date" | "datetime" | "year" | "time" | "month" | "yearmonth";
placeholder?: string | string[];
modelValue?: string | number | string[];
disabled?: boolean;
simple?: boolean;
name?: string;
max?: string;
min?: string;
range?: boolean;
rangeSeparator?: string;
readonly?: boolean;
allowClear?: boolean;
size?: "lg" | "md" | "sm" | "xs";
prefixIcon?: string;
suffixIcon?: string;
timestamp?: boolean;
contentClass?: string | Array<string | object> | object;
contentStyle?: StyleValue;
}
const props = withDefaults(defineProps<DatePickerProps>(), {
modelValue: "",
type: "date",
disabled: false,
simple: false,
range: false,
rangeSeparator: "至",
readonly: false,
allowClear: false,
size: "md",
prefixIcon: "layui-icon-date",
suffixIcon: "",
timestamp: false,
});
const startPlaceholder = computed(() => {
if (Array.isArray(props.placeholder)) {
return props.placeholder[0];
}
return props.placeholder;
});
const endPlaceholder = computed(() => {
if (Array.isArray(props.placeholder)) {
return props.placeholder[1];
}
return props.placeholder;
});
const dropdownRef = ref(null);
const $emits = defineEmits(["update:modelValue", "change", "blur", "focus"]);
const hms = ref({
hh: 0,
mm: 0,
ss: 0,
});
const currentYear = ref<number>(0);
const currentMonth = ref<number>(0);
const currentDay = ref<number>(0);
const showPanel = ref<string>("date");
const rangeValue = reactive({ first: "", last: "" });
let unWatch = false;
// 计算结果日期
const dateValue = props.range ? ref(["", ""]) : ref("");
const getDateValue = () => {
unWatch = true;
let dayjsVal;
switch (props.type) {
case "date":
dayjsVal =
currentDay.value !== -1
? dayjs(currentDay.value).format("YYYY-MM-DD")
: "";
break;
case "datetime":
dayjsVal =
currentDay.value !== -1
? dayjs(currentDay.value)
.hour(hms.value.hh)
.minute(hms.value.mm)
.second(hms.value.ss)
.format("YYYY-MM-DD HH:mm:ss")
: "";
break;
case "year":
dayjsVal =
currentYear.value !== -1
? dayjs().year(currentYear.value).format("YYYY")
: "";
break;
case "month":
dayjsVal =
currentMonth.value !== -1 ? (currentMonth.value + 1).toString() : "";
break;
case "time":
dayjsVal = dayjs()
.hour(hms.value.hh)
.minute(hms.value.mm)
.second(hms.value.ss)
.format("HH:mm:ss");
break;
case "yearmonth":
dayjsVal =
currentYear.value !== -1 && currentMonth.value !== -1
? dayjs()
.year(currentYear.value)
.month(currentMonth.value)
.format("YYYY-MM")
: "";
break;
default:
dayjsVal =
currentDay.value !== -1
? dayjs(currentDay.value)
.hour(hms.value.hh)
.minute(hms.value.mm)
.second(hms.value.ss)
.format()
: "";
break;
}
dateValue.value = dayjsVal !== "Invalid Date" ? dayjsVal : "";
if (dayjsVal === "Invalid Date") {
unWatch = false;
$emits("update:modelValue", "");
return;
}
if (props.timestamp) {
$emits("update:modelValue", dayjs(dayjsVal).unix() * 1000);
$emits("change", dayjs(dayjsVal).unix() * 1000);
} else {
$emits("update:modelValue", dayjsVal);
$emits("change", dayjsVal);
}
setTimeout(() => {
unWatch = false;
}, 0);
};
const getDateValueByRange = () => {
unWatch = true;
if (rangeValue.first === "" || rangeValue.last === "") {
dateValue.value = ["", ""];
$emits("update:modelValue", dateValue.value);
$emits("change", dateValue.value);
return;
}
let format = "YYYY-MM-DD";
switch (props.type) {
case "date":
format = "YYYY-MM-DD";
break;
case "datetime":
format = "YYYY-MM-DD HH:mm:ss";
break;
case "yearmonth":
format = "YYYY-MM";
break;
}
dateValue.value = [
dayjs(rangeValue.first).format(format),
dayjs(rangeValue.last).format(format),
];
$emits("update:modelValue", dateValue.value);
$emits("change", dateValue.value);
setTimeout(() => {
unWatch = false;
}, 0);
};
// 确认事件
const ok = () => {
if (!props.range) {
getDateValue();
} else {
getDateValueByRange();
}
if (dropdownRef.value)
// @ts-ignore
dropdownRef.value.hide();
showPanel.value = props.type;
};
//面板类型判断
watch(
() => props.type,
() => {
showPanel.value = props.type;
if (props.type === "yearmonth" && !props.range) {
showPanel.value = "year";
}
},
{ immediate: true }
);
//监听modelValue改变
watch(
() => props.modelValue,
() => {
if (unWatch) {
return;
}
let initModelValue: string =
props.range && props.modelValue
? (props.modelValue as string[])[0] || ""
: (props.modelValue as string);
if (props.type === "month" || props.type === "year") {
initModelValue += "";
}
hms.value.hh = isNaN(dayjs(initModelValue).hour())
? 0
: dayjs(initModelValue).hour();
hms.value.mm = isNaN(dayjs(initModelValue).minute())
? 0
: dayjs(initModelValue).minute();
hms.value.ss = isNaN(dayjs(initModelValue).second())
? 0
: dayjs(initModelValue).second();
if (initModelValue.length === 8 && props.type === "time") {
let modelValue = initModelValue;
modelValue = "1970-01-01 " + modelValue;
hms.value.hh = dayjs(modelValue).hour();
hms.value.mm = dayjs(modelValue).minute();
hms.value.ss = dayjs(modelValue).second();
}
currentYear.value = initModelValue ? getYear(initModelValue) : -1;
currentMonth.value = initModelValue ? getMonth(initModelValue) : -1;
currentDay.value = initModelValue ? getDay(initModelValue) : -1;
if (props.type === "date" || props.type === "datetime") {
if (currentYear.value === -1) currentYear.value = dayjs().year();
if (currentMonth.value === -1) currentMonth.value = dayjs().month();
if (props.timestamp) {
currentDay.value = initModelValue
? dayjs(parseInt(initModelValue)).startOf("date").unix() * 1000
: -1;
}
}
rangeValue.first = initModelValue;
rangeValue.last =
props.range && props.modelValue
? (props.modelValue as string[])[1] || ""
: "";
if (!props.range) {
getDateValue();
} else {
getDateValueByRange();
}
},
{ immediate: true }
);
const onChange = () => {
if (dropdownRef.value)
// @ts-ignore
dropdownRef.value.hide();
$emits("update:modelValue", dateValue.value);
};
provide("datePicker", {
currentYear: currentYear,
currentMonth: currentMonth,
currentDay: currentDay,
dateValue: dateValue,
type: props.type,
showPanel: showPanel,
hms: hms,
ok: () => ok(),
getDateValue: () => getDateValue,
range: props.range,
rangeValue: rangeValue,
rangeSeparator: props.rangeSeparator,
simple: props.simple,
timestamp: props.timestamp,
});
</script>

View File

@ -0,0 +1 @@
xmО=В0 †aжћВЉ`IQЃSDщqi Ќ«&Ґ•PпNђt`чущ5Ѓ €Гqг»ћ† OP ЁФXХi·в 4uА8Їmцnh®}t8 ~KLV_:Ѕйдs{‰)лЦТhwЕЊ=F,#–ЉK%#bМpZнЦ={Yбь‰эЭ—П=† ‹¬^CљHф

View File

@ -0,0 +1,16 @@
<script lang="ts">
export default {
name: "EmailIcon",
};
</script>
<script setup lang="ts">
import LayIcon from "../component/icon/index";
const props = defineProps<{
color?: string;
size?: string;
}>();
</script>
<template>
<lay-icon :color="props.color" :size="props.size" type="layui-icon-email" />
</template>

View File

@ -0,0 +1,136 @@
@import "../popper/index.less";
.layui-slider-v {
width: 100%;
height: 18px;
margin-bottom: 8px;
}
.layui-slider-track-v {
width: 100%;
height: 16px;
position: relative;
cursor: pointer;
z-index: 30;
}
.layui-slider-btn-v {
width: 12px;
height: 12px;
background-color: white;
position: absolute;
border: 2px solid var(--global-primary-color);
border-radius: 50%;
cursor: pointer;
left: 0%;
z-index: 2;
}
.layui-slider-rate-v {
width: 0%;
height: 4px;
position: absolute;
top: 6px;
left: 0;
background-color: var(--global-primary-color);
z-index: 1;
}
.layui-slider-line-v {
width: 100%;
height: 4px;
background-color: #cccccc;
position: absolute;
top: 6px;
}
.layui-slider-disabled {
cursor: not-allowed !important;
}
.layui-slider-disabled .disable-line {
background-color: #c2c2c2 !important;
}
.layui-slider-disabled .disable-btn {
border: 2px solid #333333;
}
.layui-slider-disabled-rate {
background-color: var(--global-primary-color) !important;
}
// 纵向样式
.layui-slider-vertical {
width: 18px;
height: 200px;
}
.layui-slider-vertical-track {
width: 100%;
height: 100%;
position: relative;
}
.layui-slider-vertical-btn {
width: 12px;
height: 12px;
background-color: white;
position: absolute;
border: 2px solid var(--global-primary-color);
border-radius: 50%;
cursor: pointer;
bottom: 0%;
left: 1px;
z-index: 2;
}
.layui-slider-vertical-rate {
width: 4px;
height: 30%;
position: absolute;
bottom: 0;
left: 7px;
background-color: var(--global-primary-color);
z-index: 1;
}
.layui-slider-vertical-line {
width: 4px;
height: 100%;
position: absolute;
left: 7px;
background-color: #eee;
}
.layui-slider-srange {
width: 100%;
height: 100%;
position: relative;
cursor: pointer;
}
.layui-slider-vrange {
width: 100%;
height: 100%;
position: relative;
cursor: pointer;
}
.layui-slider-dots {
margin-top: 4px;
width: 8px;
height: 8px;
background-color: #ffffff;
border-radius: 5px;
position: absolute;
top:0;
z-index: 1;
}
.layui-slider-vertical-dots {
width: 8px;
height: 8px;
background-color: #ffffff;
border-radius: 5px;
position: absolute;
z-index: 1;
margin-left: 5px;
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,6 @@
x<01>Síjà Ýï=E` Zè-IËB§s©Õ ¦í6úîÓ4¤)lTî…sϹçȵåÙfõù²Ôì«Ch<43>UNzÿÓZ<C393>­!Njð i#Q5<51>”í‰rë*éÀ±
;OVy*1±SÎv¦aµuäÀÜ @E|¦ÁÈ.¸x÷-XÏÏã€3wɸ·º jY’Ó`Ûx±
M¼÷ì—wçïÐ
ò€iTQH¢ÿOÑH±“ƒ„9<E2809E>œÍ°¦u¶\{
GÉw`ÚšjBµ˜èD•MjQû°ÜbW©ÑH¸)L€“¨ë¶FƒÒš <11>ÖÖðø-I±Š.½•e9ÁæOÞÏó!æAÐUEò¬Hþ<0F>u]÷<>c<EFBFBD>@ ZFçM`QØ<51>Í#ñ
}ãGÐôŶb÷å‰èû(~Ä@üm»½6Æ.-2!õñK<C3B1>ÞìÚº=é_ñCÈÄÆ"óóë/aâ8<

View File

@ -0,0 +1,145 @@
<script lang="ts">
import "./index.less";
import {
computed,
Comment,
VNode,
Fragment,
isVNode,
createTextVNode,
StyleValue,
defineComponent,
PropType,
h,
renderSlot,
} from "vue";
type SpaceSize = "lg" | "md" | "sm" | "xs" | number | string;
export default defineComponent({
name: "LaySpace",
props: {
align: {
type: String as PropType<"start" | "end" | "center" | "baseline">,
},
direction: {
type: String as PropType<"horizontal" | "vertical">,
default: "horizontal",
},
fill: {
type: Boolean,
default: false,
},
size: {
type: [Number, String, Array] as PropType<
SpaceSize | [SpaceSize, SpaceSize]
>,
default: "sm",
},
wrap: {
type: Boolean,
default: false,
},
},
setup(props, { slots }) {
const computAlign = computed(
() => props.align ?? (props.direction === "horizontal" ? "center" : "")
);
const spaceClass = computed(() => [
"layui-space",
{
[`layui-space-align-${computAlign.value}`]: computAlign.value,
[`layui-space-${props.direction}`]: props.direction,
[`layui-space-wrap`]: props.wrap,
[`layui-space-fill`]: props.fill,
},
]);
const spaceStyle = computed<StyleValue>(() => {
const sizeMap = { xs: "4px", sm: "8px", md: "16px", lg: "24px" };
let gap = "";
if (Array.isArray(props.size)) {
gap = props.size
.map((size) => {
if (typeof size === "number") {
return `${size}px`;
}
if (typeof size === "string") {
return sizeMap[size as keyof Omit<SpaceSize, number>] || size;
}
return size;
})
.join(" ");
} else if (typeof props.size === "string") {
gap =
sizeMap[props.size as keyof Omit<SpaceSize, string | number>] ||
props.size;
} else if (typeof props.size === "number") {
gap = `${props.size}px`;
}
return {
gap,
};
});
const itemStyle = computed<StyleValue>(() => [
props.fill ? { flexGrow: 1, minWidth: "100%" } : {},
]);
const extractChildren = () => {
const result: VNode[] = [];
const children = renderSlot(slots, "default").children;
const elementData = Array.isArray(children) ? [...children] : [];
while (elementData.length) {
const vnode = elementData.shift();
if (vnode === null) continue;
if (Array.isArray(vnode)) {
elementData.unshift(...vnode);
}
if (!isVNode(vnode) || vnode.type === Comment) continue;
if (vnode.type === Fragment && Array.isArray(vnode.children)) {
elementData.unshift(vnode.children);
} else if (typeof vnode === "string" || typeof vnode === "number") {
result.push(createTextVNode(vnode));
} else {
result.push(vnode);
}
}
return result;
};
return () => {
const children = extractChildren();
return h(
"div",
{
class: spaceClass.value,
style: spaceStyle.value,
},
children.map((child, index) => {
return h(
"div",
{
key: child.key ?? `item-${index}`,
class: "layui-space-item",
style: itemStyle.value,
},
h(child)
);
})
);
};
},
});
</script>

View File

@ -0,0 +1,96 @@
::: anchor
:::
::: title 基本介绍
:::
::: describe 预览图片。
:::
::: title 基本使用
:::
::: demo
<template>
<lay-button type="primary" @click="signleImg">图片查看</lay-button>
</template>
<script>
import { layer } from "@layui/layui-vue"
const signleImg = function() {
layer.photos("http://www.pearadmin.com/assets/images/un1.svg")
}
</script>
:::
::: title 设置标题
:::
::: demo
<template>
<lay-button type="primary" @click="signleImg2">图片标题</lay-button>
</template>
<script>
import { layer } from "@layui/layui-vue"
const signleImg2 = function() {
layer.photos({
imgList:[{src:'http://www.pearadmin.com/assets/images/un2.svg',alt:'layer for vue'}]
})
}
</script>
:::
::: title 图片分组
:::
::: demo
<template>
<lay-button type="primary" @click="groupImg">图片分组</lay-button>
</template>
<script>
import { layer } from "@layui/layui-vue"
const groupImg = function() {
layer.photos({
imgList:[
{ src:'http://www.pearadmin.com/assets/images/un8.svg', alt:'图片1'},
{ src:'http://www.pearadmin.com/assets/images/un32.svg', alt:'图片2'}
]
})
}
</script>
:::
::: title 组件方法
:::
```
layer.photos(options)
```
::: title 组件属性
:::
::: table
| 属性 | 描述 | 备注 |
| ------------------- | ------ | ----|
| options | 选配属性 | { time: 加载时长, icon: 图标 } |
:::
::: contributor msg
:::
::: previousNext msg
:::

View File

@ -0,0 +1,13 @@
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
# Called by "git merge" with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message to
# stderr if it wants to stop the merge commit.
#
# To enable this hook, rename this file to "pre-merge-commit".
. git-sh-setup
test -x "$GIT_DIR/hooks/pre-commit" &&
exec "$GIT_DIR/hooks/pre-commit"
:

View File

@ -0,0 +1,107 @@
<script lang="ts">
export default {
name: "LayTextarea",
};
</script>
<script setup lang="ts">
import { LayIcon } from "@layui/icons-vue";
import { computed, ref } from "vue";
import "./index.less";
export interface TextareaProps {
name?: string;
modelValue?: string;
placeholder?: string;
disabled?: boolean;
showCount?: boolean;
allowClear?: boolean;
maxlength?: number;
}
const props = defineProps<TextareaProps>();
interface TextareaEmits {
(e: "blur", event: Event): void;
(e: "input", value: string): void;
(e: "update:modelValue", value: string): void;
(e: "change", value: string): void;
(e: "focus", event: Event): void;
(e: "clear"): void;
}
const emit = defineEmits<TextareaEmits>();
const composing = ref(false);
const onInput = function (event: Event) {
const inputElement = event.target as HTMLInputElement;
emit("input", inputElement.value);
if (composing.value) {
return;
}
emit("update:modelValue", inputElement.value);
};
const onFocus = function (event: Event) {
emit("focus", event);
};
const onBlur = function (event: Event) {
emit("blur", event);
};
const onChange = (event: Event) => {
const inputElement = event.target as HTMLInputElement;
emit("change", inputElement.value);
};
const onClear = function () {
emit("update:modelValue", "");
emit("clear");
};
const onCompositionstart = () => {
composing.value = true;
};
const onCompositionend = (event: Event) => {
composing.value = false;
onInput(event);
};
const hasContent = computed(() => (props.modelValue as string)?.length > 0);
const wordCount = computed(() => {
let count = String(props.modelValue?.length ?? 0);
if (props.maxlength) {
count += "/" + props.maxlength;
}
return count;
});
</script>
<template>
<div class="layui-textarea-wrapper">
<textarea
class="layui-textarea"
:value="modelValue"
:placeholder="placeholder"
:name="name"
:disabled="disabled"
:maxlength="maxlength"
:class="{ 'layui-textarea-disabled': disabled }"
@compositionstart="onCompositionstart"
@compositionend="onCompositionend"
@input="onInput"
@focus="onFocus"
@change="onChange"
@blur="onBlur"
></textarea>
<span class="layui-textarea-clear" v-if="allowClear && hasContent">
<lay-icon type="layui-icon-close-fill" @click="onClear"></lay-icon>
</span>
<div v-if="showCount" class="layui-texterea-count">
{{ wordCount }}
</div>
</div>
</template>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,113 @@
::: anchor
:::
::: title 基本介绍
:::
::: describe 当有重要操作需告知用户处理结果,且反馈内容较为复杂时使用。
:::
::: title 成功
:::
::: demo 使用 `lay-result` 标签, 创建一个结果页面
<template>
<lay-result></lay-result>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
return {
}
}
}
</script>
:::
::: title 失败
:::
::: demo 使用 `lay-result` 标签, 创建一个结果页面
<template>
<lay-result status="failure"></lay-result>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
return {
}
}
}
</script>
:::
::: title 完整
:::
::: demo 使用 `lay-result` 标签, 创建一个结果页面
<template>
<lay-result status="failure">
<template #extra>
<lay-button type="primary">再来一次</lay-button>
<lay-button >返回首页</lay-button>
</template>
</lay-result>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
return {
}
}
}
</script>
:::
::: title Result 属性
:::
::: table
| 属性 | 描述 | 可选值 |
| ----------- | -------- | ------ |
| title | 标题 | -- |
| status | 状态 | `success` `failure` |
| describe | 描述信息 | -- |
:::
::: title Result 插槽
:::
::: table
| 属性 | 描述 | 可选值 |
| ----------- | -------- | ------ |
| content | 内容 | -- |
| extra | 扩展 | -- |
:::
::: contributor result
:::
::: previousNext result
:::

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,31 @@
<script lang="ts">
export default {
name: "LayField",
};
</script>
<script setup lang="ts">
import "./index.less";
import { useSlots } from "vue";
export interface FieldProps {
title?: string;
}
const slot = useSlots();
const props = defineProps<FieldProps>();
</script>
<template>
<fieldset v-if="slot.default" class="layui-field">
<legend>{{ title }}</legend>
<div class="layui-field-box">
<slot></slot>
</div>
</fieldset>
<fieldset v-else class="layui-field layui-field-title">
<legend>
<a name="docend">{{ title }}</a>
</legend>
</fieldset>
</template>

View File

@ -0,0 +1,43 @@
import{r as o,o as d,j as y,h as t,g as e,v as n,i as a}from"./.pnpm.8fb36023.js";const m={class:"markdown-body"},b=a("p",{class:"describe-plugin"},"\u5B83\u4EEC\u672C\u8EAB\u7EC6\u5C0F\u800C\u5E76\u4E0D\u663E\u773C\uFF0C\u4F46\u63BA\u6742\u5728\u5176\u5B83\u5143\u7D20\u4E2D\u5C31\u663E\u5F97\u5C24\u4E3A\u7A81\u51FA\u4E86\u3002\u9875\u9762\u5F80\u5F80\u56E0\u5FBD\u7AE0\u7684\u966A\u886C\uFF0C\u800C\u663E\u5F97\u5341\u5206\u548C\u8C10\u3002",-1),_=a("p",null,[n("\u4F7F\u7528 "),a("code",null,"lay-badge"),n(" \u6807\u7B7E, \u521B\u5EFA\u5FBD\u7AE0")],-1),h=a("pre",null,[a("code",{"v-pre":""},[a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("template")]),a("span",{class:"token punctuation"},">")]),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("orange"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("green"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("cyan"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("blue"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("black"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("gray"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token punctuation"},">")]),n("\u8D64"),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("orange"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),n("\u6A59"),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("green"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),n("\u7EFF"),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("cyan"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),n("\u9752"),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("blue"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),n("\u84DD"),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("black"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),n("\u9ED1"),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("gray"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),n("\u7070"),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("rim"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),n("6"),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("rim"),a("span",{class:"token punctuation"},'"')]),a("span",{class:"token punctuation"},">")]),n("Hot"),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("template")]),a("span",{class:"token punctuation"},">")]),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("script")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token script"},[a("span",{class:"token language-javascript"},[n(`
`),a("span",{class:"token keyword"},"import"),n(),a("span",{class:"token punctuation"},"{"),n(" ref "),a("span",{class:"token punctuation"},"}"),n(),a("span",{class:"token keyword"},"from"),n(),a("span",{class:"token string"},"'vue'"),n(`
`),a("span",{class:"token keyword"},"export"),n(),a("span",{class:"token keyword"},"default"),n(),a("span",{class:"token punctuation"},"{"),n(`
`),a("span",{class:"token function"},"setup"),a("span",{class:"token punctuation"},"("),a("span",{class:"token punctuation"},")"),n(),a("span",{class:"token punctuation"},"{"),n(`
`),a("span",{class:"token keyword"},"return"),n(),a("span",{class:"token punctuation"},"{"),n(`
`),a("span",{class:"token punctuation"},"}"),n(`
`),a("span",{class:"token punctuation"},"}"),n(`
`),a("span",{class:"token punctuation"},"}"),n(`
`)])]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("script")]),a("span",{class:"token punctuation"},">")]),n(`
`)])],-1),v=a("p",null,[n("\u4F7F\u7528 "),a("code",null,"ripple"),n(" \u5C5E\u6027, \u6DFB\u52A0\u6C34\u6CE2\u7EB9\u52A8\u753B, \u4EC5\u652F\u6301 "),a("code",null,"dot"),n(" \u7C7B\u578B")],-1),q=a("pre",null,[a("code",{"v-pre":""},[a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("template")]),a("span",{class:"token punctuation"},">")]),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"ripple"),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("orange"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"ripple"),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("green"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"ripple"),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("cyan"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"ripple"),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("blue"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"ripple"),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("black"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"ripple"),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("lay-badge")]),n(),a("span",{class:"token attr-name"},"type"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("dot"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"theme"),a("span",{class:"token attr-value"},[a("span",{class:"token punctuation attr-equals"},"="),a("span",{class:"token punctuation"},'"'),n("gray"),a("span",{class:"token punctuation"},'"')]),n(),a("span",{class:"token attr-name"},"ripple"),a("span",{class:"token punctuation"},">")]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("lay-badge")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token entity named-entity",title:"\xA0"},"&nbsp;"),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("template")]),a("span",{class:"token punctuation"},">")]),n(`
`),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"<"),n("script")]),a("span",{class:"token punctuation"},">")]),a("span",{class:"token script"},[a("span",{class:"token language-javascript"},`
`)]),a("span",{class:"token tag"},[a("span",{class:"token tag"},[a("span",{class:"token punctuation"},"</"),n("script")]),a("span",{class:"token punctuation"},">")]),n(`
`)])],-1),f=a("table",null,[a("thead",null,[a("tr",null,[a("th",null,"\u5C5E\u6027"),a("th",null,"\u63CF\u8FF0"),a("th",null,"\u53EF\u9009\u503C")])]),a("tbody",null,[a("tr",null,[a("td",null,"type"),a("td",null,"\u7C7B\u578B"),a("td",null,[a("code",null,"dot"),n(),a("code",null,"rim")])]),a("tr",null,[a("td",null,"theme"),a("td",null,"\u4E3B\u9898"),a("td",null,[a("code",null,"orange"),n(),a("code",null,"green"),n(),a("code",null,"cyan"),n(),a("code",null,"blue"),n(),a("code",null,"black"),n(),a("code",null,"gray")])])])],-1),x=a("table",null,[a("thead",null,[a("tr",null,[a("th",null,"\u63D2\u69FD"),a("th",null,"\u63CF\u8FF0"),a("th",null,"\u5907\u6CE8")])]),a("tbody",null,[a("tr",null,[a("td",null,"default"),a("td",null,"\u9ED8\u8BA4"),a("td",null,[n("\u975E "),a("code",null,"dot"),n(" \u53EF\u7528")])])])],-1),w={style:{display:"flex","justify-content":"space-between","margin-top":"20px"}},V={},z={__name:"badge",setup(B,{expose:i}){return i({frontmatter:{}}),(N,j)=>{const r=o("lay-anchor"),p=o("lay-field"),s=o("lay-badge"),l=o("lay-code"),c=o("lay-table-box"),g=o("lay-contributor"),u=o("lay-icon"),k=o("router-link");return d(),y("div",m,[t(r,{anchors:"\u57FA\u672C\u4ECB\u7ECD,\u57FA\u7840\u4F7F\u7528,\u52A8\u753B,Badge \u5C5E\u6027,Badge \u63D2\u69FD",currIndex:-1,show:!0}),t(p,{id:"\u57FA\u672C\u4ECB\u7ECD",title:"\u57FA\u672C\u4ECB\u7ECD",style:{"margin-top":"21px","margin-bottom":"20px"}}),b,t(p,{id:"\u57FA\u7840\u4F7F\u7528",title:"\u57FA\u7840\u4F7F\u7528",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(l,null,{description:e(()=>[_]),code:e(()=>[h]),default:e(()=>[t(s,{type:"dot"}),n("\xA0 "),t(s,{type:"dot",theme:"orange"}),n("\xA0 "),t(s,{type:"dot",theme:"green"}),n("\xA0 "),t(s,{type:"dot",theme:"cyan"}),n("\xA0 "),t(s,{type:"dot",theme:"blue"}),n("\xA0 "),t(s,{type:"dot",theme:"black"}),n("\xA0 "),t(s,{type:"dot",theme:"gray"}),n("\xA0 "),t(s,null,{default:e(()=>[n("\u8D64")]),_:1}),n("\xA0 "),t(s,{theme:"orange"},{default:e(()=>[n("\u6A59")]),_:1}),n("\xA0 "),t(s,{theme:"green"},{default:e(()=>[n("\u7EFF")]),_:1}),n("\xA0 "),t(s,{theme:"cyan"},{default:e(()=>[n("\u9752")]),_:1}),n("\xA0 "),t(s,{theme:"blue"},{default:e(()=>[n("\u84DD")]),_:1}),n("\xA0 "),t(s,{theme:"black"},{default:e(()=>[n("\u9ED1")]),_:1}),n("\xA0 "),t(s,{theme:"gray"},{default:e(()=>[n("\u7070")]),_:1}),n("\xA0 "),t(s,{type:"rim"},{default:e(()=>[n("6")]),_:1}),n("\xA0 "),t(s,{type:"rim"},{default:e(()=>[n("Hot")]),_:1}),n("\xA0 ")]),_:1}),t(p,{id:"\u52A8\u753B",title:"\u52A8\u753B",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(l,null,{description:e(()=>[v]),code:e(()=>[q]),default:e(()=>[t(s,{type:"dot",ripple:""}),n("\xA0 "),t(s,{type:"dot",theme:"orange",ripple:""}),n("\xA0 "),t(s,{type:"dot",theme:"green",ripple:""}),n("\xA0 "),t(s,{type:"dot",theme:"cyan",ripple:""}),n("\xA0 "),t(s,{type:"dot",theme:"blue",ripple:""}),n("\xA0 "),t(s,{type:"dot",theme:"black",ripple:""}),n("\xA0 "),t(s,{type:"dot",theme:"gray",ripple:""}),n("\xA0 ")]),_:1}),t(p,{id:"Badge \u5C5E\u6027",title:"Badge \u5C5E\u6027",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(c,null,{default:e(()=>[f]),_:1}),t(p,{id:"Badge \u63D2\u69FD",title:"Badge \u63D2\u69FD",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(c,null,{default:e(()=>[x]),_:1}),t(g,{"file-path":"badge"}),a("div",w,[a("div",null,[t(k,{to:"/zh-CN/components/countup",class:"lay-link",style:{display:""}},{default:e(()=>[t(u,{type:"layui-icon-left"}),n("\u6570\u5B57\u6EDA\u52A8")]),_:1})]),a("div",null,[t(k,{to:"/zh-CN/components/quote",class:"lay-link",style:{display:""}},{default:e(()=>[n("\u5F15\u7528 "),t(u,{type:"layui-icon-right"})]),_:1})])])])}}};export{z as default,V as frontmatter};

View File

@ -0,0 +1,3 @@
.layui-footer {
box-sizing: border-box;
}

View File

@ -0,0 +1 @@
import{r as u,o as s,j as d,h as e,g as a,i as l,v as t}from"./.pnpm.8fb36023.js";const r={class:"markdown-body"},c=l("p",{class:"describe-plugin"},"layui-vue-helper \u662F layui-vue \u7684\u5F00\u53D1\u589E\u5F3A\u5DE5\u5177\uFF0C\u63D0\u4F9B\u4EE3\u7801\u7247\u6BB5\uFF0C\u81EA\u52A8\u5B8C\u6210\uFF0C\u60AC\u6D6E\u63D0\u793A\u529F\u80FD",-1),p=l("p",{class:"describe-plugin"},"\u5728 Visual Studio Code \u5185\u7F6E\u6216\u7F51\u9875\u7248\u6269\u5C55\u5E02\u573A\u641C\u7D22 layui-vue-helper\uFF0C\u70B9\u51FB\u5B89\u88C5\u5373\u53EF\uFF0C\u63D2\u4EF6\u4F1A\u5728 Vue \u548C HTML \u6587\u4EF6\u4E2D\u81EA\u52A8\u6FC0\u6D3B",-1),_=l("blockquote",null,[l("p",null,[t("\u6309 "),l("code",null,"Ctrl+Space"),t(" (Windows, Linux) \u6216 "),l("code",null,"Cmd+Space"),t(" (macOS) \u67E5\u770B\u81EA\u52A8\u8865\u5168\u5217\u8868\uFF0C\u76EE\u524D\u53EA\u652F\u6301\u5C5E\u6027\u548C\u4E8B\u4EF6\u8865\u5168")])],-1),m=l("blockquote",null,[l("p",null,"\u652F\u6301 Vue \u548C HTML \u6587\u4EF6")],-1),y=l("blockquote",null,[l("p",null,[l("img",{src:"https://s2.loli.net/2022/06/20/LioZGshVlFQYyew.gif",alt:"\u81EA\u52A8\u5B8C\u6210.gif"})])],-1),g=l("blockquote",null,[l("p",null,"\u79FB\u52A8\u5149\u6807\u5230 layui-vue \u7684 tag \u6216 prop\uFF0C\u663E\u793A\u60AC\u6D6E\u6587\u6863\u3002")],-1),h=l("blockquote",null,[l("p",null,[l("img",{src:"https://s2.loli.net/2022/06/20/iKT3gn7bSxVFByX.gif",alt:"\u60AC\u6D6E\u63D0\u793A.gif"})])],-1),b=l("blockquote",null,[l("p",null,[t("\u8F93\u5165\u7247\u6BB5\u89E6\u53D1\u8BCD\uFF0C\u6309 "),l("code",null,"Tab"),t(" \u5207\u6362\u9884\u8BBE\u8F93\u5165\u70B9")])],-1),v=l("blockquote",null,[l("p",null,[l("img",{src:"https://s2.loli.net/2022/06/20/zVxXdkaeEUjK4L5.gif",alt:"\u4EE3\u7801\u7247\u6BB5.gif"})])],-1),x=l("blockquote",null,[l("p",null,[l("strong",null,"\u5176\u5B83\u4EE3\u7801\u7247\u6BB5\u7684\u89E6\u53D1\u8BCD\u548C layui-vue \u7EC4\u4EF6\u540D\u4E00\u81F4")])],-1),f=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Trigger Key"),l("th",null,"Describe")])]),l("tbody",null,[l("tr",null,[l("td",null,"layer-open"),l("td",null,"layer-vue \u5F39\u5C42 open()\u65B9\u6CD5")]),l("tr",null,[l("td",null,"layer-load"),l("td",null,"layer-vue \u5F39\u5C42 load()\u65B9\u6CD5")]),l("tr",null,[l("td",null,"layer-confirm"),l("td",null,"layer-vue \u5F39\u5C42 confirm()\u65B9\u6CD5")]),l("tr",null,[l("td",null,"layer-msg"),l("td",null,"layer-vue \u5F39\u5C42 msg()\u65B9\u6CD5")]),l("tr",null,[l("td",null,"layer-drawer"),l("td",null,"layer-vue \u5F39\u5C42 drawer()\u65B9\u6CD5")]),l("tr",null,[l("td",null,"lay-cdn"),l("td",null,"layui-vue CDN")]),l("tr",null,[l("td",null,"lay-cdn-es"),l("td",null,"layui-vue ES Module CDN")]),l("tr",null,[l("td",null,"lay-cdn-css"),l("td",null,"layui-vue css CDN")]),l("tr",null,[l("td",null,"v-cdn"),l("td",null,"Vue 3 CDN")]),l("tr",null,[l("td",null,"v-cdn-es"),l("td",null,"Vue 3 ES Module CDN")]),l("tr",null,[l("td",null,"!v"),l("td",null,"Vue setup \u4F20\u7EDF\u6A21\u677F")]),l("tr",null,[l("td",null,"!vs"),l("td",null,"Vue setup \u8BED\u6CD5\u7CD6\u6A21\u677F")]),l("tr",null,[l("td",null,"!lay-html"),l("td",null,"layui-vue-html \u6A21\u677F")]),l("tr",null,[l("td",null,"!lay-html-es"),l("td",null,"layui-vue-html ES Module \u6A21\u677F")])])],-1),k=l("blockquote",null,[l("p",null,[t("\u6309 "),l("code",null,"Ctrl + Shift + P"),t("\uFF0C\u6253\u5F00\u547D\u4EE4\u9762\u677F\uFF0C\u8F93\u5165 "),l("code",null,"layui icon"),t(", \u9009\u62E9 "),l("code",null,"Open layui icon document"),t("\uFF0C\u6253\u5F00\u56FE\u6807\u6587\u6863")])],-1),V=l("blockquote",null,[l("p",null,"\u9009\u62E9\u9700\u8981\u7684\u56FE\u6807\uFF0C\u70B9\u51FB\u590D\u5236")],-1),C=l("blockquote",null,[l("p",null,[l("img",{src:"https://s2.loli.net/2022/09/06/hsVgJcaWqAoZG1k.png",alt:"\u56FE\u6807"})])],-1),D={},T={__name:"plugin",setup(q,{expose:o}){return o({frontmatter:{}}),(S,N)=>{const n=u("lay-field"),i=u("lay-table-box");return s(),d("div",r,[e(n,{id:"Visual Studio Code \u63D2\u4EF6",title:"Visual Studio Code \u63D2\u4EF6",style:{"margin-top":"21px","margin-bottom":"20px"}}),c,e(n,{id:"\u5B89\u88C5",title:"\u5B89\u88C5",style:{"margin-top":"21px","margin-bottom":"20px"}}),p,e(n,{id:"\u81EA\u52A8\u5B8C\u6210",title:"\u81EA\u52A8\u5B8C\u6210",style:{"margin-top":"21px","margin-bottom":"20px"}}),_,m,y,e(n,{id:"\u6587\u6863\u60AC\u505C\u63D0\u793A",title:"\u6587\u6863\u60AC\u505C\u63D0\u793A",style:{"margin-top":"21px","margin-bottom":"20px"}}),g,h,e(n,{id:"\u4EE3\u7801\u7247\u6BB5",title:"\u4EE3\u7801\u7247\u6BB5",style:{"margin-top":"21px","margin-bottom":"20px"}}),b,v,x,e(i,null,{default:a(()=>[f]),_:1}),e(n,{id:"\u56FE\u6807\u9009\u53D6",title:"\u56FE\u6807\u9009\u53D6",style:{"margin-top":"21px","margin-bottom":"20px"}}),k,V,C])}}};export{T as default,D as frontmatter};

View File

@ -0,0 +1,20 @@
<script lang="ts">
export default {
name: "CodeCircleIcon",
};
</script>
<script setup lang="ts">
import LayIcon from "../component/icon/index";
const props = defineProps<{
color?: string;
size?: string;
}>();
</script>
<template>
<lay-icon
:color="props.color"
:size="props.size"
type="layui-icon-code-circle"
/>
</template>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,202 @@
<script lang="ts">
export default {
name: "LayStepItem",
};
</script>
<script setup lang="ts">
import {
ref,
inject,
onMounted,
computed,
getCurrentInstance,
onBeforeUnmount,
reactive,
withDefaults,
} from "vue";
import { LayIcon } from "@layui/icons-vue";
import type { ComputedRef } from "vue";
export interface StepItemProps {
title?: string;
content?: string;
icon?: string;
status?: string;
}
const props = withDefaults(defineProps<StepItemProps>(), {
title: "",
content: "",
icon: "",
status: "",
});
const index = ref(-1);
const parents: any = inject("LayStep");
const currentInstance: any = getCurrentInstance();
const setIndex = (val: number) => {
index.value = val;
};
const onChange = (index: any) => {
parents.change(index);
};
const stepsCount = computed(() => {
return parents.steps.value.length;
});
const currentStatus = computed(() => {
return parents.props.currentStatus;
});
const simple = computed(() => {
return parents.props.simple;
});
const composition = computed(() => {
return parents.props.composition;
});
const isCurrent = computed(() => {
return parents.props.active;
});
const isCurrentBorder = computed(() => {
return parents.props.active + 1;
});
const space = computed(() => {
return parents.props.space;
});
const isVertical = computed(() => {
return parents.props.direction === "vertical";
});
const isCenter = computed(() => {
return parents.props.center;
});
const isLineActive: ComputedRef<boolean> = computed(() => {
return index.value <= parents.props.active - 1;
});
const isWait: ComputedRef<boolean> = computed(() => {
return index.value === parents.props.active + 1;
});
const isSimpleActive: ComputedRef<boolean> = computed(() => {
return index.value - 1 <= parents.props.active;
});
const isActive: ComputedRef<boolean> = computed(() => {
return index.value <= parents.props.active;
});
const isLast: ComputedRef<boolean> = computed(() => {
return (
parents.steps.value[stepsCount.value - 1]?.itemId === currentInstance.uid
);
});
const isStart: ComputedRef<boolean> = computed(() => {
return parents.steps.value[0]?.itemId === currentInstance.uid;
});
const stepItemState = reactive({
itemId: computed(() => currentInstance?.uid),
setIndex,
});
parents.steps.value = [...parents.steps.value, stepItemState];
onMounted(() => {});
onBeforeUnmount(() => {
parents.steps.value = parents.steps.value.filter(
(instance: { itemId: any }) => instance.itemId !== currentInstance.uid
);
});
</script>
<template>
<div
v-if="!simple"
:class="[
'lay-step-item',
isLast && !isCenter && composition !== 'row' ? 'lay-step-item-last' : '',
isCenter ? 'is-item-center' : '',
isVertical ? 'is-vertical' : '',
]"
:style="{ flexBasis: space, flexGrow: space === 'auto' ? 1 : 0 }"
>
<div
:class="[
!isLast
? isLineActive
? `lay-step-item-line lay-step-item-line-${status || 'active'}`
: 'lay-step-item-line'
: '',
isCenter ? 'is-line-center' : '',
]"
>
<div
:class="[
'lay-step-item-pace',
isActive ? `lay-step-item-active` : '',
isCurrent === index ? `lay-step-item--${currentStatus}` : '',
status ? `lay-step-item-${status}` : '',
isWait ? 'lay-step-item-wait' : '',
isCenter ? 'is-center' : '',
]"
@click="onChange(index + 1)"
>
<slot name="pace">
<template v-if="icon">
<lay-icon :type="icon"></lay-icon>
</template>
<template v-else>
<span v-if="!isActive">{{ index + 1 }}</span>
<lay-icon
v-else
:type="status === 'fail' ? 'layui-icon-close' : 'layui-icon-ok'"
></lay-icon>
</template>
</slot>
</div>
</div>
<div
:class="[
'lay-step-item-content',
composition === 'row' ? 'lay-step-item-content-row' : '',
isActive ? `lay-step-item-content-active` : '',
isCurrent === index ? `lay-step-item-content--${currentStatus}` : '',
status ? `lay-step-item-content-${status}` : '',
isWait ? 'lay-step-item-content-wait' : '',
]"
@click="onChange(index + 1)"
>
<slot>
<div class="lay-step-item-content-title">{{ title }}</div>
<p>{{ content }}</p>
</slot>
</div>
</div>
<div
v-else
:class="[
'lay-step-item',
'lay-step-simple',
!isStart ? 'lay-step-item-simple' : '',
'lay-step-item-simple-border',
isActive ? 'lay-step-item-simple-active' : '',
isCurrent === index ? `lay-step-item-simple-${currentStatus}` : '',
isCurrentBorder === index
? `lay-step-item-simple-${currentStatus}-border`
: '',
isSimpleActive ? 'lay-step-item-simple-active-border' : '',
]"
@click="onChange(index + 1)"
>
<slot>{{ index + 1 }}.{{ title }}</slot>
</div>
</template>

View File

@ -0,0 +1,16 @@
<script lang="ts">
export default {
name: "LayerIcon",
};
</script>
<script setup lang="ts">
import LayIcon from "../component/icon/index";
const props = defineProps<{
color?: string;
size?: string;
}>();
</script>
<template>
<lay-icon :color="props.color" :size="props.size" type="layui-icon-layer" />
</template>

View File

@ -0,0 +1,168 @@
export { default as HeartFillIcon } from "./HeartFillIcon.vue";
export { default as HeartIcon } from "./HeartIcon.vue";
export { default as LightIcon } from "./LightIcon.vue";
export { default as TimeIcon } from "./TimeIcon.vue";
export { default as BluetoothIcon } from "./BluetoothIcon.vue";
export { default as AtIcon } from "./AtIcon.vue";
export { default as MuteIcon } from "./MuteIcon.vue";
export { default as MikeIcon } from "./MikeIcon.vue";
export { default as KeyIcon } from "./KeyIcon.vue";
export { default as GiftIcon } from "./GiftIcon.vue";
export { default as EmailIcon } from "./EmailIcon.vue";
export { default as RssIcon } from "./RssIcon.vue";
export { default as WifiIcon } from "./WifiIcon.vue";
export { default as LogoutIcon } from "./LogoutIcon.vue";
export { default as AndroidIcon } from "./AndroidIcon.vue";
export { default as IosIcon } from "./IosIcon.vue";
export { default as WindowsIcon } from "./WindowsIcon.vue";
export { default as TransferIcon } from "./TransferIcon.vue";
export { default as ServiceIcon } from "./ServiceIcon.vue";
export { default as SubtractionIcon } from "./SubtractionIcon.vue";
export { default as AdditionIcon } from "./AdditionIcon.vue";
export { default as SliderIcon } from "./SliderIcon.vue";
export { default as PrintIcon } from "./PrintIcon.vue";
export { default as ExportIcon } from "./ExportIcon.vue";
export { default as ColsIcon } from "./ColsIcon.vue";
export { default as ScreenRestoreIcon } from "./ScreenRestoreIcon.vue";
export { default as ScreenFullIcon } from "./ScreenFullIcon.vue";
export { default as RateHalfIcon } from "./RateHalfIcon.vue";
export { default as RateIcon } from "./RateIcon.vue";
export { default as RateSolidIcon } from "./RateSolidIcon.vue";
export { default as CellphoneIcon } from "./CellphoneIcon.vue";
export { default as VercodeIcon } from "./VercodeIcon.vue";
export { default as LoginWechatIcon } from "./LoginWechatIcon.vue";
export { default as LoginQqIcon } from "./LoginQqIcon.vue";
export { default as LoginWeiboIcon } from "./LoginWeiboIcon.vue";
export { default as PasswordIcon } from "./PasswordIcon.vue";
export { default as UsernameIcon } from "./UsernameIcon.vue";
export { default as RefreshThreeIcon } from "./RefreshThreeIcon.vue";
export { default as AuzIcon } from "./AuzIcon.vue";
export { default as SpreadLeftIcon } from "./SpreadLeftIcon.vue";
export { default as ShrinkRightIcon } from "./ShrinkRightIcon.vue";
export { default as SnowflakeIcon } from "./SnowflakeIcon.vue";
export { default as TipsIcon } from "./TipsIcon.vue";
export { default as NoteIcon } from "./NoteIcon.vue";
export { default as HomeIcon } from "./HomeIcon.vue";
export { default as SeniorIcon } from "./SeniorIcon.vue";
export { default as RefreshIcon } from "./RefreshIcon.vue";
export { default as RefreshOneIcon } from "./RefreshOneIcon.vue";
export { default as FlagIcon } from "./FlagIcon.vue";
export { default as ThemeIcon } from "./ThemeIcon.vue";
export { default as NoticeIcon } from "./NoticeIcon.vue";
export { default as WebsiteIcon } from "./WebsiteIcon.vue";
export { default as ConsoleIcon } from "./ConsoleIcon.vue";
export { default as FaceSurprisedIcon } from "./FaceSurprisedIcon.vue";
export { default as SetIcon } from "./SetIcon.vue";
export { default as TemplateOneIcon } from "./TemplateOneIcon.vue";
export { default as AppIcon } from "./AppIcon.vue";
export { default as TemplateIcon } from "./TemplateIcon.vue";
export { default as PraiseIcon } from "./PraiseIcon.vue";
export { default as TreadIcon } from "./TreadIcon.vue";
export { default as MaleIcon } from "./MaleIcon.vue";
export { default as FemaleIcon } from "./FemaleIcon.vue";
export { default as CameraIcon } from "./CameraIcon.vue";
export { default as CameraFillIcon } from "./CameraFillIcon.vue";
export { default as MoreIcon } from "./MoreIcon.vue";
export { default as MoreVerticalIcon } from "./MoreVerticalIcon.vue";
export { default as RmbIcon } from "./RmbIcon.vue";
export { default as DollarIcon } from "./DollarIcon.vue";
export { default as DiamondIcon } from "./DiamondIcon.vue";
export { default as FireIcon } from "./FireIcon.vue";
export { default as ReturnIcon } from "./ReturnIcon.vue";
export { default as LocationIcon } from "./LocationIcon.vue";
export { default as ReadIcon } from "./ReadIcon.vue";
export { default as SurveyIcon } from "./SurveyIcon.vue";
export { default as FaceSmileIcon } from "./FaceSmileIcon.vue";
export { default as FaceCryIcon } from "./FaceCryIcon.vue";
export { default as CartSimpleIcon } from "./CartSimpleIcon.vue";
export { default as CartIcon } from "./CartIcon.vue";
export { default as NextIcon } from "./NextIcon.vue";
export { default as PrevIcon } from "./PrevIcon.vue";
export { default as UploadDragIcon } from "./UploadDragIcon.vue";
export { default as UploadIcon } from "./UploadIcon.vue";
export { default as DownloadCircleIcon } from "./DownloadCircleIcon.vue";
export { default as ComponentIcon } from "./ComponentIcon.vue";
export { default as FileBIcon } from "./FileBIcon.vue";
export { default as UserIcon } from "./UserIcon.vue";
export { default as FindFillIcon } from "./FindFillIcon.vue";
export { default as LoadingIcon } from "./LoadingIcon.vue";
export { default as LoadingOneIcon } from "./LoadingOneIcon.vue";
export { default as AddOneIcon } from "./AddOneIcon.vue";
export { default as PlayIcon } from "./PlayIcon.vue";
export { default as PauseIcon } from "./PauseIcon.vue";
export { default as HeadsetIcon } from "./HeadsetIcon.vue";
export { default as VideoIcon } from "./VideoIcon.vue";
export { default as VoiceIcon } from "./VoiceIcon.vue";
export { default as SpeakerIcon } from "./SpeakerIcon.vue";
export { default as FontsDelIcon } from "./FontsDelIcon.vue";
export { default as FontsCodeIcon } from "./FontsCodeIcon.vue";
export { default as FontsHtmlIcon } from "./FontsHtmlIcon.vue";
export { default as FontsStrongIcon } from "./FontsStrongIcon.vue";
export { default as UnlinkIcon } from "./UnlinkIcon.vue";
export { default as PictureIcon } from "./PictureIcon.vue";
export { default as LinkIcon } from "./LinkIcon.vue";
export { default as FaceSmileBIcon } from "./FaceSmileBIcon.vue";
export { default as AlignLeftIcon } from "./AlignLeftIcon.vue";
export { default as AlignRightIcon } from "./AlignRightIcon.vue";
export { default as AlignCenterIcon } from "./AlignCenterIcon.vue";
export { default as FontsUIcon } from "./FontsUIcon.vue";
export { default as FontsIIcon } from "./FontsIIcon.vue";
export { default as TabsIcon } from "./TabsIcon.vue";
export { default as RadioIcon } from "./RadioIcon.vue";
export { default as CircleIcon } from "./CircleIcon.vue";
export { default as EditIcon } from "./EditIcon.vue";
export { default as ShareIcon } from "./ShareIcon.vue";
export { default as DeleteIcon } from "./DeleteIcon.vue";
export { default as FormIcon } from "./FormIcon.vue";
export { default as CellphoneFineIcon } from "./CellphoneFineIcon.vue";
export { default as DialogueIcon } from "./DialogueIcon.vue";
export { default as FontsClearIcon } from "./FontsClearIcon.vue";
export { default as LayerIcon } from "./LayerIcon.vue";
export { default as DateIcon } from "./DateIcon.vue";
export { default as WaterIcon } from "./WaterIcon.vue";
export { default as CodeCircleIcon } from "./CodeCircleIcon.vue";
export { default as CarouselIcon } from "./CarouselIcon.vue";
export { default as PrevCircleIcon } from "./PrevCircleIcon.vue";
export { default as LayoutsIcon } from "./LayoutsIcon.vue";
export { default as UtilIcon } from "./UtilIcon.vue";
export { default as TempleateOneIcon } from "./TempleateOneIcon.vue";
export { default as UploadCircleIcon } from "./UploadCircleIcon.vue";
export { default as TreeIcon } from "./TreeIcon.vue";
export { default as TableIcon } from "./TableIcon.vue";
export { default as ChartIcon } from "./ChartIcon.vue";
export { default as ChartScreenIcon } from "./ChartScreenIcon.vue";
export { default as EngineIcon } from "./EngineIcon.vue";
export { default as TriangleDIcon } from "./TriangleDIcon.vue";
export { default as TriangleRIcon } from "./TriangleRIcon.vue";
export { default as FileIcon } from "./FileIcon.vue";
export { default as SetSmIcon } from "./SetSmIcon.vue";
export { default as ReduceCircleIcon } from "./ReduceCircleIcon.vue";
export { default as AddCircleIcon } from "./AddCircleIcon.vue";
export { default as NotFoundIcon } from "./NotFoundIcon.vue";
export { default as AboutIcon } from "./AboutIcon.vue";
export { default as UpIcon } from "./UpIcon.vue";
export { default as DownIcon } from "./DownIcon.vue";
export { default as LeftIcon } from "./LeftIcon.vue";
export { default as RightIcon } from "./RightIcon.vue";
export { default as CircleDotIcon } from "./CircleDotIcon.vue";
export { default as SearchIcon } from "./SearchIcon.vue";
export { default as SetFillIcon } from "./SetFillIcon.vue";
export { default as GroupIcon } from "./GroupIcon.vue";
export { default as FriendsIcon } from "./FriendsIcon.vue";
export { default as ReplyFillIcon } from "./ReplyFillIcon.vue";
export { default as MenuFillIcon } from "./MenuFillIcon.vue";
export { default as LogIcon } from "./LogIcon.vue";
export { default as PictureFineIcon } from "./PictureFineIcon.vue";
export { default as FaceSmileFineIcon } from "./FaceSmileFineIcon.vue";
export { default as ListIcon } from "./ListIcon.vue";
export { default as ReleaseIcon } from "./ReleaseIcon.vue";
export { default as OkIcon } from "./OkIcon.vue";
export { default as HelpIcon } from "./HelpIcon.vue";
export { default as ChatIcon } from "./ChatIcon.vue";
export { default as TopIcon } from "./TopIcon.vue";
export { default as StarIcon } from "./StarIcon.vue";
export { default as StarFillIcon } from "./StarFillIcon.vue";
export { default as CloseFillIcon } from "./CloseFillIcon.vue";
export { default as CloseIcon } from "./CloseIcon.vue";
export { default as OkCircleIcon } from "./OkCircleIcon.vue";
export { default as AddCircleFineIcon } from "./AddCircleFineIcon.vue";

View File

@ -0,0 +1,33 @@
import{f as T,r as s,o as c,j as r,h as t,g as o,B as p,v as a,F as B,k as N,d as j,i as n}from"./.pnpm.8fb36023.js";const M={class:"markdown-body"},S=n("p",{class:"describe-plugin"},"\u865A\u62DF\u6EDA\u52A8, \u5E38\u7528\u4E8E\u7F8E\u5316\u6D4F\u89C8\u5668\u539F\u751F\u6EDA\u52A8\u6761\u3002",-1),V=n("p",null,[a("\u4F7F\u7528 "),n("code",null,"lay-scroll"),a(" \u6807\u7B7E, \u521B\u5EFA\u4E00\u4E2A\u865A\u62DF\u6EDA\u52A8\u5BB9\u5668")],-1),z=n("pre",null,[n("code",{"v-pre":""},[n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-button")]),a(),n("span",{class:"token attr-name"},"@click"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("changeTotal"),n("span",{class:"token punctuation"},'"')]),n("span",{class:"token punctuation"},">")]),a("\u4FEE\u6539\u6570\u636E"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-button")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-button")]),a(),n("span",{class:"token attr-name"},"@click"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("changeMaxTotal"),n("span",{class:"token punctuation"},'"')]),n("span",{class:"token punctuation"},">")]),a("\u4FEE\u6539\u6570\u636E"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-button")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-scroll")]),a(),n("span",{class:"token attr-name"},"height"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("200px"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token special-attr"},[n("span",{class:"token attr-name"},"style"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),n("span",{class:"token value css language-css"},[n("span",{class:"token property"},"background-color"),n("span",{class:"token punctuation"},":"),a(" whitesmoke")]),n("span",{class:"token punctuation"},'"')])]),a(),n("span",{class:"token attr-name"},"thumbColor"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("#000000"),n("span",{class:"token punctuation"},'"')]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-container")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-row")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-col")]),a(),n("span",{class:"token attr-name"},"span"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("24"),n("span",{class:"token punctuation"},'"')]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-panel")]),a(`
`),n("span",{class:"token attr-name"},"v-for"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("(n, index) in total"),n("span",{class:"token punctuation"},'"')]),a(`
`),n("span",{class:"token attr-name"},":key"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("n"),n("span",{class:"token punctuation"},'"')]),a(`
`),n("span",{class:"token special-attr"},[n("span",{class:"token attr-name"},"style"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),n("span",{class:"token value css language-css"},[n("span",{class:"token property"},"margin"),n("span",{class:"token punctuation"},":"),a(" 10px"),n("span",{class:"token punctuation"},";"),a(),n("span",{class:"token property"},"padding"),n("span",{class:"token punctuation"},":"),a(" 10px")]),n("span",{class:"token punctuation"},'"')])]),a(`
`),n("span",{class:"token punctuation"},">")]),a("\u5185\u5BB9"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-panel")]),a(`
`),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-col")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-row")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-container")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-scroll")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("script")]),a(),n("span",{class:"token attr-name"},"lang"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("ts"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"setup"),n("span",{class:"token punctuation"},">")]),n("span",{class:"token script"},[n("span",{class:"token language-javascript"},[a(`
`),n("span",{class:"token keyword"},"import"),a(),n("span",{class:"token punctuation"},"{"),a(" ref "),n("span",{class:"token punctuation"},"}"),a(),n("span",{class:"token keyword"},"from"),a(),n("span",{class:"token string"},"'vue'"),a(`
`),n("span",{class:"token keyword"},"const"),a(" total "),n("span",{class:"token operator"},"="),a(),n("span",{class:"token function"},"ref"),n("span",{class:"token punctuation"},"("),n("span",{class:"token number"},"50"),n("span",{class:"token punctuation"},")"),a(`
`),n("span",{class:"token keyword"},"const"),a(),n("span",{class:"token function-variable function"},"changeTotal"),a(),n("span",{class:"token operator"},"="),a(),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),a(),n("span",{class:"token operator"},"=>"),a(),n("span",{class:"token punctuation"},"{"),a(`
total`),n("span",{class:"token punctuation"},"."),a("value "),n("span",{class:"token operator"},"="),a(),n("span",{class:"token number"},"2"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`),n("span",{class:"token keyword"},"const"),a(),n("span",{class:"token function-variable function"},"changeMaxTotal"),a(),n("span",{class:"token operator"},"="),a(),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),a(),n("span",{class:"token operator"},"=>"),a(),n("span",{class:"token punctuation"},"{"),a(`
total`),n("span",{class:"token punctuation"},"."),a("value "),n("span",{class:"token operator"},"="),a(),n("span",{class:"token number"},"50"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`)])]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("script")]),n("span",{class:"token punctuation"},">")]),a(`
`)])],-1),F=n("table",null,[n("thead",null,[n("tr",null,[n("th",null,"\u5C5E\u6027"),n("th",null,"\u63CF\u8FF0"),n("th",null,"\u53EF\u9009\u503C")])]),n("tbody",null,[n("tr",null,[n("td",null,"height"),n("td",null,"\u9AD8\u5EA6"),n("td",null,"\u2013")]),n("tr",null,[n("td",null,"thumbWidth"),n("td",null,"\u6ED1\u5757\u5BBD\u5EA6"),n("td",null,"\u2013")]),n("tr",null,[n("td",null,"thumbColor"),n("td",null,"\u6ED1\u5757\u989C\u8272"),n("td",null,"\u2013")]),n("tr",null,[n("td",null,"trackColor"),n("td",null,"\u6ED1\u69FD\u989C\u8272"),n("td",null,"\u2013")])])],-1),E={style:{display:"flex","justify-content":"space-between","margin-top":"20px"}},G={},H={__name:"scroll",setup(I,{expose:d}){let l=T(50),y=()=>{l.value=2},_=()=>{l.value=50};return d({frontmatter:{}}),(L,W)=>{const g=s("lay-anchor"),e=s("lay-field"),u=s("lay-button"),m=s("lay-panel"),h=s("lay-col"),f=s("lay-row"),b=s("lay-container"),v=s("lay-scroll"),x=s("lay-code"),w=s("lay-table-box"),C=s("lay-contributor"),k=s("lay-icon"),i=s("router-link");return c(),r("div",M,[t(g,{anchors:"\u57FA\u672C\u4ECB\u7ECD,\u57FA\u7840\u4F7F\u7528,Scroll \u5C5E\u6027",currIndex:-1,show:!0}),t(e,{id:"\u57FA\u672C\u4ECB\u7ECD",title:"\u57FA\u672C\u4ECB\u7ECD",style:{"margin-top":"21px","margin-bottom":"20px"}}),S,t(e,{id:"\u57FA\u7840\u4F7F\u7528",title:"\u57FA\u7840\u4F7F\u7528",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(x,null,{description:o(()=>[V]),code:o(()=>[z]),default:o(()=>[t(u,{onClick:p(y)},{default:o(()=>[a("\u4FEE\u6539\u6570\u636E")]),_:1},8,["onClick"]),t(u,{onClick:p(_)},{default:o(()=>[a("\u4FEE\u6539\u6570\u636E")]),_:1},8,["onClick"]),t(v,{height:"200px",style:{"background-color":"whitesmoke"},thumbColor:"#000000"},{default:o(()=>[t(b,null,{default:o(()=>[t(f,null,{default:o(()=>[t(h,{span:"24"},{default:o(()=>[(c(!0),r(B,null,N(p(l),(q,A)=>(c(),j(m,{key:q,style:{margin:"10px",padding:"10px"}},{default:o(()=>[a("\u5185\u5BB9")]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(e,{id:"Scroll \u5C5E\u6027",title:"Scroll \u5C5E\u6027",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(w,null,{default:o(()=>[F]),_:1}),t(C,{"file-path":"scroll"}),n("div",E,[n("div",null,[t(i,{to:"/zh-CN/components/result",class:"lay-link",style:{display:""}},{default:o(()=>[t(k,{type:"layui-icon-left"}),a("\u7ED3\u679C")]),_:1})]),n("div",null,[t(i,{to:"/zh-CN/components/noticeBar",class:"lay-link",style:{display:""}},{default:o(()=>[a("\u901A\u544A\u680F "),t(k,{type:"layui-icon-right"})]),_:1})])])])}}};export{H as default,G as frontmatter};

View File

@ -0,0 +1 @@
x+)JMU06c040031QÈÌKI­ÐË*fPq‰ÝÖаyŸíŒ7Ÿ;n7Ú1=é

View File

@ -0,0 +1,5 @@
declare const _default: {
name: string;
class: string;
}[];
export default _default;

View File

@ -0,0 +1,144 @@
<template>
<lay-layout>
<lay-side>
<lay-scroll style="overflow-y: scroll">
<ul class="layui-menu layui-menu-lg layui-menu-docs">
<li
v-for="menu in menus"
:key="menu"
class="layui-menu-item-group"
lay-options="{type: 'group', isAllowSpread: true}"
>
<div class="layui-menu-body-title">{{ menu.title }}</div>
<hr />
<ul>
<li
v-for="children in menu.children"
:key="children"
:class="[
currentPath === children.path
? 'layui-menu-item-checked2'
: '',
]"
@click="handleClick(children)"
>
<div class="layui-menu-body-title">
<router-link :to="children.path">
<span>{{ children.title }}</span>
<span class="layui-font-12 layui-font-gray">
{{ children.subTitle }}
</span>
</router-link>
</div>
</li>
</ul>
</li>
</ul>
</lay-scroll>
</lay-side>
<lay-body>
<div style="padding: 20px">
<router-view />
</div>
</lay-body>
</lay-layout>
</template>
<script>
import { ref, watch } from "vue";
import { useRouter, useRoute } from "vue-router";
export default {
setup() {
const route = useRoute();
const router = useRouter();
const currentPath = ref("/zh-CN/guide");
watch(
() => route.path,
(val) => {
currentPath.value = val;
},
{
immediate: true,
deep: true,
}
);
const menus = [
{
id: 1,
title: "基础",
children: [
{
id: 1,
title: "介绍",
subTitle: "introduce",
path: "/zh-CN/guide/introduce",
},
{
id: 2,
title: "安装",
subTitle: "started",
path: "/zh-CN/guide/getStarted",
},
{
id: 3,
title: "更新",
subTitle: "change",
path: "/zh-CN/guide/changelog",
},
{
id: 4,
title: "主题",
subTitle: "theme",
path: "/zh-CN/guide/theme",
},
{
id: 5,
title: "夜间",
subTitle: "dark",
path: "/zh-CN/guide/dark",
},
{
id: 6,
title: "语言",
subTitle: "locale",
path: "/zh-CN/guide/locale",
},
{
id: 7,
title: "问题",
subTitle: "problem",
path: "/zh-CN/guide/problem",
},
{
id: 8,
title: "插件",
subTitle: "member",
path: "/zh-CN/guide/plugin",
},
{
id: 9,
title: "团队",
subTitle: "member",
path: "/zh-CN/guide/member",
},
],
},
];
const selected = ref(1);
const handleClick = function (menu) {
selected.value = menu.id;
router.push(menu.path);
};
return {
menus,
selected,
currentPath,
handleClick,
};
},
};
</script>

View File

@ -0,0 +1,25 @@
import { w as withInstall } from "../badge/index2.js";
import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from "vue";
var index = /* @__PURE__ */ (() => ".layui-container{position:relative;margin:0 auto;padding:0 15px;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}\n")();
const __default__ = {
name: "LayContainer"
};
const _sfc_main = defineComponent({
...__default__,
props: {
fluid: { default: false }
},
setup(__props) {
const props = __props;
const classes = computed(() => props.fluid ? "layui-fluid" : "layui-container");
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(unref(classes))
}, [
renderSlot(_ctx.$slots, "default")
], 2);
};
}
});
const component = withInstall(_sfc_main);
export { component as default };

View File

@ -0,0 +1,19 @@
<template>
<svg
focusable="false"
class=""
data-icon="eye-invisible"
width="1em"
height="1em"
fill="currentColor"
aria-hidden="true"
viewBox="64 64 896 896"
>
<path
d="M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"
></path>
<path
d="M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"
></path>
</svg>
</template>

View File

@ -0,0 +1,140 @@
:root {
--input-border-radius: var(--global-border-radius);
--input-border-color: var(--global-neutral-color-3);
}
@input-lg: 44px;
@input-md: 38px;
@input-sm: 32px;
@input-xs: 26px;
.set-size(@size) {
& {
height: @size;
.layui-input {
height: @size;
line-height: @size;
}
}
}
.layui-input {
width: 100%;
height: 38px;
line-height: 38px;
border-width: 1px;
border-style: solid;
border-color: var(--input-border-color);
border-radius: var(--input-border-radius);
display: inline-flex;
}
.layui-input input{
height: 38px;
line-height: 38px;
background-color: #fff;
color: rgba(0, 0, 0, 0.85);
padding-left: 10px;
display: inline-block;
border: none;
height: 100%;
width: 100%;
}
.layui-input-append {
background-color: #fafafa;
border-left: 1px solid var(--input-border-color);
display: flex;
padding: 0 15px;
flex: none;
align-items: center;
}
.layui-input-prepend {
background-color: #fafafa;
border-right: 1px solid var(--input-border-color);
display: flex;
padding: 0 15px;
flex: none;
align-items: center;
}
.layui-input-wrapper {
width: 100%;
display: inline-flex;
border: none;
}
.layui-input:hover,
.layui-input:focus-within {
border-color: #d2d2d2;
}
.layui-input-clear,
.layui-input-prefix,
.layui-input-suffix,
.layui-input-password {
background-color: white;
}
.layui-input-clear,
.layui-input-password,
.layui-input-prefix,
.layui-input-suffix {
display: flex;
flex: none;
align-items: center;
padding: 0 10px;
}
.layui-input-has-prefix {
input {
padding: 0;
}
}
.layui-input-clear,
.layui-input-password {
color: rgba(0, 0, 0, 0.45);
}
.layui-input-clear:hover {
opacity: 0.6;
}
.layui-input input::-webkit-input-placeholder {
line-height: 1.3;
}
.layui-input input::-ms-reveal {
display: none;
}
.layui-input-disabled {
border-color: var(--input-border-color)!important;
}
.layui-input-disabled {
opacity: 0.6;
}
.layui-input-disabled,
.layui-input-disabled * {
cursor: not-allowed !important;
}
.layui-input{
&[size="lg"] {
.set-size(@input-lg);
}
&[size="md"] {
.set-size(@input-md);
}
&[size="sm"] {
.set-size(@input-sm);
}
&[size="xs"] {
.set-size(@input-xs);
}
}

View File

@ -0,0 +1,238 @@
<script lang="ts">
export default {
name: "LayFullscreen",
};
</script>
<script lang="ts" setup>
import {
ref,
withDefaults,
computed,
onMounted,
onBeforeUnmount,
Ref,
} from "vue";
import "./index.less";
export interface FullscreenProps {
target?: HTMLElement;
immersive?: boolean;
position?: string;
zIndex?: string;
}
const props = withDefaults(defineProps<FullscreenProps>(), {
immersive: true,
});
const emit = defineEmits(["fullscreenchange"]);
type MethodMap = [
"requestFullscreen",
"exitFullscreen",
"fullscreenElement",
"fullscreenEnabled",
"fullscreenchange",
"fullscreenerror"
];
const methodMap: any[] = [
[
"requestFullscreen",
"exitFullscreen",
"fullscreenElement",
"fullscreenEnabled",
"fullscreenchange",
"fullscreenerror",
],
[
"webkitRequestFullscreen",
"webkitExitFullscreen",
"webkitFullscreenElement",
"webkitFullscreenEnabled",
"webkitfullscreenchange",
"webkitfullscreenerror",
],
[
"webkitRequestFullScreen",
"webkitCancelFullScreen",
"webkitCurrentFullScreenElement",
"webkitCancelFullScreen",
"webkitfullscreenchange",
"webkitfullscreenerror",
],
[
"mozRequestFullScreen",
"mozCancelFullScreen",
"mozFullScreenElement",
"mozFullScreenEnabled",
"mozfullscreenchange",
"mozfullscreenerror",
],
[
"msRequestFullscreen",
"msExitFullscreen",
"msFullscreenElement",
"msFullscreenEnabled",
"MSFullscreenChange",
"MSFullscreenError",
],
];
// 默认请求全屏的元素
const defaultElement: HTMLElement = document.documentElement;
// 要请求全屏显示的元素
let targetEl: Ref<HTMLElement | undefined> = ref<HTMLElement | undefined>(
props.target || defaultElement
);
// 是否全屏
const isFullscreen = ref(false);
// 是否支持全屏
let isSupported: boolean = false;
// 包装全屏 API,屏蔽浏览器差异
const unprefixedMethods: MethodMap = methodMap[0];
const fullscreenAPI: Record<string, string> = {};
for (const methodList of methodMap) {
if (methodList[1] in document) {
for (const [index, method] of methodList.entries()) {
fullscreenAPI[unprefixedMethods[index]] = method;
}
isSupported = true;
break;
}
}
/**
* 进入全屏
* @param targetEl 请求全屏显示的元素,不是所有元素都支持,建议用 div
*/
async function enter(targetEl: HTMLElement | undefined) {
if (!isSupported) return;
if (!targetEl) targetEl = activeEl.value || defaultElement;
let fullscreenEnter = null;
if (props.immersive) {
// @ts-ignore
fullscreenEnter = Promise.resolve(
// @ts-ignore
targetEl[fullscreenAPI.requestFullscreen]()
);
} else {
styleLayFullscreen(targetEl, false);
fullscreenEnter = Promise.resolve(
targetEl?.classList.add("layui-fullscreen")
);
}
return await fullscreenEnter?.then(() => {
isFullscreen.value = true;
emit("fullscreenchange", isFullscreen.value);
return !!document.fullscreenElement;
});
}
/**
* 退出全屏
* @param targetEl 退出全屏元素
*/
async function exit(targetEl: HTMLElement | Document | undefined) {
if (!isSupported) return;
if (!targetEl) targetEl = activeEl.value || document;
let fullscreenExit = null;
if (props.immersive) {
// @ts-ignore
fullscreenExit = Promise.resolve(document[fullscreenAPI.exitFullscreen]());
} else {
if (targetEl instanceof Document) return;
styleLayFullscreen(targetEl, true);
fullscreenExit = Promise.resolve(
targetEl?.classList.remove("layui-fullscreen")
);
}
return await fullscreenExit?.then(() => {
isFullscreen.value = false;
emit("fullscreenchange", isFullscreen.value);
return !!document.fullscreenElement;
});
}
/**
* 进入或退出全屏
*/
async function toggle() {
if (isFullscreen.value) {
await exit(activeEl.value);
} else {
await enter(activeEl.value);
}
}
/**
*
* @param el HTML 元素
* @param isRemove 是否移除样式
*/
const styleLayFullscreen = function (
el: HTMLElement,
isRemove: boolean = false
) {
el.style.position = isRemove ? "" : props.position || "";
el.style.zIndex = isRemove ? "" : props.zIndex || "";
};
const activeEl = computed(() => (targetEl.value = props.target));
/**
* 处理 fullscreenchange 和浏览器窗口内全屏 Escape 按键事件
* @param event 键盘事件
*/
const onFullscreenchange = function (event: KeyboardEvent) {
if (isFullscreen.value && !document.fullscreenElement) {
if (props.immersive) {
isFullscreen.value = false;
emit("fullscreenchange", isFullscreen.value);
} else if (event.key === "Escape") {
exit(activeEl.value);
}
}
};
/**
* 屏蔽 F11 按键原生事件,用 fullscreenAPI 代替
* @param event 键盘事件
*/
const onKeydownF11 = function (event: KeyboardEvent) {
// DOM 根节点全屏
let isRootNodeFullscreen =
props.immersive && (!activeEl.value || activeEl.value === defaultElement);
if (event.key === "F11" && isRootNodeFullscreen) {
event.preventDefault();
toggle();
}
};
onMounted(() => {
//@ts-ignore
document.addEventListener(fullscreenAPI.fullscreenchange, onFullscreenchange);
document.addEventListener("keydown", onFullscreenchange);
document.addEventListener("keydown", onKeydownF11);
});
onBeforeUnmount(() => {
//@ts-ignore
document.removeEventListener(
fullscreenAPI.fullscreenchange,
onFullscreenchange
);
document.removeEventListener("keydown", onFullscreenchange);
document.removeEventListener("keydown", onKeydownF11);
});
</script>
<template>
<slot
name="default"
:isFullscreen="isFullscreen"
:enter="enter"
:exit="exit"
:toggle="toggle"
></slot>
</template>

View File

@ -0,0 +1 @@
.lay-split-panel-item{display:flex;font-size:16px;font-weight:700;justify-content:center;align-items:center}

View File

@ -0,0 +1,33 @@
import { DropdownPlacement } from "./interface";
import { Component, VNode, VNodeTypes } from "vue";
export interface SlotChildren {
value?: VNode[];
}
export declare enum ShapeFlags {
ELEMENT = 1,
FUNCTIONAL_COMPONENT = 2,
STATEFUL_COMPONENT = 4,
COMPONENT = 6,
TEXT_CHILDREN = 8,
ARRAY_CHILDREN = 16,
SLOTS_CHILDREN = 32,
TELEPORT = 64,
SUSPENSE = 128,
COMPONENT_SHOULD_KEEP_ALIVE = 256,
COMPONENT_KEPT_ALIVE = 512
}
export declare const isScrollElement: (element: HTMLElement) => boolean;
export declare const getScrollElements: (container: HTMLElement | undefined) => HTMLElement[];
export declare const isElement: (vn: VNode) => boolean;
export declare const isComponent: (vn: VNode, type?: VNodeTypes) => type is Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
export declare const isArrayChildren: (vn: VNode, children: VNode["children"]) => children is VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
export declare const getChildrenArray: (vn: VNode) => VNode[] | undefined;
export declare const getFirstElementFromVNode: (vn: VNode) => HTMLElement | undefined;
export declare const getFirstElementFromChildren: (children: VNode[] | undefined) => HTMLElement | undefined;
export declare const useFirstElement: () => {
children: SlotChildren;
firstElement: import("vue").Ref<HTMLElement | undefined>;
};
export declare const transformPlacement: (placement: DropdownPlacement) => DropdownPlacement;

View File

@ -0,0 +1,2 @@
xm<>ÏnÂ0 ÆwîSX9Lé`UK
Ên»ì°'¨8¤4… HPþ Nï>'tœvˆ¾Øþü³Ýžt Œ•Ob¸ ÷jç¤V Äà>:šÂwì¸ú7h¶õ˜:ˆá]˜%y1cå|±¬V¼Ýu¢'ÁÕk4tK´ä5ÊØu2¹“l#·X|°2ë[ë ýäî<C3A4>õ'­Ç¯áªÓg\èò¡ÈÓ)iqÃg¢ RÆ©®þeÒ{å ,…”êc*´ <C2B4><C2A0>:Ƴ×H§x/»àÌŽZ*JHÜÂç<>Šµ:¹%¿N`

View File

@ -0,0 +1,2 @@
export { c as default } from "./index2.js";
import "vue";

View File

@ -0,0 +1,3 @@
xuSM<53>Ó0åœ_1Ê¥©ÔMá€<C3A1>Ò$•(BZÁa%à„88É´k”Ø=é¶ZúßÛu[è¥ñ|<¿yoÜôº<C3B4>7¯ß½}UÚÖÈ jW¥dÓ:Áè A‡[1õÏ €<16>~ǯ¢¹'ÒErZ%å2t×Iq,Ò4Þ¢ÉÁ£9”'I<>ª]ðYªŸØûš,~é5ùèi3ƒŠî•%¡ZtEKr￵z<C2B5>[mðô¤à¦«$ÞŽ«¿âîd7ZbCž/I4KÉQ³­ëŽã_b†G~0z´^ Ù`ÉHµ[13Ôã:FàSÕÊ%e«Õÿrm¯­h|o£u<C2A3>BqsÄ=% ·ZÑ_[ý!^ÆÞH…žQyvÄêl¾ð#vd&í4çÉ 
ü-uÆu¡Ì:?¸&ZsÍ#8üËÒH/­,©ÝÐáRQ>CRôŽj´ ®3GüjÏó ÅN<C385>àîèyæljîµÈeçÂËCþàWŠÉÇ ÓÞÅ®Z„þxv9?%{ÏS<C38F>[È¢Fë|’ÝÜ+z*À:Ï.lÀñåéÙ³«™es¨ê°4ÿ†åAZ¹ÁAïñœ¼}·<><C2B7> Œ½ ¬9[vrÏ3
´ÇIÞ1â<31>t<EFBFBD>Šsü{ô¬b×:XÃ,TÚGý4ƒüð<C3BC>¥“¢æ»ÜŸC_2|Í/ýzåoh‰fb

View File

@ -0,0 +1,109 @@
import{r as l,o as y,j as d,h as t,g as s,v as a,i as n}from"./.pnpm.8fb36023.js";const _={class:"markdown-body"},f=n("p",{class:"describe-plugin"},"\u5C06\u65F6\u95F4\u62BD\u8C61\u5230\u4E8C\u7EF4\u5E73\u9762\uFF0C\u5782\u76F4\u5448\u73B0\u4E00\u6BB5\u4ECE\u8FC7\u53BB\u5230\u73B0\u5728\u7684\u6545\u4E8B\u3002",-1),v=n("p",null,[a("\u4F7F\u7528 "),n("code",null,"lay-timeline"),a(" \u4E0E "),n("code",null,"lay-timeline-item"),a(" \u6807\u7B7E, \u521B\u5EFA\u65F6\u95F4\u7EBF")],-1),h=n("pre",null,[n("code",{"v-pre":""},[n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("template")]),a(),n("span",{class:"token attr-name"},"#title"),n("span",{class:"token punctuation"},">")]),a(`
8\u670818\u65E5
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("p")]),n("span",{class:"token punctuation"},">")]),a(`
layui vue \u7684\u4E00\u5207\u51C6\u5907\u5DE5\u4F5C\u4F3C\u4E4E\u90FD\u5DF2\u5230\u4F4D\u3002\u53D1\u5E03\u4E4B\u5F26\uFF0C\u4E00\u89E6\u5373\u53D1\u3002
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("br")]),n("span",{class:"token punctuation"},">")]),a(`\u4E0D\u6789\u8FD1\u767E\u4E2A\u65E5\u65E5\u591C\u591C\u4E0E\u4E4B\u4E3A\u4F34\u3002\u56E0\u5C0F\u800C\u5927\uFF0C\u56E0\u5F31\u800C\u5F3A\u3002
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("br")]),n("span",{class:"token punctuation"},">")]),a("\u65E0\u8BBA\u5B83\u80FD\u8D70\u591A\u8FDC\uFF0C\u6291\u6216\u5982\u4F55\u652F\u6491\uFF1F\u81F3\u5C11\u6211\u66FE\u503E\u6CE8\u5168\u5FC3\uFF0C\u65E0\u6028\u65E0\u6094 "),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("i")]),a(),n("span",{class:"token attr-name"},"class"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("layui-icon"),n("span",{class:"token punctuation"},'"')]),n("span",{class:"token punctuation"},">")]),a("\uE650"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("i")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("p")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("8\u670816\u65E5"),n("span",{class:"token punctuation"},'"')]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("p")]),n("span",{class:"token punctuation"},">")]),a("\u675C\u752B\u7684\u601D\u60F3\u6838\u5FC3\u662F\u5112\u5BB6\u7684\u4EC1\u653F\u601D\u60F3\uFF0C\u4ED6\u6709"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("em")]),n("span",{class:"token punctuation"},">")]),a("\u201C\u81F4\u541B\u5C27\u821C\u4E0A\uFF0C\u518D\u4F7F\u98CE\u4FD7\u6DF3\u201D"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("em")]),n("span",{class:"token punctuation"},">")]),a("\u7684\u5B8F\u4F1F\u62B1\u8D1F\u3002"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("p")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("ul")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("li")]),n("span",{class:"token punctuation"},">")]),a("\u300A\u767B\u9AD8\u300B"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("li")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("li")]),n("span",{class:"token punctuation"},">")]),a("\u300A\u8305\u5C4B\u4E3A\u79CB\u98CE\u6240\u7834\u6B4C\u300B"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("li")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("ul")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("8\u670815\u65E5"),n("span",{class:"token punctuation"},'"')]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("p")]),n("span",{class:"token punctuation"},">")]),a(`
\u4E2D\u56FD\u4EBA\u6C11\u6297\u65E5\u6218\u4E89\u80DC\u5229\u65E5
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("br")]),n("span",{class:"token punctuation"},">")]),a(`\u94ED\u8BB0\u3001\u611F\u6069
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("br")]),n("span",{class:"token punctuation"},">")]),a(`\u6240\u6709\u4E3A\u4E2D\u534E\u6C11\u65CF\u6D74\u8840\u594B\u6218\u7684\u82F1\u96C4\u5C06\u58EB
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("br")]),n("span",{class:"token punctuation"},">")]),a(`\u6C38\u5782\u4E0D\u673D
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("p")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("script")]),n("span",{class:"token punctuation"},">")]),n("span",{class:"token script"},[n("span",{class:"token language-javascript"},[a(`
`),n("span",{class:"token keyword"},"import"),a(),n("span",{class:"token punctuation"},"{"),a(" ref "),n("span",{class:"token punctuation"},"}"),a(),n("span",{class:"token keyword"},"from"),a(),n("span",{class:"token string"},"'vue'"),a(`
`),n("span",{class:"token keyword"},"export"),a(),n("span",{class:"token keyword"},"default"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token function"},"setup"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token keyword"},"return"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`)])]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("script")]),n("span",{class:"token punctuation"},">")]),a(`
`)])],-1),b=n("p",null,[a(" layui vue \u7684\u4E00\u5207\u51C6\u5907\u5DE5\u4F5C\u4F3C\u4E4E\u90FD\u5DF2\u5230\u4F4D\u3002\u53D1\u5E03\u4E4B\u5F26\uFF0C\u4E00\u89E6\u5373\u53D1\u3002 "),n("br"),a("\u4E0D\u6789\u8FD1\u767E\u4E2A\u65E5\u65E5\u591C\u591C\u4E0E\u4E4B\u4E3A\u4F34\u3002\u56E0\u5C0F\u800C\u5927\uFF0C\u56E0\u5F31\u800C\u5F3A\u3002 "),n("br"),a("\u65E0\u8BBA\u5B83\u80FD\u8D70\u591A\u8FDC\uFF0C\u6291\u6216\u5982\u4F55\u652F\u6491\uFF1F\u81F3\u5C11\u6211\u66FE\u503E\u6CE8\u5168\u5FC3\uFF0C\u65E0\u6028\u65E0\u6094 "),n("i",{class:"layui-icon"},"\uE650")],-1),x=n("p",null,[a("\u675C\u752B\u7684\u601D\u60F3\u6838\u5FC3\u662F\u5112\u5BB6\u7684\u4EC1\u653F\u601D\u60F3\uFF0C\u4ED6\u6709"),n("em",null,"\u201C\u81F4\u541B\u5C27\u821C\u4E0A\uFF0C\u518D\u4F7F\u98CE\u4FD7\u6DF3\u201D"),a("\u7684\u5B8F\u4F1F\u62B1\u8D1F\u3002")],-1),w=n("ul",null,[n("li",null,"\u300A\u767B\u9AD8\u300B"),n("li",null,"\u300A\u8305\u5C4B\u4E3A\u79CB\u98CE\u6240\u7834\u6B4C\u300B")],-1),q=n("p",null,[a(" \u4E2D\u56FD\u4EBA\u6C11\u6297\u65E5\u6218\u4E89\u80DC\u5229\u65E5 "),n("br"),a("\u94ED\u8BB0\u3001\u611F\u6069 "),n("br"),a("\u6240\u6709\u4E3A\u4E2D\u534E\u6C11\u65CF\u6D74\u8840\u594B\u6218\u7684\u82F1\u96C4\u5C06\u58EB "),n("br"),a("\u6C38\u5782\u4E0D\u673D ")],-1),T=n("pre",null,[n("code",{"v-pre":""},[n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2021\u5E74\uFF0Clayui vue \u91CC\u7A0B\u7891\u7248\u672C 1.0 \u53D1\u5E03"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"simple"),n("span",{class:"token punctuation"},">")]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2017\u5E74\uFF0Clayui \u91CC\u7A0B\u7891\u7248\u672C 2.0 \u53D1\u5E03"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"simple"),n("span",{class:"token punctuation"},">")]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2016\u5E74\uFF0Clayui \u9996\u4E2A\u7248\u672C\u53D1\u5E03"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"simple"),n("span",{class:"token punctuation"},">")]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2015\u5E74\uFF0Clayui \u5B75\u5316"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"simple"),n("span",{class:"token punctuation"},">")]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("script")]),n("span",{class:"token punctuation"},">")]),n("span",{class:"token script"},[n("span",{class:"token language-javascript"},[a(`
`),n("span",{class:"token keyword"},"import"),a(),n("span",{class:"token punctuation"},"{"),a(" ref "),n("span",{class:"token punctuation"},"}"),a(),n("span",{class:"token keyword"},"from"),a(),n("span",{class:"token string"},"'vue'"),a(`
`),n("span",{class:"token keyword"},"export"),a(),n("span",{class:"token keyword"},"default"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token function"},"setup"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token keyword"},"return"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`)])]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("script")]),n("span",{class:"token punctuation"},">")]),a(`
`)])],-1),I=n("pre",null,[n("code",{"v-pre":""},[n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2021\u5E74\uFF0Clayui vue \u91CC\u7A0B\u7891\u7248\u672C 1.0 \u53D1\u5E03"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"simple"),n("span",{class:"token punctuation"},">")]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2017\u5E74\uFF0Clayui \u91CC\u7A0B\u7891\u7248\u672C 2.0 \u53D1\u5E03"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"simple"),n("span",{class:"token punctuation"},">")]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2016\u5E74\uFF0Clayui \u9996\u4E2A\u7248\u672C\u53D1\u5E03"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"simple"),n("span",{class:"token punctuation"},">")]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2015\u5E74\uFF0Clayui \u5B75\u5316"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"simple"),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("template")]),a(),n("span",{class:"token attr-name"},"#dot"),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-icon")]),a(),n("span",{class:"token attr-name"},"type"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("layui-icon-face-smile"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token attr-name"},"color"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("red"),n("span",{class:"token punctuation"},'"')]),n("span",{class:"token punctuation"},">")]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-icon")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("script")]),n("span",{class:"token punctuation"},">")]),n("span",{class:"token script"},[n("span",{class:"token language-javascript"},[a(`
`),n("span",{class:"token keyword"},"import"),a(),n("span",{class:"token punctuation"},"{"),a(" ref "),n("span",{class:"token punctuation"},"}"),a(),n("span",{class:"token keyword"},"from"),a(),n("span",{class:"token string"},"'vue'"),a(`
`),n("span",{class:"token keyword"},"export"),a(),n("span",{class:"token keyword"},"default"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token function"},"setup"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token keyword"},"return"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`)])]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("script")]),n("span",{class:"token punctuation"},">")]),a(`
`)])],-1),j=n("pre",null,[n("code",{"v-pre":""},[n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline")]),a(),n("span",{class:"token attr-name"},"direction"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("horizontal"),n("span",{class:"token punctuation"},'"')]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2015\u5E74"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token punctuation"},">")]),a("2015\u5E74\uFF0Clayui \u5B75\u5316"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("template")]),a(),n("span",{class:"token attr-name"},"#title"),n("span",{class:"token punctuation"},">")]),a("2016\u5E74"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
2016\u5E74\uFF0Clayui \u9996\u4E2A\u7248\u672C\u53D1\u5E03
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2017\u5E74"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token punctuation"},">")]),a("layui\u91CC\u7A0B\u7891\u7248\u672C1.0\u53D1\u5E03"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("lay-timeline-item")]),a(),n("span",{class:"token attr-name"},"title"),n("span",{class:"token attr-value"},[n("span",{class:"token punctuation attr-equals"},"="),n("span",{class:"token punctuation"},'"'),a("2021\u5E74"),n("span",{class:"token punctuation"},'"')]),a(),n("span",{class:"token punctuation"},">")]),a("layui\u91CC\u7A0B\u7891\u7248\u672C2.0\u53D1\u5E03"),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline-item")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("lay-timeline")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("template")]),n("span",{class:"token punctuation"},">")]),a(`
`),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"<"),a("script")]),n("span",{class:"token punctuation"},">")]),n("span",{class:"token script"},[n("span",{class:"token language-javascript"},[a(`
`),n("span",{class:"token keyword"},"import"),a(),n("span",{class:"token punctuation"},"{"),a(" ref "),n("span",{class:"token punctuation"},"}"),a(),n("span",{class:"token keyword"},"from"),a(),n("span",{class:"token string"},"'vue'"),a(`
`),n("span",{class:"token keyword"},"export"),a(),n("span",{class:"token keyword"},"default"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token function"},"setup"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token keyword"},"return"),a(),n("span",{class:"token punctuation"},"{"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`),n("span",{class:"token punctuation"},"}"),a(`
`)])]),n("span",{class:"token tag"},[n("span",{class:"token tag"},[n("span",{class:"token punctuation"},"</"),a("script")]),n("span",{class:"token punctuation"},">")]),a(`
`)])],-1),z=n("table",null,[n("thead",null,[n("tr",null,[n("th",null,"\u5C5E\u6027"),n("th",null,"\u63CF\u8FF0"),n("th",null,"\u53EF\u9009\u503C")])]),n("tbody",null,[n("tr",null,[n("td",null,"direction"),n("td",null,"\u6392\u5217\u65B9\u5411"),n("td",null,[n("code",null,"horizontal"),a(),n("code",null,"vertical")])])])],-1),N=n("table",null,[n("thead",null,[n("tr",null,[n("th",null,"\u5C5E\u6027"),n("th",null,"\u63CF\u8FF0"),n("th",null,"\u53EF\u9009\u503C")])]),n("tbody",null,[n("tr",null,[n("td",null,"simple"),n("td",null,"\u7B80\u5355\u6A21\u5F0F"),n("td",null,"\u2013")]),n("tr",null,[n("td",null,"title"),n("td",null,"\u6807\u9898"),n("td",null,"\u2013")])])],-1),C=n("table",null,[n("thead",null,[n("tr",null,[n("th",null,"\u63D2\u69FD\u540D"),n("th",null,"\u63CF\u8FF0"),n("th")])]),n("tbody",null,[n("tr",null,[n("td",null,"dot"),n("td",null,"\u8282\u70B9"),n("td",null,"\u2013")])])],-1),B={style:{display:"flex","justify-content":"space-between","margin-top":"20px"}},F={},G={__name:"timeline",setup(V,{expose:r}){return r({frontmatter:{}}),(E,A)=>{const m=l("lay-anchor"),o=l("lay-field"),e=l("lay-timeline-item"),p=l("lay-timeline"),c=l("lay-code"),u=l("lay-icon"),i=l("lay-table-box"),g=l("lay-contributor"),k=l("router-link");return y(),d("div",_,[t(m,{anchors:"\u57FA\u672C\u4ECB\u7ECD,\u57FA\u7840\u4F7F\u7528,\u7B80\u5355\u6A21\u5F0F,\u8282\u70B9\u63D2\u69FD,\u6C34\u5E73\u65B9\u5411,Timeline \u5C5E\u6027,Timeline Item \u5C5E\u6027,Timeline Item \u63D2\u69FD",currIndex:-1,show:!0}),t(o,{id:"\u57FA\u672C\u4ECB\u7ECD",title:"\u57FA\u672C\u4ECB\u7ECD",style:{"margin-top":"21px","margin-bottom":"20px"}}),f,t(o,{id:"\u57FA\u7840\u4F7F\u7528",title:"\u57FA\u7840\u4F7F\u7528",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(c,null,{description:s(()=>[v]),code:s(()=>[h]),default:s(()=>[t(p,null,{default:s(()=>[t(e,null,{title:s(()=>[a(" 8\u670818\u65E5 ")]),default:s(()=>[b]),_:1}),t(e,{title:"8\u670816\u65E5"},{default:s(()=>[x,w]),_:1}),t(e,{title:"8\u670815\u65E5"},{default:s(()=>[q]),_:1})]),_:1})]),_:1}),t(o,{id:"\u7B80\u5355\u6A21\u5F0F",title:"\u7B80\u5355\u6A21\u5F0F",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(c,null,{code:s(()=>[T]),default:s(()=>[t(p,null,{default:s(()=>[t(e,{title:"2021\u5E74\uFF0Clayui vue \u91CC\u7A0B\u7891\u7248\u672C 1.0 \u53D1\u5E03",simple:""}),t(e,{title:"2017\u5E74\uFF0Clayui \u91CC\u7A0B\u7891\u7248\u672C 2.0 \u53D1\u5E03",simple:""}),t(e,{title:"2016\u5E74\uFF0Clayui \u9996\u4E2A\u7248\u672C\u53D1\u5E03",simple:""}),t(e,{title:"2015\u5E74\uFF0Clayui \u5B75\u5316",simple:""})]),_:1})]),_:1}),t(o,{id:"\u8282\u70B9\u63D2\u69FD",title:"\u8282\u70B9\u63D2\u69FD",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(c,null,{code:s(()=>[I]),default:s(()=>[t(p,null,{default:s(()=>[t(e,{title:"2021\u5E74\uFF0Clayui vue \u91CC\u7A0B\u7891\u7248\u672C 1.0 \u53D1\u5E03",simple:""}),t(e,{title:"2017\u5E74\uFF0Clayui \u91CC\u7A0B\u7891\u7248\u672C 2.0 \u53D1\u5E03",simple:""}),t(e,{title:"2016\u5E74\uFF0Clayui \u9996\u4E2A\u7248\u672C\u53D1\u5E03",simple:""}),t(e,{title:"2015\u5E74\uFF0Clayui \u5B75\u5316",simple:""},{dot:s(()=>[t(u,{type:"layui-icon-face-smile",color:"red"})]),_:1})]),_:1})]),_:1}),t(o,{id:"\u6C34\u5E73\u65B9\u5411",title:"\u6C34\u5E73\u65B9\u5411",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(c,null,{code:s(()=>[j]),default:s(()=>[t(p,{direction:"horizontal"},{default:s(()=>[t(e,{title:"2015\u5E74"},{default:s(()=>[a("2015\u5E74\uFF0Clayui \u5B75\u5316")]),_:1}),t(e,null,{title:s(()=>[a("2016\u5E74")]),default:s(()=>[a(" 2016\u5E74\uFF0Clayui \u9996\u4E2A\u7248\u672C\u53D1\u5E03 ")]),_:1}),t(e,{title:"2017\u5E74"},{default:s(()=>[a("layui\u91CC\u7A0B\u7891\u7248\u672C1.0\u53D1\u5E03")]),_:1}),t(e,{title:"2021\u5E74"},{default:s(()=>[a("layui\u91CC\u7A0B\u7891\u7248\u672C2.0\u53D1\u5E03")]),_:1})]),_:1})]),_:1}),t(o,{id:"Timeline \u5C5E\u6027",title:"Timeline \u5C5E\u6027",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(i,null,{default:s(()=>[z]),_:1}),t(o,{id:"Timeline Item \u5C5E\u6027",title:"Timeline Item \u5C5E\u6027",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(i,null,{default:s(()=>[N]),_:1}),t(o,{id:"Timeline Item \u63D2\u69FD",title:"Timeline Item \u63D2\u69FD",style:{"margin-top":"21px","margin-bottom":"20px"}}),t(i,null,{default:s(()=>[C]),_:1}),t(g,{"file-path":"timeline"}),n("div",B,[n("div",null,[t(k,{to:"/zh-CN/components/progress",class:"lay-link",style:{display:""}},{default:s(()=>[t(u,{type:"layui-icon-left"}),a("\u8FDB\u5EA6")]),_:1})]),n("div",null,[t(k,{to:"/zh-CN/components/collapse",class:"lay-link",style:{display:""}},{default:s(()=>[a("\u6298\u53E0\u9762\u677F "),t(u,{type:"layui-icon-right"})]),_:1})])])])}}};export{G as default,F as frontmatter};

View File

@ -0,0 +1,3 @@
export type StringObject = Record<string, unknown>;
export interface InstallOptions extends StringObject {}

View File

@ -0,0 +1,109 @@
::: anchor
:::
::: title 基本介绍
:::
::: describe 如果页面的路径比较简单,则使用页头组件要比面包屑更直观一点。
:::
::: title 基础使用
:::
::: demo 使用 `lay-page-header` 标签
<template>
<lay-page-header content="详情页面" @back="handleBack"></lay-page-header>
</template>
<script setup>
const handleBack=()=>{
alert('点击返回回调')
}
</script>
:::
::: title 设置标题
:::
::: demo 使用 `backText` 属性 自定义返回文本
<template>
<lay-page-header content="详情页面" backText="back" @back="handleBack"></lay-page-header>
</template>
<script setup>
const handleBack=()=>{
alert('点击返回回调')
}
</script>
:::
::: title 使用插槽
:::
::: demo 使用 默认插槽可以自定义右侧内容 同时content属性将失效
<template>
<lay-page-header backText="back" @back="handleBack">
<span>Do what ever you want...</span>&nbsp;
<lay-icon type="layui-icon-face-smile" color="red"></lay-icon> &nbsp;
<lay-icon type="layui-icon-face-smile" color="orange"></lay-icon> &nbsp;
<lay-icon type="layui-icon-face-smile" color="green"></lay-icon> &nbsp;
<lay-icon type="layui-icon-face-smile" color="cyan"></lay-icon> &nbsp;
<lay-icon type="layui-icon-face-smile" color="blue"></lay-icon> &nbsp;
<lay-icon type="layui-icon-face-smile" color="black"></lay-icon> &nbsp;
</lay-page-header>
</template>
<script setup>
const handleBack=()=>{
alert('点击返回回调')
}
</script>
:::
::: title PageHeader 属性
:::
::: table
| 属性 | 描述 | 可选值 |
| ------ | ---- | -------------- |
| content| 标题,当前默认插槽不为空时失效 | -- |
| backText| 返回文本 | 默认 "返回" |
| backIcon| 返回图标 | 内置图标集 |
:::
::: title PageHeader 事件
:::
::: table
| 属性 | 描述 |
| ------ | ---- |
| back| 点击返回回调 |
:::
::: title PageHeader 插槽
:::
::: table
| 属性 | 描述 |
| ------ | ---- |
| default | 标题内容 |
| backIcon| 返回图标 |
:::
::: contributor pageHeader
:::
::: previousNext pageHeader
:::

View File

@ -0,0 +1,59 @@
<script lang="ts">
export default {
name: "LayCheckboxGroup",
};
</script>
<script setup lang="ts">
import { provide, ref, watch } from "vue";
import { Recordable } from "../../types";
export interface CheckboxGroupProps {
modelValue?: Recordable[];
disabled?: boolean;
}
const props = withDefaults(defineProps<CheckboxGroupProps>(), {
modelValue: () => [],
disabled: false,
});
const emit = defineEmits(["update:modelValue", "change"]);
const modelValue = ref(props.modelValue);
const disabled = ref(props.disabled);
provide("checkboxGroup", {
name: "LayCheckboxGroup",
modelValue: modelValue,
disabled: disabled,
});
watch(
() => modelValue,
(val) => {
emit("change", modelValue.value);
emit("update:modelValue", modelValue.value);
},
{ deep: true }
);
watch(
() => props.modelValue,
(val) => (modelValue.value = val)
);
watch(
() => props.disabled,
(val) => (disabled.value = val)
);
</script>
<template>
<div
class="layui-checkbox-group"
:class="{ 'layui-checkbox-group-disabled': disabled }"
>
<slot></slot>
</div>
</template>

View File

@ -0,0 +1,127 @@
@import "../button/index.less";
@import "../checkbox/index.less";
:root {
--transfer-box-border-radius: var(--global-border-radius);
}
.layui-transfer {
display: flex;
}
.layui-transfer .layui-btn + .layui-btn {
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;
display: flex;
flex-direction: column;
border-radius: var(--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;
flex: 0;
}
.layui-transfer-search {
position: relative;
padding: 10px;
border-bottom-width: 1px;
flex: 0;
}
.layui-transfer-search .layui-input {
height: 35px;
padding-left: 2px;
font-size: 13px;
letter-spacing: 1px;
}
.layui-transfer-search .layui-icon-search {
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;
flex: 1;
}
.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 {
display: flex;
align-items: center;
justify-items: center;
}
.layui-transfer-footer {
flex: 0;
height: 38px;
line-height: 38px;
border-top: 1px solid #eee;
padding: 0 10px;
}

Some files were not shown because too many files have changed in this diff Show More