diff --git a/angular.json b/angular.json index 6f624fc..4ce46f7 100644 --- a/angular.json +++ b/angular.json @@ -43,6 +43,9 @@ }, { "input": "src/global.scss" + }, + { + "input": "src/theme.less" } ], "scripts": [] diff --git a/config.xml b/config.xml index 7a0ad67..6824690 100644 --- a/config.xml +++ b/config.xml @@ -1,6 +1,6 @@ - - 老爹记账 + + 锅炉记账 An awesome Ionic/Cordova app. Ionic Framework Team @@ -112,4 +112,5 @@ + diff --git a/package.json b/package.json index ff695d7..2814255 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,8 @@ "tslib": "^2.0.0", "uuid": "^8.3.0", "xlsx": "^0.16.6", - "zone.js": "~0.10.3" + "zone.js": "~0.10.3", + "cordova-android": "^7.0.0" }, "devDependencies": { "@angular-devkit/build-angular": "~0.1000.0", diff --git a/resources/android/icon/drawable-hdpi-icon.png b/resources/android/icon/drawable-hdpi-icon.png index d6161e6..6b655f2 100644 Binary files a/resources/android/icon/drawable-hdpi-icon.png and b/resources/android/icon/drawable-hdpi-icon.png differ diff --git a/resources/android/icon/drawable-ldpi-icon.png b/resources/android/icon/drawable-ldpi-icon.png index d6161e6..6b655f2 100644 Binary files a/resources/android/icon/drawable-ldpi-icon.png and b/resources/android/icon/drawable-ldpi-icon.png differ diff --git a/resources/android/icon/drawable-mdpi-icon.png b/resources/android/icon/drawable-mdpi-icon.png index d6161e6..6b655f2 100644 Binary files a/resources/android/icon/drawable-mdpi-icon.png and b/resources/android/icon/drawable-mdpi-icon.png differ diff --git a/resources/android/icon/drawable-xhdpi-icon.png b/resources/android/icon/drawable-xhdpi-icon.png index d6161e6..6b655f2 100644 Binary files a/resources/android/icon/drawable-xhdpi-icon.png and b/resources/android/icon/drawable-xhdpi-icon.png differ diff --git a/resources/android/icon/drawable-xxhdpi-icon.png b/resources/android/icon/drawable-xxhdpi-icon.png index d6161e6..6b655f2 100644 Binary files a/resources/android/icon/drawable-xxhdpi-icon.png and b/resources/android/icon/drawable-xxhdpi-icon.png differ diff --git a/resources/android/icon/drawable-xxxhdpi-icon.png b/resources/android/icon/drawable-xxxhdpi-icon.png index d6161e6..6b655f2 100644 Binary files a/resources/android/icon/drawable-xxxhdpi-icon.png and b/resources/android/icon/drawable-xxxhdpi-icon.png differ diff --git a/src/app/common/camera/camera.service.ts b/src/app/common/camera/camera.service.ts index 4784488..6ffec07 100644 --- a/src/app/common/camera/camera.service.ts +++ b/src/app/common/camera/camera.service.ts @@ -46,7 +46,7 @@ export class CameraService { const month = moment(dateStr).month() + 1 + ''; const date = moment(dateStr).date(); const root = this.file.externalRootDirectory; - const path = `${root}dadNote/${year}/${month}/exports/`; + const path = `${root}dadNoteMuliao/${year}/${month}/exports/`; const random = this.random(); const fileName = `${year}${month}${date}${random}.jpg`; return new Promise((resolve, reject) => { diff --git a/src/app/common/file/file.service.ts b/src/app/common/file/file.service.ts index b995653..c72dc67 100644 --- a/src/app/common/file/file.service.ts +++ b/src/app/common/file/file.service.ts @@ -32,7 +32,7 @@ export class FileService { const year = moment().year() + ''; const month = moment().month() + 1 + ''; const date = moment().date() + ''; - const dadNote = await this.createDir(root, 'dadNote'); + const dadNote = await this.createDir(root, 'dadNoteMuliao'); // const note = await this.createDir(dadNote, 'note'); const year1 = await this.createDir(dadNote, year); const month1 = await this.createDir(year1, month); @@ -99,7 +99,7 @@ export class FileService { const month = moment(dateStr).month() + 1 + ''; const date = moment(dateStr).date(); const root = this.file.externalRootDirectory; - const path = `${root}dadNote/${year}/${month}/datas/`; + const path = `${root}dadNoteMuliao/${year}/${month}/datas/`; return new Promise(async (resolve) => { if (this.filePath) { this.file.readAsText(path, `${date}.json`).then((res) => { @@ -134,7 +134,7 @@ export class FileService { const month = moment().month() + 1 + ''; const date = moment().date(); const root = this.file.externalRootDirectory; - const path = `${root}dadNote/${year}/${month}/datas/`; + const path = `${root}dadNoteMuliao/${year}/${month}/datas/`; return this.file.writeExistingFile(path, `${date}.json`, JSON.stringify(note)); } @@ -194,7 +194,7 @@ export class FileService { const month = moment(dateStr).month() + 1 + ''; const date = moment(dateStr).date(); const root = this.file.externalRootDirectory; - const path = `${root}dadNote/${year}/${month}/exports/`; + const path = `${root}dadNoteMuliao/${year}/${month}/exports/`; return new Promise((resolve, reject) => { this.readFile(dateStr).then((res: AccountBook) => { const cars = []; @@ -236,9 +236,9 @@ export class FileService { */ readConfig(): Promise { if (!this.device.isMobile()) { - return Promise.resolve(this.storage.get('config')); + return Promise.resolve(this.storage.get('config1')); } - const path = this.file.externalRootDirectory + 'dadNote/'; + const path = this.file.externalRootDirectory + 'dadNoteMuliao/'; console.log('配置文件地址', path); return new Promise((resolve, reject) => { this.file.readAsText(path, 'config.json').then((res) => { @@ -260,7 +260,7 @@ export class FileService { this.storage.set('config', config); return Promise.resolve(); } - const path = this.file.externalRootDirectory + 'dadNote/'; + const path = this.file.externalRootDirectory + 'dadNoteMuliao/'; return this.file.writeExistingFile(path, 'config.json', JSON.stringify(config, null, 4)); } diff --git a/src/app/common/total/total.component.html b/src/app/common/total/total.component.html index bd4b6c7..4d70e98 100644 --- a/src/app/common/total/total.component.html +++ b/src/app/common/total/total.component.html @@ -11,7 +11,7 @@ activeTab="0" tabBarPosition="top" > - + + +

木料车辆  共计: {{outCarTotal.total}}({{outCarTotal.count}}车) diff --git a/src/app/common/total/total.component.ts b/src/app/common/total/total.component.ts index ac2345a..432bc8c 100644 --- a/src/app/common/total/total.component.ts +++ b/src/app/common/total/total.component.ts @@ -557,8 +557,6 @@ export class TotalComponent implements OnInit { const msg = ` ${date} 单位(吨): -车队: ${car} -车队小计:${this.carTotal.total}(${this.carTotal.count}车) ${carDetail} 白班:${day} 白班小计: ${this.outCarTotal1.total}(${this.outCarTotal1.count}车)${dayDetail} diff --git a/src/app/common/view/view.component.ts b/src/app/common/view/view.component.ts index 8aea4fc..0d7bb08 100644 --- a/src/app/common/view/view.component.ts +++ b/src/app/common/view/view.component.ts @@ -53,7 +53,7 @@ export class ViewCommonComponent implements OnInit { const root = this.file.externalRootDirectory; const months = []; return new Promise((resolve, reject) => { - this.file.listDir(`${root}dadNote/`, this.id).then((dir: Entry[]) => { + this.file.listDir(`${root}dadNoteMuliao/`, this.id).then((dir: Entry[]) => { dir.forEach((d) => { if (d.isDirectory) { months.push(d.name); @@ -68,7 +68,7 @@ export class ViewCommonComponent implements OnInit { const root = this.file.externalRootDirectory; const list = []; return new Promise((resolve, reject) => { - this.file.listDir(`${root}dadNote/${this.id}/${month}`, 'datas').then((dir: Entry[]) => { + this.file.listDir(`${root}dadNoteMuliao/${this.id}/${month}`, 'datas').then((dir: Entry[]) => { dir.forEach((d) => { if (d.isFile) { const number = Number(d.name.split('.').shift()); @@ -119,7 +119,7 @@ export class ViewCommonComponent implements OnInit { * @param date 日 */ preShare(month: string, date) { - const path = this.file.externalRootDirectory + 'dadNote/' + `${this.id}/${month}/exports/`; + const path = this.file.externalRootDirectory + 'dadNoteMuliao/' + `${this.id}/${month}/exports/`; const fileName = moment(`${this.id}-${month}-${date}`).format('YYYY-MM-DD[-过磅单.xlsx]') this.file.checkFile(path, fileName).then((flag) => { if (flag) { diff --git a/src/app/note/note.component.html b/src/app/note/note.component.html index ba36d35..04964e2 100644 --- a/src/app/note/note.component.html +++ b/src/app/note/note.component.html @@ -2,8 +2,8 @@

账本日期:{{accountBook.date | date:'yyyy-MM-dd'}}
返回今日账本
-
添加车队
-
修改车队
+
统计
保存
@@ -15,67 +15,8 @@ (click)="deleteRow()">删除一行
- - -
- - - - - 车队 - - 回厂时间 - 货料来源 - 货料种类 - 毛重(吨) - 皮重(吨) - 净重(吨) - 料款(元) - 电子秤图片 - 操作 - - - - - - - - {{car.carNo}}
- - {{person.userName}}
-
- -
- - {{data.endTime}} - {{data.origin}} - {{data.type}} - - {{data.maozhong}} - - {{data.pizhong}} - - {{data.jingzhong}} - - {{data.amount}} - - - 0张 - {{data.img.length}}张 - - - 拍摄 - - - -
-
-
- + +
@@ -128,56 +69,6 @@
- -
- - - - - 来源 - 车牌号 - 货料种类 - 毛重(吨) - 皮重(吨) - 扣秤(%) - 净重(吨) - 单价(元) - 料款(元) - 电子秤图片 - 操作 - - - - - - - {{data.origin}} - {{data.carNo}} - {{data.type}} - {{data.maozhong}} - - {{data.pizhong}} - - {{data.koucheng}} - - {{data.jingzhong}} - {{data.price}} - {{data.amount}} - - 0张 - {{data.img.length}}张 - - - 拍摄 - - - - -
-
\ No newline at end of file diff --git a/src/app/view/view.component.ts b/src/app/view/view.component.ts index 534fbcc..71d605a 100644 --- a/src/app/view/view.component.ts +++ b/src/app/view/view.component.ts @@ -31,11 +31,11 @@ export class ViewComponent implements OnInit { const root = this.file.externalRootDirectory; const years = []; if (!this.device.isMobile()) { - return Promise.resolve(['2020', '2019', '2018']) + return Promise.resolve(['2022']); } return new Promise((resolve, reject) => { - this.file.listDir(`${root}`, 'dadNote').then((dir: Entry[]) => { + this.file.listDir(`${root}`, 'dadNoteMuliao').then((dir: Entry[]) => { dir.forEach((d) => { console.log(d.isDirectory) if (d.isDirectory) { diff --git a/src/theme.less b/src/theme.less index de896c1..3b49718 100644 --- a/src/theme.less +++ b/src/theme.less @@ -1,896 +1,195 @@ -@import "../node_modules/ng-zorro-antd/ng-zorro-antd.less"; -@theme: default; - -// The prefix to use on all css classes from ant. -@ant-prefix: ant; - -// An override for the html selector for theme prefixes -@html-selector: html; - -// -------- Colors ----------- -@primary-color: @blue-6; -@info-color: @blue-6; -@success-color: @green-6; -@processing-color: @blue-6; -@error-color: @red-5; -@highlight-color: @red-5; -@warning-color: @gold-6; -@normal-color: #d9d9d9; -@white: #fff; -@black: #000; - -// Color used by default to control hover and active backgrounds and for -// alert info backgrounds. -@primary-1: color(~`colorPalette('@{primary-color}', 1) `); // replace tint(@primary-color, 90%) -@primary-2: color(~`colorPalette('@{primary-color}', 2) `); // replace tint(@primary-color, 80%) -@primary-3: color(~`colorPalette('@{primary-color}', 3) `); // unused -@primary-4: color(~`colorPalette('@{primary-color}', 4) `); // unused -@primary-5: color( - ~`colorPalette('@{primary-color}', 5) ` -); // color used to control the text color in many active and hover states, replace tint(@primary-color, 20%) -@primary-6: @primary-color; // color used to control the text color of active buttons, don't use, use @primary-color -@primary-7: color(~`colorPalette('@{primary-color}', 7) `); // replace shade(@primary-color, 5%) -@primary-8: color(~`colorPalette('@{primary-color}', 8) `); // unused -@primary-9: color(~`colorPalette('@{primary-color}', 9) `); // unused -@primary-10: color(~`colorPalette('@{primary-color}', 10) `); // unused - -// Base Scaffolding Variables -// --- +// @import "../node_modules/ng-zorro-antd/ng-zorro-antd.less"; +@import '../node_modules/ng-zorro-antd-mobile/src/ng-zorro-antd-mobile.less'; -// Background color for `` -@body-background: #fff; -// Base background color for most components -@component-background: #fff; -// Popover background color -@popover-background: @component-background; -@popover-customize-border-color: @border-color-split; -@font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, -'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', -'Noto Color Emoji'; -@code-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; -@text-color: fade(@black, 65%); -@text-color-secondary: fade(@black, 45%); -@text-color-inverse: @white; -@icon-color: inherit; -@icon-color-hover: fade(@black, 75%); -@heading-color: fade(#000, 85%); -@heading-color-dark: fade(@white, 100%); -@text-color-dark: fade(@white, 85%); -@text-color-secondary-dark: fade(@white, 65%); -@text-selection-bg: @primary-color; -@font-variant-base: tabular-nums; -@font-feature-settings-base: 'tnum'; -@font-size-base: 14px; -@font-size-lg: @font-size-base + 2px; -@font-size-sm: 12px; -@heading-1-size: ceil(@font-size-base * 2.71); -@heading-2-size: ceil(@font-size-base * 2.14); -@heading-3-size: ceil(@font-size-base * 1.71); -@heading-4-size: ceil(@font-size-base * 1.42); -// https://github.com/ant-design/ant-design/issues/20210 -@line-height-base: 1.5715; -@border-radius-base: 2px; -@border-radius-sm: @border-radius-base; - -// vertical paddings -@padding-lg: 24px; // containers -@padding-md: 16px; // small containers and buttons -@padding-sm: 12px; // Form controls and items -@padding-xs: 8px; // small items -@padding-xss: 4px; // more small - -// vertical padding for all form controls -@control-padding-horizontal: @padding-sm; -@control-padding-horizontal-sm: @padding-xs; - -// vertical margins -@margin-lg: 24px; // containers -@margin-md: 16px; // small containers and buttons -@margin-sm: 12px; // Form controls and items -@margin-xs: 8px; // small items -@margin-xss: 4px; // more small - -// height rules -@height-base: 32px; -@height-lg: 40px; -@height-sm: 24px; - -// The background colors for active and hover states for things like -// list items or table cells. -@item-active-bg: @primary-1; -@item-hover-bg: #f5f5f5; - -// ICONFONT -@iconfont-css-prefix: anticon; - -// LINK -@link-color: @primary-color; -@link-hover-color: color(~`colorPalette('@{link-color}', 5) `); -@link-active-color: color(~`colorPalette('@{link-color}', 7) `); -@link-decoration: none; -@link-hover-decoration: none; -@link-focus-decoration: none; -@link-focus-outline: 0; - -// Animation -@ease-base-out: cubic-bezier(0.7, 0.3, 0.1, 1); -@ease-base-in: cubic-bezier(0.9, 0, 0.3, 0.7); -@ease-out: cubic-bezier(0.215, 0.61, 0.355, 1); -@ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19); -@ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1); -@ease-out-back: cubic-bezier(0.12, 0.4, 0.29, 1.46); -@ease-in-back: cubic-bezier(0.71, -0.46, 0.88, 0.6); -@ease-in-out-back: cubic-bezier(0.71, -0.46, 0.29, 1.46); -@ease-out-circ: cubic-bezier(0.08, 0.82, 0.17, 1); -@ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.34); -@ease-in-out-circ: cubic-bezier(0.78, 0.14, 0.15, 0.86); -@ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1); -@ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06); -@ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1); - -// Border color -@border-color-base: hsv(0, 0, 85%); // base border outline a component -@border-color-split: hsv(0, 0, 94%); // split border inside a component -@border-color-inverse: @white; -@border-width-base: 1px; // width of the border for a component -@border-style-base: solid; // style of a components border - -// Outline -@outline-blur-size: 0; -@outline-width: 2px; -@outline-color: @primary-color; -@outline-fade: 20%; - -@background-color-light: hsv(0, 0, 98%); // background of header and selected item -@background-color-base: hsv(0, 0, 96%); // Default grey background color - -// Disabled states -@disabled-color: fade(#000, 25%); -@disabled-bg: @background-color-base; -@disabled-color-dark: fade(#fff, 35%); - -// Shadow -@shadow-color: rgba(0, 0, 0, 0.15); -@shadow-color-inverse: @component-background; -@box-shadow-base: @shadow-2; -@shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), - 0 -12px 48px 16px rgba(0, 0, 0, 0.03); -@shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), -0 12px 48px 16px rgba(0, 0, 0, 0.03); -@shadow-1-left: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), --12px 0 48px 16px rgba(0, 0, 0, 0.03); -@shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), -12px 0 48px 16px rgba(0, 0, 0, 0.03); -@shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), -0 9px 28px 8px rgba(0, 0, 0, 0.05); - -// Buttons -@btn-font-weight: 400; -@btn-border-radius-base: @border-radius-base; -@btn-border-radius-sm: @border-radius-base; -@btn-border-width: @border-width-base; -@btn-border-style: @border-style-base; -@btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); -@btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); -@btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); - -@btn-primary-color: #fff; -@btn-primary-bg: @primary-color; - -@btn-default-color: @text-color; -@btn-default-bg: @component-background; -@btn-default-border: @border-color-base; - -@btn-danger-color: #fff; -@btn-danger-bg: @error-color; -@btn-danger-border: @error-color; - -@btn-disable-color: @disabled-color; -@btn-disable-bg: @disabled-bg; -@btn-disable-border: @border-color-base; - -@btn-default-ghost-color: @component-background; -@btn-default-ghost-bg: transparent; -@btn-default-ghost-border: @component-background; - -@btn-font-size-lg: @font-size-lg; -@btn-font-size-sm: @font-size-base; -@btn-padding-horizontal-base: @padding-md - 1px; -@btn-padding-horizontal-lg: @btn-padding-horizontal-base; -@btn-padding-horizontal-sm: @padding-xs - 1px; - -@btn-height-base: @height-base; -@btn-height-lg: @height-lg; -@btn-height-sm: @height-sm; - -@btn-circle-size: @btn-height-base; -@btn-circle-size-lg: @btn-height-lg; -@btn-circle-size-sm: @btn-height-sm; - -@btn-square-size: @btn-height-base; -@btn-square-size-lg: @btn-height-lg; -@btn-square-size-sm: @btn-height-sm; -@btn-square-only-icon-size: @font-size-base + 2px; -@btn-square-only-icon-size-sm: @font-size-base; -@btn-square-only-icon-size-lg: @btn-font-size-lg + 2px; - -@btn-group-border: @primary-5; - -@btn-link-ghost-color: @component-background; - -// Checkbox -@checkbox-size: 16px; -@checkbox-color: @primary-color; -@checkbox-check-color: #fff; -@checkbox-check-bg: @checkbox-check-color; -@checkbox-border-width: @border-width-base; - -// Descriptions -@descriptions-bg: #fafafa; -@descriptions-title-margin-bottom: 20px; -@descriptions-default-padding: @padding-md @padding-lg; -@descriptions-middle-padding: @padding-sm @padding-lg; -@descriptions-small-padding: @padding-xs @padding-md; - -// Dropdown -@dropdown-selected-color: @primary-color; -@dropdown-menu-submenu-disabled-bg: @component-background; - -// Empty -@empty-font-size: @font-size-base; - -// Radio -@radio-size: 16px; -@radio-dot-color: @primary-color; -@radio-dot-disabled-color: fade(@black, 20%); -// solid text-color -@radtio-solid-checked-color: @component-background; - -// Radio buttons -@radio-button-bg: @btn-default-bg; -@radio-button-checked-bg: @btn-default-bg; -@radio-button-color: @btn-default-color; -@radio-button-hover-color: @primary-5; -@radio-button-active-color: @primary-7; -@radio-disabled-button-checked-bg: tint(@black, 90%); -@radio-disabled-button-checked-color: @text-color-inverse; - -// Media queries breakpoints -// Extra small screen / phone -@screen-xs: 480px; -@screen-xs-min: @screen-xs; - -// Small screen / tablet -@screen-sm: 576px; -@screen-sm-min: @screen-sm; - -// Medium screen / desktop -@screen-md: 768px; -@screen-md-min: @screen-md; - -// Large screen / wide desktop -@screen-lg: 992px; -@screen-lg-min: @screen-lg; - -// Extra large screen / full hd -@screen-xl: 1200px; -@screen-xl-min: @screen-xl; - -// Extra extra large screen / large desktop -@screen-xxl: 1600px; -@screen-xxl-min: @screen-xxl; - -// provide a maximum -@screen-xs-max: (@screen-sm-min - 1px); -@screen-sm-max: (@screen-md-min - 1px); -@screen-md-max: (@screen-lg-min - 1px); -@screen-lg-max: (@screen-xl-min - 1px); -@screen-xl-max: (@screen-xxl-min - 1px); - -// Grid system -@grid-columns: 24; -@grid-gutter-width: 0; - -// Layout -@layout-body-background: #f0f2f5; -@layout-header-background: #001529; -@layout-header-height: 64px; -@layout-header-padding: 0 50px; -@layout-header-color: @text-color; -@layout-footer-padding: 24px 50px; -@layout-footer-background: @layout-body-background; -@layout-sider-background: @layout-header-background; -@layout-trigger-height: 48px; -@layout-trigger-background: #002140; -@layout-trigger-color: #fff; -@layout-zero-trigger-width: 36px; -@layout-zero-trigger-height: 42px; -// Layout light theme -@layout-sider-background-light: #fff; -@layout-trigger-background-light: #fff; -@layout-trigger-color-light: @text-color; - -// z-index list, order by `z-index` -@zindex-badge: auto; -@zindex-table-fixed: auto; -@zindex-affix: 10; -@zindex-back-top: 10; -@zindex-picker-panel: 10; -@zindex-popup-close: 10; -@zindex-modal: 1000; -@zindex-modal-mask: 1000; -@zindex-message: 1010; -@zindex-notification: 1010; -@zindex-popover: 1030; -@zindex-dropdown: 1050; -@zindex-picker: 1050; -@zindex-tooltip: 1060; - -// Animation -@animation-duration-slow: 0.3s; // Modal -@animation-duration-base: 0.2s; -@animation-duration-fast: 0.1s; // Tooltip - -//CollapsePanel -@collapse-panel-border-radius: @border-radius-base; - -//Dropdown -@dropdown-menu-bg: @component-background; -@dropdown-vertical-padding: 5px; -@dropdown-edge-child-vertical-padding: 4px; -@dropdown-font-size: @font-size-base; -@dropdown-line-height: 22px; - -// Form -// --- -@label-required-color: @highlight-color; -@label-color: @heading-color; -@form-warning-input-bg: @input-bg; -@form-item-margin-bottom: 24px; -@form-item-trailing-colon: true; -@form-vertical-label-padding: 0 0 8px; -@form-vertical-label-margin: 0; -@form-item-label-font-size: @font-size-base; -@form-item-label-height: @input-height-base; -@form-item-label-colon-margin-right: 8px; -@form-item-label-colon-margin-left: 2px; -@form-error-input-bg: @input-bg; - -// Input +@brand-primary: #f5222d; +@hd: 1px; // 基本单位 +// 色彩 // --- -@input-height-base: @height-base; -@input-height-lg: @height-lg; -@input-height-sm: @height-sm; -@input-padding-horizontal: @control-padding-horizontal - 1px; -@input-padding-horizontal-base: @input-padding-horizontal; -@input-padding-horizontal-sm: @control-padding-horizontal-sm - 1px; -@input-padding-horizontal-lg: @input-padding-horizontal; -@input-padding-vertical-base: max( - round((@input-height-base - @font-size-base * @line-height-base) / 2 * 10) / 10 - - @border-width-base, - 3px -); -@input-padding-vertical-sm: max( - round((@input-height-sm - @font-size-base * @line-height-base) / 2 * 10) / 10 - @border-width-base, - 0 -); -@input-padding-vertical-lg: ceil((@input-height-lg - @font-size-lg * @line-height-base) / 2 * 10) / - 10 - @border-width-base; -@input-placeholder-color: hsv(0, 0, 75%); -@input-color: @text-color; -@input-icon-color: @input-color; -@input-border-color: @border-color-base; -@input-bg: @component-background; -@input-number-hover-border-color: @input-hover-border-color; -@input-number-handler-active-bg: #f4f4f4; -@input-number-handler-hover-bg: @primary-5; -@input-number-handler-bg: @component-background; -@input-number-handler-border-color: @border-color-base; -@input-addon-bg: @background-color-light; -@input-hover-border-color: @primary-5; -@input-disabled-bg: @disabled-bg; -@input-outline-offset: 0 0; -@input-icon-hover-color: fade(@black, 85%); - -// Mentions -// --- -@mentions-dropdown-bg: @component-background; -@mentions-dropdown-menu-item-hover-bg: @mentions-dropdown-bg; +// 文字色 +@color-text-base: #000; // 基本 +@color-text-base-inverse: #fff; // 基本 - 反色 +@color-text-secondary: #a4a9b0; // 辅助色 +@color-text-placeholder: #bbb; // 文本框提示 +@color-text-disabled: #bbb; // 失效 +@color-text-caption: #888; // 辅助描述 +@color-text-paragraph: #333; // 段落 +@color-link: @brand-primary; // 链接 -// Select -// --- -@select-border-color: @border-color-base; -@select-item-selected-font-weight: 600; -@select-dropdown-bg: @component-background; -@select-item-selected-bg: @primary-1; -@select-item-active-bg: @item-hover-bg; -@select-dropdown-vertical-padding: @dropdown-vertical-padding; -@select-dropdown-font-size: @dropdown-font-size; -@select-dropdown-line-height: @dropdown-line-height; -@select-dropdown-height: 32px; -@select-background: @component-background; -@select-clear-background: @select-background; -@select-selection-item-bg: @background-color-base; -@select-selection-item-border-color: @border-color-split; -@select-single-item-height-lg: 40px; -@select-multiple-item-height: @input-height-base - @input-padding-vertical-base * 2; // Normal 24px -@select-multiple-item-height-lg: 32px; -@select-multiple-item-spacing-half: ceil(@input-padding-vertical-base / 2); - -// Cascader -// --- -@cascader-bg: @component-background; -@cascader-item-selected-bg: @primary-1; -@cascader-menu-bg: @component-background; -@cascader-menu-border-color-split: @border-color-split; - -// Cascader -// ---- -@cascader-dropdown-vertical-padding: @dropdown-vertical-padding; -@cascader-dropdown-edge-child-vertical-padding: @dropdown-edge-child-vertical-padding; -@cascader-dropdown-font-size: @dropdown-font-size; -@cascader-dropdown-line-height: @dropdown-line-height; - -// Anchor -// --- -@anchor-bg: @component-background; -@anchor-border-color: @border-color-split; +// 背景色 +@fill-base: #fff; // 组件默认背景 +@fill-body: #f5f5f9; // 页面背景 +@fill-tap: #ddd; // 组件默认背景 - 按下 +@fill-disabled: #ddd; // 通用失效背景 +@fill-mask: rgba(0, 0, 0, 0.4); // 遮罩背景 +@color-icon-base: #ccc; // 许多小图标的背景,比如一些小圆点,加减号 +@fill-grey: #f7f7f7; -// Tooltip -// --- -// Tooltip max width -@tooltip-max-width: 250px; -// Tooltip text color -@tooltip-color: #fff; -// Tooltip background color -@tooltip-bg: rgba(0, 0, 0, 0.75); -// Tooltip arrow width -@tooltip-arrow-width: 5px; -// Tooltip distance with trigger -@tooltip-distance: @tooltip-arrow-width - 1px + 4px; -// Tooltip arrow color -@tooltip-arrow-color: @tooltip-bg; - -// Popover -// --- -// Popover body background color -@popover-bg: @component-background; -// Popover text color -@popover-color: @text-color; -// Popover maximum width -@popover-min-width: 177px; -@popover-min-height: 32px; -// Popover arrow width -@popover-arrow-width: 6px; -// Popover arrow color -@popover-arrow-color: @popover-bg; -// Popover outer arrow width -// Popover outer arrow color -@popover-arrow-outer-color: @popover-bg; -// Popover distance with trigger -@popover-distance: @popover-arrow-width + 4px; -@popover-padding-horizontal: @padding-md; - -// Modal -// -- -@modal-body-padding: @padding-lg; -@modal-header-bg: @component-background; -@modal-header-padding: @padding-md @padding-lg; -@modal-header-border-color-split: @border-color-split; -@modal-header-close-size: 56px; -@modal-content-bg: @component-background; -@modal-heading-color: @heading-color; -@modal-footer-bg: transparent; -@modal-footer-border-color-split: @border-color-split; -@modal-footer-padding-vertical: 10px; -@modal-footer-padding-horizontal: 16px; -@modal-mask-bg: fade(@black, 45%); -@modal-confirm-body-padding: 32px 32px 24px; - -// Progress -// -- -@progress-default-color: @processing-color; -@progress-remaining-color: @background-color-base; -@progress-text-color: @text-color; -@progress-radius: 100px; -@progress-steps-item-bg: #f3f3f3; - -// Menu -// --- -@menu-inline-toplevel-item-height: 40px; -@menu-item-height: 40px; -@menu-item-group-height: @line-height-base; -@menu-collapsed-width: 80px; -@menu-bg: @component-background; -@menu-popup-bg: @component-background; -@menu-item-color: @text-color; -@menu-highlight-color: @primary-color; -@menu-item-active-bg: @primary-1; -@menu-item-active-border-width: 3px; -@menu-item-group-title-color: @text-color-secondary; -@menu-icon-size: @font-size-base; -@menu-icon-size-lg: @font-size-lg; - -@menu-item-vertical-margin: 4px; -@menu-item-font-size: @font-size-base; -@menu-item-boundary-margin: 8px; - -// dark theme -@menu-dark-color: @text-color-secondary-dark; -@menu-dark-bg: @layout-header-background; -@menu-dark-arrow-color: #fff; -@menu-dark-submenu-bg: #000c17; -@menu-dark-highlight-color: #fff; -@menu-dark-item-active-bg: @primary-color; -@menu-dark-selected-item-icon-color: @white; -@menu-dark-selected-item-text-color: @white; -@menu-dark-item-hover-bg: transparent; -// Spin -// --- -@spin-dot-size-sm: 14px; -@spin-dot-size: 20px; -@spin-dot-size-lg: 32px; - -// Table -// -- -@table-bg: @component-background; -@table-header-bg: @background-color-light; -@table-header-color: @heading-color; -@table-header-sort-bg: @background-color-base; -@table-body-sort-bg: #fafafa; -@table-row-hover-bg: @item-hover-bg; -@table-selected-row-color: inherit; -@table-selected-row-bg: @primary-1; -@table-body-selected-sort-bg: @table-selected-row-bg; -@table-selected-row-hover-bg: @table-selected-row-bg; -@table-expanded-row-bg: #fbfbfb; -@table-padding-vertical: 16px; -@table-padding-horizontal: 16px; -@table-padding-vertical-md: @table-padding-vertical * 3 / 4; -@table-padding-horizontal-md: @table-padding-horizontal / 2; -@table-padding-vertical-sm: @table-padding-vertical / 2; -@table-padding-horizontal-sm: @table-padding-horizontal / 2; -@table-border-radius-base: @border-radius-base; -@table-footer-bg: @background-color-light; -@table-footer-color: @heading-color; -@table-header-bg-sm: @table-header-bg; -// Sorter -// Legacy: `table-header-sort-active-bg` is used for hover not real active -@table-header-sort-active-bg: darken(@table-header-bg, 3%); -// Filter -@table-header-filter-active-bg: darken(@table-header-sort-active-bg, 5%); -@table-filter-btns-bg: inherit; -@table-filter-dropdown-bg: @component-background; -@table-expand-icon-bg: @component-background; - -// Tag -// -- -@tag-default-bg: @background-color-light; -@tag-default-color: @text-color; -@tag-font-size: @font-size-sm; - -// TimePicker -// --- -@picker-bg: @component-background; -@picker-basic-cell-hover-color: @item-hover-bg; -@picker-basic-cell-active-with-range-color: @primary-1; -@picker-basic-cell-hover-with-range-color: lighten(@primary-color, 35%); -@picker-basic-cell-disabled-bg: @disabled-bg; -@picker-border-color: @border-color-split; -@picker-date-hover-range-border-color: lighten(@primary-color, 20%); -@picker-date-hover-range-color: @picker-basic-cell-hover-with-range-color; -@picker-time-panel-cell-height: 28px; - -// Calendar -// --- -@calendar-bg: @component-background; -@calendar-input-bg: @input-bg; -@calendar-border-color: @border-color-inverse; -@calendar-item-active-bg: @item-active-bg; -@calendar-full-bg: @calendar-bg; -@calendar-full-panel-bg: @calendar-full-bg; - -// Carousel -// --- -@carousel-dot-width: 16px; -@carousel-dot-height: 3px; -@carousel-dot-active-width: 24px; +// 透明度 +@opacity-disabled: 0.3; // switch checkbox radio 等组件禁用的透明度 -// Badge -// --- -@badge-height: 20px; -@badge-dot-size: 6px; -@badge-font-size: @font-size-sm; -@badge-font-weight: normal; -@badge-status-size: 6px; -@badge-text-color: @component-background; - -// Rate -// --- -@rate-star-color: @yellow-6; -@rate-star-bg: @border-color-split; +// 全局/品牌色 -// Card -// --- -@card-head-color: @heading-color; -@card-head-background: transparent; -@card-head-font-size: @font-size-lg; -@card-head-font-size-sm: @font-size-base; -@card-head-padding: 16px; -@card-head-padding-sm: @card-head-padding / 2; -@card-head-height: 48px; -@card-head-height-sm: 36px; -@card-inner-head-padding: 12px; -@card-padding-base: 24px; -@card-padding-base-sm: @card-padding-base / 2; -@card-actions-background: @background-color-light; -@card-actions-li-margin: 12px 0; -@card-skeleton-bg: #cfd8dc; -@card-background: @component-background; -@card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), -0 5px 12px 4px rgba(0, 0, 0, 0.09); -@card-radius: @border-radius-base; -@card-head-tabs-margin-bottom: -17px; - -// Comment -// --- -@comment-bg: inherit; -@comment-padding-base: @padding-md 0; -@comment-nest-indent: 44px; -@comment-font-size-base: @font-size-base; -@comment-font-size-sm: @font-size-sm; -@comment-author-name-color: @text-color-secondary; -@comment-author-time-color: #ccc; -@comment-action-color: @text-color-secondary; -@comment-action-hover-color: #595959; -@comment-actions-margin-bottom: inherit; -@comment-actions-margin-top: @margin-sm; -@comment-content-detail-p-margin-bottom: inherit; - -// Tabs -// --- -@tabs-card-head-background: @background-color-light; -@tabs-card-height: 40px; -@tabs-card-active-color: @primary-color; -@tabs-title-font-size: @font-size-base; -@tabs-title-font-size-lg: @font-size-lg; -@tabs-title-font-size-sm: @font-size-base; -@tabs-ink-bar-color: @primary-color; -@tabs-bar-margin: 0 0 @margin-md 0; -@tabs-horizontal-margin: 0 32px 0 0; -@tabs-horizontal-margin-rtl: 0 0 0 32px; -@tabs-horizontal-padding: @padding-sm 0; -@tabs-horizontal-padding-lg: @padding-md 0; -@tabs-horizontal-padding-sm: @padding-xs 0; -@tabs-vertical-padding: @padding-xs @padding-lg; -@tabs-vertical-margin: 0 0 @margin-md 0; -@tabs-scrolling-size: 32px; -@tabs-highlight-color: @primary-color; -@tabs-hover-color: @primary-5; -@tabs-active-color: @primary-7; -@tabs-card-gutter: 2px; -@tabs-card-tab-active-border-top: 2px solid transparent; - -// BackTop -// --- -@back-top-color: #fff; -@back-top-bg: @text-color-secondary; -@back-top-hover-bg: @text-color; +@brand-primary-tap: #f4333c; +@brand-success: #6abf47; +@brand-warning: #ffc600; +@brand-error: #f4333c; +@brand-important: #ff5b05; // 用于小红点 +@brand-wait: #f4333c; -// Avatar -// --- -@avatar-size-base: 32px; -@avatar-size-lg: 40px; -@avatar-size-sm: 24px; -@avatar-font-size-base: 18px; -@avatar-font-size-lg: 24px; -@avatar-font-size-sm: 14px; -@avatar-bg: #ccc; -@avatar-color: #fff; -@avatar-border-radius: @border-radius-base; - -// Switch -// --- -@switch-height: 22px; -@switch-sm-height: 16px; -@switch-min-width: 44px; -@switch-sm-min-width: 28px; -@switch-sm-checked-margin-left: -(@switch-sm-height - 3px); -@switch-disabled-opacity: 0.4; -@switch-color: @primary-color; -@switch-bg: @component-background; -@switch-shadow-color: fade(#00230b, 20%); - -// Pagination -// --- -@pagination-item-bg: @component-background; -@pagination-item-size: @height-base; -@pagination-item-size-sm: 24px; -@pagination-font-family: Arial; -@pagination-font-weight-active: 500; -@pagination-item-bg-active: @component-background; -@pagination-item-link-bg: @component-background; -@pagination-item-disabled-color-active: @white; -@pagination-item-disabled-bg-active: darken(@disabled-bg, 10%); -@pagination-item-input-bg: @component-background; -@pagination-mini-options-size-changer-top: 0px; - -// PageHeader -// --- -@page-header-padding: @padding-lg; -@page-header-padding-vertical: @padding-md; -@page-header-padding-breadcrumb: @padding-sm; -@page-header-content-padding-vertical: @padding-sm; -@page-header-back-color: #000; -@page-header-ghost-bg: inherit; - -// Breadcrumb -// --- -@breadcrumb-base-color: @text-color-secondary; -@breadcrumb-last-item-color: @text-color; -@breadcrumb-font-size: @font-size-base; -@breadcrumb-icon-font-size: @font-size-base; -@breadcrumb-link-color: @text-color-secondary; -@breadcrumb-link-color-hover: @primary-5; -@breadcrumb-separator-color: @text-color-secondary; -@breadcrumb-separator-margin: 0 @padding-xs; - -// Slider -// --- -@slider-margin: 10px 6px 10px; -@slider-rail-background-color: @background-color-base; -@slider-rail-background-color-hover: #e1e1e1; -@slider-track-background-color: @primary-3; -@slider-track-background-color-hover: @primary-4; -@slider-handle-border-width: 2px; -@slider-handle-background-color: @component-background; -@slider-handle-color: @primary-3; -@slider-handle-color-hover: @primary-4; -@slider-handle-color-focus: tint(@primary-color, 20%); -@slider-handle-color-focus-shadow: fade(@primary-color, 12%); -@slider-handle-color-tooltip-open: @primary-color; -@slider-handle-shadow: 0; -@slider-dot-border-color: @border-color-split; -@slider-dot-border-color-active: tint(@primary-color, 50%); -@slider-disabled-color: @disabled-color; -@slider-disabled-background-color: @component-background; - -// Tree -// --- -@tree-bg: @component-background; -@tree-title-height: 24px; -@tree-child-padding: 18px; -@tree-directory-selected-color: #fff; -@tree-directory-selected-bg: @primary-color; -@tree-node-hover-bg: @item-hover-bg; -@tree-node-selected-bg: @primary-2; - -// Collapse -// --- -@collapse-header-padding: @padding-sm @padding-md; -@collapse-header-padding-extra: 40px; -@collapse-header-bg: @background-color-light; -@collapse-content-padding: @padding-md; -@collapse-content-bg: @component-background; +// 边框色 +@border-color-base: #ddd; -// Skeleton +// 字体尺寸 // --- -@skeleton-color: #f2f2f2; -@skeleton-to-color: shade(@skeleton-color, 5%); -@skeleton-paragraph-margin-top: 28px; -@skeleton-paragraph-li-margin-top: @margin-md; +@font-size-icontext: 10 * @hd; +@font-size-caption-sm: 12 * @hd; +@font-size-base: 14 * @hd; +@font-size-subhead: 15 * @hd; +@font-size-caption: 16 * @hd; +@font-size-heading: 17 * @hd; -// Transfer -// --- -@transfer-header-height: 40px; -@transfer-item-height: @height-base; -@transfer-disabled-bg: @disabled-bg; -@transfer-list-height: 200px; -@transfer-item-hover-bg: @item-hover-bg; -@transfer-item-padding-vertical: 6px; -@transfer-list-search-icon-top: 12px; - -// Message +// 圆角 // --- -@message-notice-content-padding: 10px 16px; -@message-notice-content-bg: @component-background; -// Motion -// --- -@wave-animation-width: 6px; +@radius-xs: 2 * @hd; +@radius-sm: 3 * @hd; +@radius-md: 5 * @hd; +@radius-lg: 7 * @hd; +@radius-circle: 50%; -// Alert -// --- -@alert-success-border-color: ~`colorPalette('@{success-color}', 3) `; -@alert-success-bg-color: ~`colorPalette('@{success-color}', 1) `; -@alert-success-icon-color: @success-color; -@alert-info-border-color: ~`colorPalette('@{info-color}', 3) `; -@alert-info-bg-color: ~`colorPalette('@{info-color}', 1) `; -@alert-info-icon-color: @info-color; -@alert-warning-border-color: ~`colorPalette('@{warning-color}', 3) `; -@alert-warning-bg-color: ~`colorPalette('@{warning-color}', 1) `; -@alert-warning-icon-color: @warning-color; -@alert-error-border-color: ~`colorPalette('@{error-color}', 3) `; -@alert-error-bg-color: ~`colorPalette('@{error-color}', 1) `; -@alert-error-icon-color: @error-color; -@alert-message-color: @heading-color; -@alert-text-color: @text-color; -@alert-close-color: @text-color-secondary; -@alert-close-hover-color: @icon-color-hover; -@alert-no-icon-padding-vertical: @padding-xs; -@alert-with-description-no-icon-padding-vertical: @padding-md - 1px; - -// List +// 边框尺寸 // --- -@list-header-background: transparent; -@list-footer-background: transparent; -@list-empty-text-padding: @padding-md; -@list-item-padding: @padding-sm 0; -@list-item-padding-sm: @padding-xs @padding-md; -@list-item-padding-lg: 16px 24px; -@list-item-meta-margin-bottom: @padding-md; -@list-item-meta-avatar-margin-right: @padding-md; -@list-item-meta-title-margin-bottom: @padding-sm; -@list-customize-card-bg: @component-background; -@list-item-meta-description-font-size: @font-size-base; - -// Statistic -// --- -@statistic-title-font-size: @font-size-base; -@statistic-content-font-size: 24px; -@statistic-unit-font-size: 16px; -@statistic-font-family: @font-family; +@border-width-sm: 1px; +@border-width-md: 1px; +@border-width-lg: 2 * @hd; -// Drawer -// --- -@drawer-header-padding: @padding-md @padding-lg; -@drawer-body-padding: @padding-lg; -@drawer-bg: @component-background; -@drawer-footer-padding-vertical: @modal-footer-padding-vertical; -@drawer-footer-padding-horizontal: @modal-footer-padding-horizontal; -@drawer-header-close-size: 56px; - -// Timeline -// --- -@timeline-width: 2px; -@timeline-color: @border-color-split; -@timeline-dot-border-width: 2px; -@timeline-dot-color: @primary-color; -@timeline-dot-bg: @component-background; -@timeline-item-padding-bottom: 20px; - -// Typography +// 间距 // --- -@typography-title-font-weight: 600; -@typography-title-margin-top: 1.2em; -@typography-title-margin-bottom: 0.5em; +// 水平间距 +@h-spacing-sm: 5 * @hd; +@h-spacing-md: 8 * @hd; +@h-spacing-lg: 15 * @hd; -// Upload -// --- -@upload-actions-color: @text-color-secondary; +// 垂直间距 +@v-spacing-xs: 3 * @hd; +@v-spacing-sm: 6 * @hd; +@v-spacing-md: 9 * @hd; +@v-spacing-lg: 15 * @hd; +@v-spacing-xl: 21 * @hd; -// Steps -// --- -@process-tail-color: @border-color-split; -@steps-nav-arrow-color: fade(@black, 25%); -@steps-background: @component-background; -@steps-icon-size: 32px; -@steps-icon-custom-size: @steps-icon-size; -@steps-icon-custom-top: 0px; -@steps-icon-custom-font-size: 24px; -@steps-icon-top: -1px; -@steps-icon-font-size: @font-size-lg; -@steps-icon-margin: 0 8px 0 0; -@steps-title-line-height: @height-base; -@steps-small-icon-size: 24px; -@steps-small-icon-margin: 0 8px 0 0; -@steps-dot-size: 8px; -@steps-dot-top: 2px; -@steps-current-dot-size: 10px; -@steps-desciption-max-width: 140px; -@steps-nav-content-max-width: auto; - -// Notification +// 高度 +// --- +@line-height-base: 1; // 单行行高 +@line-height-paragraph: 1.5; // 多行行高 + +// 图标尺寸 // --- -@notification-bg: @component-background; +@icon-size-xxs: 15 * @hd; +@icon-size-xs: 18 * @hd; +@icon-size-sm: 21 * @hd; +@icon-size-md: 22 * @hd; // 导航条上的图标、grid的图标大小 +@icon-size-lg: 36 * @hd; + +// 动画缓动 +// --- +@ease-in-out-quint: cubic-bezier(.86, 0, .07, 1); + +// 组件变量 +// --- + +@actionsheet-item-height: 50 * @hd; +@actionsheet-item-font-size: 18 * @hd; + +// button +@button-height: 47 * @hd; +@button-font-size: 18 * @hd; + +@button-height-sm: 30 * @hd; +@button-font-size-sm: 13 * @hd; + +@primary-button-fill: @brand-primary; +@primary-button-fill-tap: @brand-primary-tap; + +@ghost-button-color: @brand-primary; // 同时应用于背景、文字颜色、边框色 +@ghost-button-fill-tap: fade(@brand-primary, 60%); + +@warning-button-fill: #e94f4f; +@warning-button-fill-tap: #d24747; + +@link-button-fill-tap: #ddd; +@link-button-font-size: 16 * @hd; + +// menu +@menu-multi-select-btns-height: @button-height; + +// modal +@modal-font-size-heading: 18 * @hd; +@modal-button-font-size: 18 * @hd; // 按钮字号 +@modal-button-height: 50 * @hd; // 按钮高度 + +// list +@list-title-height: 30 * @hd; +@list-item-height-sm: 35 * @hd; +@list-item-height: 44 * @hd; + +// input +@input-label-width: 17 * @hd; // InputItem、TextareaItem 文字长度基础值 +@input-font-size: 17 * @hd; +@input-color-icon: #ccc; // input clear icon 的背景色 +@input-color-icon-tap: @brand-primary; + +// tabs +@tabs-color: @brand-primary; +@tabs-height: 43.5 * @hd; +@tabs-font-size-heading: 15 * @hd; +@tabs-ink-bar-height: @border-width-lg; + +// segmented-control +@segmented-control-color: @brand-primary; // 同时应用于背景、文字颜色、边框色 +@segmented-control-height: 27 * @hd; +@segmented-control-fill-tap: fade(@brand-primary, 0.1); + +// tab-bar +@tab-bar-fill: #ebeeef; +@tab-bar-height: 50 * @hd; + +// toast +@toast-fill: rgba(58, 58, 58, 0.9); // toast, activity-indicator 的背景颜色 + +// search-bar +@search-bar-fill: #efeff4; +@search-bar-height: 44 * @hd; +@search-bar-input-height: 28 * @hd; +@search-bar-font-size: 15 * @hd; +@search-color-icon: #bbb; // input search icon 的背景色 + +// notice-bar +@notice-bar-fill: #fefcec; +@notice-bar-height: 36 * @hd; +@notice-bar-color: #f76a24; + +// switch +@switch-fill: #4dd865; +@switch-fill-android: @brand-primary; + +// tag +@tag-height: 25 * @hd; +@tag-height-sm: 15 * @hd; +@tag-color: @brand-primary; + +// keyboard +@keyboard-confirm-color: @brand-primary; +@keyboard-confirm-tap-color: @brand-primary-tap; + +// picker +@option-height: 42 * @hd; // picker 标题的高度 +// z-index +@toast-zindex: 3000; // toast.show 应该最大,其他应该较小 +@modal-zindex: 2001; +@progress-zindex: 2000; +@popover-zindex: 1999; +@action-sheet-zindex: 1000; // actonsheet 会放到 popup / modal 中 +@picker-zindex: 1000; +@popup-zindex: 999; +@tabs-pagination-zindex: 999;