Initial project

This commit is contained in:
Timi
2025-07-08 16:33:11 +08:00
parent 772ac5fcc5
commit 26a60a6a7d
22 changed files with 10476 additions and 129 deletions
@@ -0,0 +1,70 @@
/* TDesign 腾讯云样式附加修改 */
@cellPadding: 12px;
.cellStyle() {
margin: 0 16px;
border: none !important;
border-radius: 6px;
}
.cellSplit() {
transform: none;
border-color: #C6C6C8 !important;
-webkit-transform: none;
}
.t-image-viewer {
.t-swiper-item {
overflow: hidden;
}
}
.t-cell-group {
.cellStyle();
overflow: hidden;
}
.t-form {
.cellStyle();
.t-form__item {
padding: @cellPadding;
&:not(:last-child)::after {
.cellSplit();
}
}
}
.t-cell,
.t-swipe-cell {
padding: @cellPadding;
&:after {
.cellSplit();
}
}
.t-button {
.cellStyle();
height: auto;
padding: @cellPadding;
line-height: 1.4;
font-weight: normal;
}
.t-divider {
&::before,
&::after {
.cellSplit();
}
&.t-divider--horizontal {
margin: 0;
}
}
.t-popup {
transition: all 520ms var(--tui-bezier);
}
+258
View File
@@ -0,0 +1,258 @@
/* TDesign 腾讯云样式 */
:root, :root[theme-mode="light"] {
--td-brand-color-1: #d5e7ff;
--td-brand-color-2: #aacfff;
--td-brand-color-3: #7fb7ff;
--td-brand-color-4: #559eff;
--td-brand-color-5: #2a86ff;
--td-brand-color-6: #006eff;
--td-brand-color-7: #0058df;
--td-brand-color-8: #0042bf;
--td-brand-color-9: #002da0;
--td-brand-color-10: #001780;
--td-warning-color-1: #ffe8d5;
--td-warning-color-2: #ffd0aa;
--td-warning-color-3: #ffb97f;
--td-warning-color-4: #ffa155;
--td-warning-color-5: #ff8a2a;
--td-warning-color-6: #ff7200;
--td-warning-color-7: #df5900;
--td-warning-color-8: #bf4000;
--td-warning-color-9: #a02800;
--td-warning-color-10: #800f00;
--td-error-color-1: #fbe0e0;
--td-error-color-2: #f6c1c1;
--td-error-color-3: #f2a2a2;
--td-error-color-4: #ee8383;
--td-error-color-5: #e96464;
--td-error-color-6: #e54545;
--td-error-color-7: #cc3842;
--td-error-color-8: #b42b3f;
--td-error-color-9: #9c1f3b;
--td-error-color-10: #831238;
--td-success-color-1: #d6f4e4;
--td-success-color-2: #adeac8;
--td-success-color-3: #84dfad;
--td-success-color-4: #5cd492;
--td-success-color-5: #33ca76;
--td-success-color-6: #0abf5b;
--td-success-color-7: #09a755;
--td-success-color-8: #078f50;
--td-success-color-9: #06774a;
--td-success-color-10: #055f44;
--td-gray-color-1: #f3f4f7;
--td-gray-color-2: #e7eaef;
--td-gray-color-3: #cfd5de;
--td-gray-color-4: #b7c1ce;
--td-gray-color-5: #9eacbe;
--td-gray-color-6: #8697ad;
--td-gray-color-7: #6e829d;
--td-gray-color-8: #60708a;
--td-gray-color-9: #525e76;
--td-gray-color-10: #444c63;
--td-gray-color-11: #363a50;
--td-gray-color-12: #292c3d;
--td-gray-color-13: #1e222d;
--td-gray-color-14: #151822;
--td-font-white-1: #ffffff;
--td-font-white-2: rgba(255, 255, 255, 0.55);
--td-font-white-3: rgba(255, 255, 255, 0.35);
--td-font-white-4: rgba(255, 255, 255, 0.22);
--td-font-gray-1: rgba(0, 0, 0, 0.9);
--td-font-gray-2: rgba(0, 0, 0, 0.6);
--td-font-gray-3: rgba(0, 0, 0, 0.4);
--td-font-gray-4: rgba(0, 0, 0, 0.25);
--td-brand-color: var(--td-brand-color-6);
--td-warning-color: var(--td-warning-color-6);
--td-error-color: var(--td-error-color-6);
--td-success-color: var(--td-success-color-6);
--td-brand-color-hover: var(--td-brand-color-5);
--td-brand-color-focus: var(--td-brand-color-2);
--td-brand-color-active: var(--td-brand-color-7);
--td-brand-color-disabled: var(--td-brand-color-2);
--td-brand-color-light: var(--td-brand-color-1);
--td-warning-color-hover: var(--td-warning-color-5);
--td-warning-color-focus: var(--td-warning-color-2);
--td-warning-color-active: var(--td-warning-color-7);
--td-warning-color-disabled: var(--td-warning-color-2);
--td-warning-color-light: var(--td-warning-color-1);
--td-error-color-hover: var(--td-error-color-5);
--td-error-color-focus: var(--td-error-color-2);
--td-error-color-active: var(--td-error-color-7);
--td-error-color-disabled: var(--td-error-color-2);
--td-error-color-light: var(--td-error-color-1);
--td-success-color-hover: var(--td-success-color-5);
--td-success-color-focus: var(--td-success-color-2);
--td-success-color-active: var(--td-success-color-7);
--td-success-color-disabled: var(--td-success-color-2);
--td-success-color-light: var(--td-success-color-1);
--td-mask-active: rgba(0, 0, 0, 0.8);
--td-mask-disabled: rgba(255, 255, 255, 0.6);
--td-bg-color-page: #ebeef2;
--td-bg-color-container: #fff;
--td-bg-color-container-hover: var(--td-gray-color-2);
--td-bg-color-container-active: var(--td-gray-color-3);
--td-bg-color-container-select: #fff;
--td-bg-color-secondarycontainer: var(--td-gray-color-1);
--td-bg-color-secondarycontainer-hover: var(--td-gray-color-2);
--td-bg-color-secondarycontainer-active: var(--td-gray-color-3);
--td-bg-color-component: var(--td-gray-color-2);
--td-bg-color-component-hover: var(--td-gray-color-3);
--td-bg-color-component-active: var(--td-gray-color-4);
--td-bg-color-component-disabled: var(--td-gray-color-2);
--td-bg-color-secondarycomponent: var(--td-gray-color-3);
--td-bg-color-secondarycomponent-hover: var(--td-gray-color-4);
--td-bg-color-secondarycomponent-active: var(--td-gray-color-5);
--td-bg-color-specialcomponent: #fff;
--td-text-color-primary: var(--td-font-gray-1);
--td-text-color-secondary: var(--td-font-gray-2);
--td-text-color-placeholder: var(--td-font-gray-3);
--td-text-color-disabled: var(--td-font-gray-4);
--td-text-color-anti: #fff;
--td-text-color-brand: var(--td-brand-color-6);
--td-text-color-link: var(--td-brand-color-6);
--td-border-level-1-color: var(--td-gray-color-2);
--td-component-stroke: var(--td-gray-color-2);
--td-border-level-2-color: var(--td-gray-color-3);
--td-component-border: var(--td-gray-color-3);
--td-shadow-1: 0 2px 3px rgba(0, 0, 0, 0.2);
--td-shadow-2: 0 2px 4px 0 rgba(54, 58, 80, 0.32);
--td-shadow-3: 0 0 20px 0 rgba(19, 41, 75, 0.2);
--td-shadow-inset-top: inset 0 0.5px 0 #e7eaef;
--td-shadow-inset-right: inset 0.5px 0 0 #e7eaef;
--td-shadow-inset-bottom: inset 0 -0.5px 0 #e7eaef;
--td-shadow-inset-left: inset -0.5px 0 0 #e7eaef;
--td-table-shadow-color: rgba(0, 0, 0, 0.08);
--td-scrollbar-color: rgba(0, 0, 0, 0.1);
--td-scrollbar-hover-color: rgba(0, 0, 0, 0.3);
--td-scroll-track-color: #fff;
--td-radius-small: 0px;
--td-radius-default: 0px;
--td-radius-medium: 0px;
--td-radius-large: 0px;
--td-radius-extraLarge: 12px;
--td-radius-round: 999px;
--td-radius-circle: 50%;
--td-font-family: SimSun, PingFang SC, Microsoft YaHei, Arial Regular;
--td-font-family-medium: SimSun, PingFang SC, Microsoft YaHei, Arial Medium;
--td-font-size-link-small: 12px;
--td-font-size-link-medium: 12px;
--td-font-size-link-large: 14px;
--td-font-size-mark-small: 12px;
--td-font-size-mark-medium: 12px;
--td-font-size-body-small: 12px;
--td-font-size-body-medium: 12px;
--td-font-size-body-large: 14px;
--td-font-size-title-small: 12px;
--td-font-size-title-medium: 14px;
--td-font-size-title-large: 16px;
--td-font-size-headline-small: 24px;
--td-font-size-headline-medium: 28px;
--td-font-size-headline-large: 36px;
--td-font-size-display-medium: 48px;
--td-font-size-display-large: 64px;
--td-line-height-link-small: 20px;
--td-line-height-link-medium: 20px;
--td-line-height-link-large: 22px;
--td-line-height-mark-small: 20px;
--td-line-height-mark-medium: 22px;
--td-line-height-body-small: 20px;
--td-line-height-body-medium: 20px;
--td-line-height-body-large: 22px;
--td-line-height-title-small: 20px;
--td-line-height-title-medium: 22px;
--td-line-height-title-large: 24px;
--td-line-height-headline-small: 32px;
--td-line-height-headline-medium: 36px;
--td-line-height-headline-large: 44px;
--td-line-height-display-medium: 56px;
--td-line-height-display-large: 72px;
--td-font-link-small: 400 var(--td-font-size-link-small) / var(--td-line-height-link-small) var(--td-font-family);
--td-font-link-medium: 400 var(--td-font-size-link-medium) / var(--td-line-height-link-medium) var(--td-font-family);
--td-font-link-large: 400 var(--td-font-size-link-large) / var(--td-line-height-link-large) var(--td-font-family);
--td-font-mark-small: 600 var(--td-font-size-mark-small) / var(--td-line-height-mark-small) var(--td-font-family);
--td-font-mark-medium: 600 var(--td-font-size-mark-medium) / var(--td-line-height-mark-medium) var(--td-font-family);
--td-font-body-small: 400 var(--td-font-size-body-small) / var(--td-line-height-body-small) var(--td-font-family);
--td-font-body-medium: 400 var(--td-font-size-body-small) / var(--td-line-height-body-small) var(--td-font-family);
--td-font-body-large: 400 var(--td-font-size-body-large) / var(--td-line-height-body-large) var(--td-font-family);
--td-font-title-small: 600 var(--td-font-size-title-small) / var(--td-line-height-title-small) var(--td-font-family);
--td-font-title-medium: 600 var(--td-font-size-title-medium) / var(--td-line-height-title-medium) var(--td-font-family);
--td-font-title-large: 600 var(--td-font-size-title-large) / var(--td-line-height-title-large) var(--td-font-family);
--td-font-headline-small: 600 var(--td-font-size-headline-small) / var(--td-line-height-headline-small) var(--td-font-family);
--td-font-headline-medium: 600 var(--td-font-size-headline-medium) / var(--td-line-height-headline-medium) var(--td-font-family);
--td-font-headline-large: 600 var(--td-font-size-headline-large) / var(--td-line-height-headline-large) var(--td-font-family);
--td-font-display-medium: 600 var(--td-font-size-display-medium) / var(--td-line-height-display-medium) var(--td-font-family);
--td-font-display-large: 600 var(--td-font-size-display-large) / var(--td-line-height-display-large) var(--td-font-family);
--td-size-1: 2px;
--td-size-2: 3px;
--td-size-3: 5px;
--td-size-4: 10px;
--td-size-5: 12px;
--td-size-6: 16px;
--td-size-7: 20px;
--td-size-8: 25px;
--td-size-9: 28px;
--td-size-10: 30px;
--td-size-11: 35px;
--td-size-12: 40px;
--td-size-13: 48px;
--td-size-14: 56px;
--td-size-15: 64px;
--td-size-16: 72px;
--td-comp-size-xxxs: var(--td-size-6);
--td-comp-size-xxs: var(--td-size-7);
--td-comp-size-xs: var(--td-size-8);
--td-comp-size-s: var(--td-size-9);
--td-comp-size-m: var(--td-size-10);
--td-comp-size-l: var(--td-size-11);
--td-comp-size-xl: var(--td-size-12);
--td-comp-size-xxl: var(--td-size-13);
--td-comp-size-xxxl: var(--td-size-14);
--td-comp-size-xxxxl: var(--td-size-15);
--td-comp-size-xxxxxl: var(--td-size-16);
--td-pop-padding-s: 0;
--td-pop-padding-m: 0;
--td-pop-padding-l: 0;
--td-pop-padding-xl: var(--td-size-5);
--td-pop-padding-xxl: var(--td-size-6);
--td-comp-paddingLR-xxs: var(--td-size-1);
--td-comp-paddingLR-xs: var(--td-size-3);
--td-comp-paddingLR-s: var(--td-size-4);
--td-comp-paddingLR-m: var(--td-size-5);
--td-comp-paddingLR-l: var(--td-size-7);
--td-comp-paddingLR-xl: var(--td-size-8);
--td-comp-paddingLR-xxl: var(--td-size-8);
--td-comp-paddingTB-xxs: var(--td-size-1);
--td-comp-paddingTB-xs: var(--td-size-3);
--td-comp-paddingTB-s: var(--td-size-4);
--td-comp-paddingTB-m: var(--td-size-5);
--td-comp-paddingTB-l: var(--td-size-7);
--td-comp-paddingTB-xl: var(--td-size-8);
--td-comp-paddingTB-xxl: var(--td-size-8);
--td-comp-margin-xxs: var(--td-size-1);
--td-comp-margin-xs: var(--td-size-2);
--td-comp-margin-s: var(--td-size-4);
--td-comp-margin-m: var(--td-size-5);
--td-comp-margin-l: var(--td-size-6);
--td-comp-margin-xl: var(--td-size-7);
--td-comp-margin-xxl: var(--td-size-8);
--td-comp-margin-xxxl: var(--td-size-10);
--td-comp-margin-xxxxl: var(--td-size-12);
}
.t-button .t-icon {
font-size: var(--td-comp-size-xxxs);
}
.t-button .t-icon + .t-button__text:not(:empty) {
margin-left: var(--td-comp-margin-xs);
}
.t-button .t-button__suffix:not(:empty) {
display: inline-flex;
margin-left: var(--td-comp-margin-xs);
}
.t-button--shape-circle .t-icon {
font-size: var(--td-comp-size-xxxs);
}
+10
View File
@@ -0,0 +1,10 @@
/** 导出所有组件 */
import RootLayout from "./root-layout";
export default [
RootLayout
];
export {
RootLayout
};
+5
View File
@@ -0,0 +1,5 @@
import view from "./index.vue";
import { Toolkit } from "timi-web";
export const RootLayout = Toolkit.withInstall(view);
export default RootLayout;
+31
View File
@@ -0,0 +1,31 @@
<template>
<div class="tui-root-layout">
<slot></slot>
<copyright :icp="icp" :domain="domain" :author="author" />
</div>
</template>
<script lang="ts" setup>
import { Copyright } from "timi-web";
defineOptions({
name: "RootLayout"
});
withDefaults(defineProps<{
icp?: string;
domain?: string;
author?: string;
}>(), {
});
</script>
<style lang="less" scoped>
.tui-root-layout {
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
}
</style>
+7
View File
@@ -0,0 +1,7 @@
import "./assets/style/tencent-cloud.less";
import "./assets/style/tencent-cloud-custom.less";
export * from "./components";
export {
};