mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-13 20:36:34 +00:00
feat: add theme color document & optimize some theme colors
This commit is contained in:
parent
96fe876e33
commit
79b9a6efa5
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: 低代码生态脚手架 & 调试机制
|
title: 低代码生态脚手架 & 调试机制
|
||||||
sidebar_position: 8
|
sidebar_position: 10
|
||||||
---
|
---
|
||||||
## 脚手架简述
|
## 脚手架简述
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: 图编排扩展
|
title: 图编排扩展
|
||||||
sidebar_position: 9
|
sidebar_position: 8
|
||||||
---
|
---
|
||||||
## 项目运行
|
## 项目运行
|
||||||
### 前置准备
|
### 前置准备
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: 设置器扩展
|
title: 设置器扩展
|
||||||
sidebar_position: 5
|
sidebar_position: 7
|
||||||
---
|
---
|
||||||
## 设置器简述
|
## 设置器简述
|
||||||
|
|
||||||
|
|||||||
91
docs/docs/guide/expand/editor/theme.md
Normal file
91
docs/docs/guide/expand/editor/theme.md
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
---
|
||||||
|
title: 主题色扩展
|
||||||
|
sidebar_position: 9
|
||||||
|
---
|
||||||
|
|
||||||
|
## 主题色扩展简述
|
||||||
|
|
||||||
|
通过主题色扩展,可以定制多种设计器主题。
|
||||||
|
|
||||||
|
## 主题色扩展说明
|
||||||
|
|
||||||
|
### 主题色变量
|
||||||
|
|
||||||
|
- `--color-brand`: 品牌色
|
||||||
|
- `--color-brand-light`: 品牌色(light)
|
||||||
|
- `--color-brand-dark`: 品牌色(dark)
|
||||||
|
- `--color-icon-normal`: 正常 icon 颜色
|
||||||
|
- `--color-icon-hover`: icon hover 态颜色
|
||||||
|
- `--color-icon-active`: icon active 态颜色
|
||||||
|
- `--color-icon-reverse`: icon 反色
|
||||||
|
- `--color-icon-disabled`: icon 禁用态颜色
|
||||||
|
- `--color-icon-pane`: icon 面板颜色
|
||||||
|
- `--color-line-normal`: 线条颜色
|
||||||
|
- `--color-line-darken`: 线条颜色(darken)
|
||||||
|
- `--color-title`: 标题颜色
|
||||||
|
- `--color-text`: 文字颜色
|
||||||
|
- `--color-text-dark`: 文字颜色(dark)
|
||||||
|
- `--color-text-light`: 文字颜色(light)
|
||||||
|
- `--color-text-reverse`: 反色情况下,文字颜色
|
||||||
|
- `--color-text-regular`: 文字颜色(regular)
|
||||||
|
- `--color-text-disabled`: 禁用态文字颜色
|
||||||
|
- `--color-field-label`: field 标签颜色
|
||||||
|
- `--color-field-text`: field 文本颜色
|
||||||
|
- `--color-field-placeholder`: field placeholder 颜色
|
||||||
|
- `--color-field-border`: field 边框颜色
|
||||||
|
- `--color-field-border-hover`: hover 态下,field 边框颜色
|
||||||
|
- `--color-field-border-active`: active 态下,field 边框颜色
|
||||||
|
- `--color-field-background`: field 背景色
|
||||||
|
- `--color-success`: success 颜色
|
||||||
|
- `--colo-success-dark`: success 颜色(dark)
|
||||||
|
- `--color-success-light`: success 颜色(light)
|
||||||
|
- `--color-warning`: warning 颜色
|
||||||
|
- `--color-warning-dark`: warning 颜色(dark)
|
||||||
|
- `--color-warning-light`: warning 颜色(light)
|
||||||
|
- `--color-information`: information 颜色
|
||||||
|
- `--color-information-dark`: information 颜色(dark)
|
||||||
|
- `--color-information-light`: information 颜色(light)
|
||||||
|
- `--color-error`: error 颜色
|
||||||
|
- `--color-error-dark`: error 颜色(dark)
|
||||||
|
- `--color-error-light`: error 颜色(light)
|
||||||
|
- `--color-purple`: purple 颜色
|
||||||
|
- `--color-brown`: brown 颜色
|
||||||
|
- `--color-pane-background`: 面板背景色
|
||||||
|
- `--color-block-background-normal`: 区块背景色
|
||||||
|
- `--color-block-background-light`: 区块背景色(light), 作用于画布组件 hover 时遮罩背景色。
|
||||||
|
- `--color-block-background-shallow`: 区块背景色 shallow
|
||||||
|
- `--color-block-background-dark`: 区块背景色(dark)
|
||||||
|
- `--color-block-background-disabled`: 区块背景色(disabled)
|
||||||
|
- `--color-block-background-active`: 区块背景色(active)
|
||||||
|
- `--color-block-background-warning`: 区块背景色(warning)
|
||||||
|
- `--color-block-background-error`: 区块背景色(error)
|
||||||
|
- `--color-block-background-success`: 区块背景色(success)
|
||||||
|
- `--color-block-background-deep-dark`: 区块背景色(deep-dark),作用于多个组件同时拖拽的背景色。
|
||||||
|
- `--color-layer-mask-background`: 拖拽元素时,元素原来位置的遮罩背景色
|
||||||
|
- `--color-layer-tooltip-background`: tooltip 背景色
|
||||||
|
- `--color-background`: 设计器主要背景色
|
||||||
|
- `--color-top-area-background`: topArea 背景色,优先级大于 `--color-pane-background`
|
||||||
|
- `--color-left-area-background`: leftArea 背景色,优先级大于 `--color-pane-background`
|
||||||
|
- `--color-workspace-left-area-background`: 应用级 leftArea 背景色,优先级大于 `--color-pane-background`
|
||||||
|
- `--color-workspace-top-area-background`: 应用级 topArea 背景色,优先级大于 `--color-pane-background`
|
||||||
|
- `--color-workspace-sub-top-area-background`: 应用级二级 topArea 背景色,优先级大于 `--color-pane-background`
|
||||||
|
- `--workspace-sub-top-area-height`: 应用级二级 topArea 高度
|
||||||
|
- `--workspace-sub-top-area-margin`: 应用级二级 topArea margin
|
||||||
|
- `--workspace-sub-top-area-padding`: 应用级二级 topArea padding
|
||||||
|
|
||||||
|
### 生态使用主题色变量
|
||||||
|
|
||||||
|
插件、物料、设置器等生态为了支持主题色需要对样式进行改造,需要对生态中的样式升级为 css 变量。例如:
|
||||||
|
|
||||||
|
```css
|
||||||
|
/* before */
|
||||||
|
background: #006cff;
|
||||||
|
|
||||||
|
/* after */
|
||||||
|
background: var(--color-brand, #006cff);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### fusion 物料进行主题色扩展
|
||||||
|
|
||||||
|
如果使用了 fusion 组件,可以通过 https://fusion.alibaba-inc.com/ 平台进行主题色定制。
|
||||||
@ -23,6 +23,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.invalid {
|
&.invalid {
|
||||||
background-color: var(--color-function-error, red);
|
background-color: var(--color-error, var(--color-function-error, red));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -188,9 +188,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.lc-theme-green {
|
&.lc-theme-green {
|
||||||
background: var(--color-function-success-dark, #57a672);
|
background: var(--color-success-dark, var(--color-function-success-dark, #57a672));
|
||||||
.lc-arrow:after {
|
.lc-arrow:after {
|
||||||
border-top-color: var(--color-function-success-dark, #57a672);
|
border-top-color: var(--color-success-dark, var(--color-function-success-dark, #57a672));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.lc-visible {
|
&.lc-visible {
|
||||||
|
|||||||
@ -13,7 +13,7 @@ export default class SubTopArea extends Component<{ area: Area; itemClassName?:
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={classNames('lc-sub-top-area engine-actionpane', {
|
<div className={classNames('lc-workspace-sub-top-area lc-sub-top-area engine-actionpane', {
|
||||||
'lc-area-visible': area.visible,
|
'lc-area-visible': area.visible,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
@ -50,13 +50,13 @@ class Contents extends Component<{ area: Area; itemClassName?: string }> {
|
|||||||
});
|
});
|
||||||
let children = [];
|
let children = [];
|
||||||
if (left && left.length) {
|
if (left && left.length) {
|
||||||
children.push(<div className="lc-sub-top-area-left">{left}</div>);
|
children.push(<div className="lc-workspace-sub-top-area-left lc-sub-top-area-left">{left}</div>);
|
||||||
}
|
}
|
||||||
if (center && center.length) {
|
if (center && center.length) {
|
||||||
children.push(<div className="lc-sub-top-area-center">{center}</div>);
|
children.push(<div className="lc-workspace-sub-top-area-center lc-sub-top-area-center">{center}</div>);
|
||||||
}
|
}
|
||||||
if (right && right.length) {
|
if (right && right.length) {
|
||||||
children.push(<div className="lc-sub-top-area-right">{right}</div>);
|
children.push(<div className="lc-workspace-sub-top-area-right lc-sub-top-area-right">{right}</div>);
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<Fragment>
|
<Fragment>
|
||||||
|
|||||||
@ -38,20 +38,20 @@
|
|||||||
--color-field-border-active: @normal-alpha-3;
|
--color-field-border-active: @normal-alpha-3;
|
||||||
--color-field-background: @white-alpha-1;
|
--color-field-background: @white-alpha-1;
|
||||||
|
|
||||||
--color-function-success: @brand-success;
|
--color-success: @brand-success;
|
||||||
--color-function-success-dark: darken(@brand-success, 10%);
|
--colo-success-dark: darken(@brand-success, 10%);
|
||||||
--color-function-success-light: lighten(@brand-success, 10%);
|
--color-success-light: lighten(@brand-success, 10%);
|
||||||
--color-function-warning: @brand-warning;
|
--color-warning: @brand-warning;
|
||||||
--color-function-warning-dark: darken(@brand-warning, 10%);
|
--color-warning-dark: darken(@brand-warning, 10%);
|
||||||
--color-function-warning-light: lighten(@brand-warning, 10%);
|
--color-warning-light: lighten(@brand-warning, 10%);
|
||||||
--color-function-information: @brand-link-hover;
|
--color-information: @brand-link-hover;
|
||||||
--color-function-information-dark: darken(@brand-link-hover, 10%);
|
--color-information-dark: darken(@brand-link-hover, 10%);
|
||||||
--color-function-information-light: lighten(@brand-link-hover, 10%);
|
--color-information-light: lighten(@brand-link-hover, 10%);
|
||||||
--color-function-error: @brand-danger;
|
--color-error: @brand-danger;
|
||||||
--color-function-error-dark: darken(@brand-danger, 10%);
|
--color-error-dark: darken(@brand-danger, 10%);
|
||||||
--color-function-error-light: lighten(@brand-danger, 10%);
|
--color-error-light: lighten(@brand-danger, 10%);
|
||||||
--color-function-purple: rgb(144, 94, 190);
|
--color-purple: rgb(144, 94, 190);
|
||||||
--color-function-brown: #7b605b;
|
--color-brown: #7b605b;
|
||||||
|
|
||||||
--color-pane-background: @white-alpha-1;
|
--color-pane-background: @white-alpha-1;
|
||||||
--color-block-background-normal: @white-alpha-1;
|
--color-block-background-normal: @white-alpha-1;
|
||||||
@ -70,3 +70,21 @@
|
|||||||
|
|
||||||
--pane-title-bg-color: rgba(31,56,88,.04);
|
--pane-title-bg-color: rgba(31,56,88,.04);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @deprecated 变量
|
||||||
|
:root {
|
||||||
|
--color-function-success: @brand-success;
|
||||||
|
--color-function-success-dark: darken(@brand-success, 10%);
|
||||||
|
--color-function-success-light: lighten(@brand-success, 10%);
|
||||||
|
--color-function-warning: @brand-warning;
|
||||||
|
--color-function-warning-dark: darken(@brand-warning, 10%);
|
||||||
|
--color-function-warning-light: lighten(@brand-warning, 10%);
|
||||||
|
--color-function-information: @brand-link-hover;
|
||||||
|
--color-function-information-dark: darken(@brand-link-hover, 10%);
|
||||||
|
--color-function-information-light: lighten(@brand-link-hover, 10%);
|
||||||
|
--color-function-error: @brand-danger;
|
||||||
|
--color-function-error-dark: darken(@brand-danger, 10%);
|
||||||
|
--color-function-error-light: lighten(@brand-danger, 10%);
|
||||||
|
--color-function-purple: rgb(144, 94, 190);
|
||||||
|
--color-function-brown: #7b605b;
|
||||||
|
}
|
||||||
|
|||||||
@ -4,14 +4,14 @@ import { observer } from '@alilc/lowcode-editor-core';
|
|||||||
import { Area } from '../area';
|
import { Area } from '../area';
|
||||||
|
|
||||||
@observer
|
@observer
|
||||||
export default class TopArea extends Component<{ area: Area; itemClassName?: string }> {
|
export default class TopArea extends Component<{ area: Area; itemClassName?: string; className?: string }> {
|
||||||
render() {
|
render() {
|
||||||
const { area, itemClassName } = this.props;
|
const { area, itemClassName, className } = this.props;
|
||||||
if (area.isEmpty()) {
|
if (area.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div className={classNames('lc-top-area engine-actionpane', {
|
<div className={classNames(className, 'lc-top-area engine-actionpane', {
|
||||||
'lc-area-visible': area.visible,
|
'lc-area-visible': area.visible,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -141,7 +141,7 @@ body {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
background-color: var(--color-background);
|
background-color: var(--color-background);
|
||||||
}
|
}
|
||||||
.lc-top-area, .lc-sub-top-area {
|
.lc-top-area, .lc-workspace-sub-top-area {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: none;
|
display: none;
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
@ -152,30 +152,34 @@ body {
|
|||||||
height: var(--top-area-height);
|
height: var(--top-area-height);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.lc-sub-top-area {
|
&.lc-workspace-top-area {
|
||||||
background-color: var(--color-sub-top-area-background, var(--color-pane-background));
|
background-color: var(--color-workspace-top-area-background, var(--color-pane-background));
|
||||||
height: var(--sub-top-area-height, var(--top-area-height));
|
}
|
||||||
margin: var(--sub-top-area-margin, 0px 0px 2px 0px);
|
|
||||||
padding: var(--sub-top-area-padding, 8px 12px 8px 16px);
|
&.lc-workspace-sub-top-area {
|
||||||
|
background-color: var(--color-workspace-sub-top-area-background, var(--color-pane-background));
|
||||||
|
height: var(--workspace-sub-top-area-height, var(--top-area-height));
|
||||||
|
margin: var(--workspace-sub-top-area-margin, 0px 0px 2px 0px);
|
||||||
|
padding: var(--workspace-sub-top-area-padding, 8px 12px 8px 16px);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.lc-area-visible {
|
&.lc-area-visible {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lc-top-area-left, .lc-sub-top-area-left {
|
.lc-top-area-left, .lc-workspace-sub-top-area-left {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lc-top-area-center, .lc-sub-top-area-center {
|
.lc-top-area-center, .lc-workspace-sub-top-area-center {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin: 0 8px;
|
margin: 0 8px;
|
||||||
}
|
}
|
||||||
.lc-top-area-right, .lc-sub-top-area-right {
|
.lc-top-area-right, .lc-workspace-sub-top-area-right {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
> * {
|
> * {
|
||||||
@ -275,9 +279,8 @@ body {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
&.lc-left-area {
|
|
||||||
background-color: var(--color-left-area-background, var(--color-pane-background));
|
background-color: var(--color-left-area-background, var(--color-pane-background));
|
||||||
}
|
|
||||||
&.lc-workspace-left-area {
|
&.lc-workspace-left-area {
|
||||||
background-color: var(--color-workspace-left-area-background, var(--color-pane-background));
|
background-color: var(--color-workspace-left-area-background, var(--color-pane-background));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -120,20 +120,20 @@
|
|||||||
transform: translateZ(0);
|
transform: translateZ(0);
|
||||||
transition: all 0.2s ease-in-out;
|
transition: all 0.2s ease-in-out;
|
||||||
&.invalid {
|
&.invalid {
|
||||||
border-color: var(--color-function-error, red);
|
border-color: var(--color-error, var(--color-function-error, red));
|
||||||
background-color: var(--color-block-background-error, rgba(240, 154, 154, 0.719));
|
background-color: var(--color-block-background-error, rgba(240, 154, 154, 0.719));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.condition-group-container {
|
.condition-group-container {
|
||||||
border-bottom: 1px solid var(--color-function-brown, #7b605b);
|
border-bottom: 1px solid var(--color-brown, var(--color-function-brown, #7b605b));
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&:before {
|
&:before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: block;
|
display: block;
|
||||||
width: 0;
|
width: 0;
|
||||||
border-left: 0.5px solid var(--color-function-brown, #7b605b);
|
border-left: 0.5px solid var(--color-brown, var(--color-function-brown, #7b605b));
|
||||||
height: 100%;
|
height: 100%;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
@ -142,7 +142,7 @@
|
|||||||
}
|
}
|
||||||
> .condition-group-title {
|
> .condition-group-title {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: var(--color-function-brown, #7b605b);
|
background-color: var(--color-brown, var(--color-function-brown, #7b605b));
|
||||||
height: 14px;
|
height: 14px;
|
||||||
> .lc-title {
|
> .lc-title {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
@ -155,13 +155,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.tree-node-slots {
|
.tree-node-slots {
|
||||||
border-bottom: 1px solid var(--color-function-purple, rgb(144, 94, 190));
|
border-bottom: 1px solid var(--color-purple, var(--color-function-purple, rgb(144, 94, 190)));
|
||||||
position: relative;
|
position: relative;
|
||||||
&::before {
|
&::before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: block;
|
display: block;
|
||||||
width: 0;
|
width: 0;
|
||||||
border-left: 0.5px solid var(--color-function-purple, rgb(144, 94, 190));
|
border-left: 0.5px solid var(--color-purple, var(--color-function-purple, rgb(144, 94, 190)));
|
||||||
height: 100%;
|
height: 100%;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
@ -170,7 +170,7 @@
|
|||||||
}
|
}
|
||||||
> .tree-node-slots-title {
|
> .tree-node-slots-title {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: var(--color-function-purple, rgb(144, 94, 190));
|
background-color: var(--color-purple, var(--color-function-purple, rgb(144, 94, 190)));
|
||||||
height: 14px;
|
height: 14px;
|
||||||
> .lc-title {
|
> .lc-title {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
@ -183,12 +183,12 @@
|
|||||||
}
|
}
|
||||||
&.insertion-at-slots {
|
&.insertion-at-slots {
|
||||||
padding-bottom: @treeNodeHeight;
|
padding-bottom: @treeNodeHeight;
|
||||||
border-bottom-color: var(--color-function-error-dark, rgb(182, 55, 55));
|
border-bottom-color: var(--color-error-dark, var(--color-function-error-dark, rgb(182, 55, 55)));
|
||||||
> .tree-node-slots-title {
|
> .tree-node-slots-title {
|
||||||
background-color: var(--color-function-error-dark, rgb(182, 55, 55));
|
background-color: var(--color-error-dark, var(--color-function-error-dark, rgb(182, 55, 55)));
|
||||||
}
|
}
|
||||||
&::before {
|
&::before {
|
||||||
border-left-color: var(--color-function-error-dark, rgb(182, 55, 55));
|
border-left-color: var(--color-error-dark, var(--color-function-error-dark, rgb(182, 55, 55)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -326,13 +326,13 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
line-height: 0;
|
line-height: 0;
|
||||||
&.cond {
|
&.cond {
|
||||||
color: var(--color-function-error, rgb(179, 52, 6));
|
color: var(--color-error, var(--color-function-error, rgb(179, 52, 6)));
|
||||||
}
|
}
|
||||||
&.loop {
|
&.loop {
|
||||||
color: var(--color-function-success, rgb(103, 187, 187));
|
color: var(--color-success, var(--color-function-success, rgb(103, 187, 187)));
|
||||||
}
|
}
|
||||||
&.slot {
|
&.slot {
|
||||||
color: var(--color-function-purple, rgb(211, 90, 211));
|
color: var(--color-purple, var(--color-function-purple, rgb(211, 90, 211)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,7 +47,7 @@ export class Workbench extends Component<{
|
|||||||
return (
|
return (
|
||||||
<div className={classNames('lc-workspace-workbench', className, theme)}>
|
<div className={classNames('lc-workspace-workbench', className, theme)}>
|
||||||
<SkeletonContext.Provider value={skeleton}>
|
<SkeletonContext.Provider value={skeleton}>
|
||||||
<TopArea area={skeleton.topArea} itemClassName={topAreaItemClassName} />
|
<TopArea className="lc-workspace-top-area" area={skeleton.topArea} itemClassName={topAreaItemClassName} />
|
||||||
<div className="lc-workspace-workbench-body">
|
<div className="lc-workspace-workbench-body">
|
||||||
<LeftArea className="lc-workspace-left-area lc-left-area" area={skeleton.leftArea} />
|
<LeftArea className="lc-workspace-left-area lc-left-area" area={skeleton.leftArea} />
|
||||||
<LeftFloatPane area={skeleton.leftFloatArea} />
|
<LeftFloatPane area={skeleton.leftFloatArea} />
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user