Files
aurora-admin/site/end-preview/listpicker.vue3.html
T

51 lines
4.0 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN" data-end="vue3" data-slug="listpicker">
<head>
<meta charset="utf-8">
<title>listpicker · Vue 3 预渲染</title>
<link rel="stylesheet" href="../../.design_library/kole-ui/colors_and_type.css">
<link rel="stylesheet" href="../../frameworks/ListPicker.css">
<style>
/* 演示页的 body 口径(见 frameworks/*.html 的 <style>):组件 CSS 不写 body 样式,
而 .btn 这类 inline-flex 元素的高度依赖行高与留白,缺了就会塌成 0 高。 */
body { margin: 0; padding: 24px; background: var(--kole-color-page-bg); color: var(--kole-color-text-body);
font-family: var(--kole-font-family); font-size: 14px; line-height: 22px; }
#kole-end-preview { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
html.kole-dark body { background: var(--kole-color-page-bg); color: var(--kole-color-text-body); }
</style>
<style>
.kole-listpicker { position: relative; display: inline-block; min-width: 220px; font-family: var(--font-family, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif); color: #262626; }
.kole-listpicker-trigger { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; min-height: 32px; padding: 2px 28px 2px 8px; background: #fff; border: 1px solid #E8ECF1; border-radius: 4px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.kole-listpicker-trigger:hover { border-color: #2F54EB; }
.kole-listpicker-trigger.is-open { border-color: #2F54EB; box-shadow: 0 0 0 2px rgba(47,84,235,0.2); }
.kole-listpicker-tag { background: #F0F5FF; color: #2F54EB; font-size: 12px; padding: 1px 8px; border-radius: 2px; display: inline-flex; align-items: center; gap: 4px; }
.kole-listpicker-tag .x { cursor: pointer; opacity: .65; }
.kole-listpicker-tag .x:hover { opacity: 1; }
.kole-listpicker-placeholder { color: #767676; font-size: 14px; }
.kole-listpicker-caret { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: #6E6E6E; }
.kole-listpicker-panel { position: absolute; z-index: 100; top: calc(100% + 4px); left: 0; width: 240px; background: #fff; border: 1px solid #E8ECF1; border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
.kole-listpicker-search { padding: 8px; border-bottom: 1px solid #E8ECF1; }
.kole-listpicker-search input { width: 100%; box-sizing: border-box; height: 30px; padding: 0 8px; border: 1px solid #E8ECF1; border-radius: 4px; font-size: 13px; outline: none; }
.kole-listpicker-search input:focus { border-color: #2F54EB; box-shadow: 0 0 0 2px rgba(47,84,235,0.2); }
.kole-listpicker-selectall { padding: 6px 12px; border-bottom: 1px solid #E8ECF1; cursor: pointer; font-size: 13px; color: #2F54EB; }
.kole-listpicker-selectall:hover { background: #F5F7FA; }
.kole-listpicker-group-label { padding: 6px 12px; font-size: 12px; color: #6E6E6E; }
.kole-listpicker-option { display: flex; align-items: center; gap: 8px; padding: 6px 12px; cursor: pointer; font-size: 14px; }
.kole-listpicker-option:hover { background: #F5F7FA; }
.kole-listpicker-option.is-checked { color: #2F54EB; }
.kole-listpicker-option .box { width: 14px; height: 14px; border: 1px solid #E8ECF1; border-radius: 3px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 10px; }
.kole-listpicker-option.is-checked .box { background: #2F54EB; border-color: #2F54EB; }
.kole-listpicker-option.is-disabled { color: #BFBFBF; cursor: not-allowed; }
.kole-listpicker-empty { padding: 24px 12px; text-align: center; color: #767676; font-size: 13px; }
</style>
</head>
<body class="kole-end-preview-body">
<!-- 该端实现(frameworks/ListPicker.vue3.vue)的离线预渲染产物。类名与该端源码一致(tools/build-end-preview.mjs 断言)。 -->
<div id="kole-end-preview" data-end="vue3" data-slug="listpicker">
<div class="kole-listpicker" vmodel="tech" data-v-listpicker><div class="kole-listpicker-trigger" data-v-listpicker><span class="kole-listpicker-placeholder" data-v-listpicker>请选择技术栈</span><span class="kole-listpicker-caret" data-v-listpicker>▾</span></div><!----></div>
</div>
</body>
</html>