@alicloud/console-components
Version:
Alibaba Cloud React Components
136 lines (113 loc) • 4.13 kB
Markdown
# @alicloud/console-components
`console-components` 是针对 **阿里云控制台场景** 的 React 组件库,基于 [Alibaba Fusion](https://github.com/alibaba-fusion/next) 组件库实现。由于 Fusion 配套的 [DSM](https://done.alibaba-inc.com/dsm/79480) 系统无法做到对组件的完全样式自定义,所以需要通过属性、样式的覆盖来实现一些设计规范。
## 主要内容
### 主题 css var token
[@ali/design-token-xconsole](https://anpm.alibaba-inc.com/package/@ali/design-token-xconsole)
### 和 Fusion API 的差异
- Balloon
- 默认使用 `v2` 版本
- 修改 `animation` 属性默认值为 `{ in: 'fadeIn', out: 'fadeOut' }`
- Balloon.Tooltip
- 默认使用 `v2` 版本
- 修改 `delay` 属性默认值为 `150`
- 修改 `popupProps.animation` 属性默认值为 `{ in: 'fadeIn', out: 'fadeOut' }`
- Button
- 对只包含一个 `Icon` 的 `Button` 样式做了特殊处理
- Card
- 覆盖了部分样式
- 增加了以下子组件,由于历史依赖关系,暂时保留,但不推荐使用
- Card.DropdownActions
- Card.CollapsableHead
- Card.CollapsableTail
- CascaderSelect
- 修改 `popupProps.align` 属性默认值为 `tl bl`
- 修改 `popupProps.offset` 属性默认值为 `[0, 4]`
- Collapse
- 新增 `type`属性, 不同值对应不同的面板类型
- `default` - 默认样式
- `card` - 卡片样式
- DatePicker
- 修改 `format` 属性默认值为 `moment().localeData().longDateFormat('ll')`
- Dialog
- 新增 `size` 属性,不同 `size` 会设置不同 `style.width` 默认值
- `mini` - 400px
- `small` - 600px
- `medium` - 800px
- `large` - 1200px
- 修改 `shouldUpdatePosition` 属性默认值为 `true`
- Drawer
- 覆盖了部分属性默认值
- Form
- 修改 `labelTextAlign` 属性默认值为 `left`
- Icon
- 无改动,但建议替换为 `@ali/xconsole-icons`
- MenuButton
- 修改 `popupProps.align` 属性默认值为 `tl bl`
- 修改 `popupProps.offset` 属性默认值为 `[0, 4]`
- Nav
- 当 `direction` 为 `ver` `时,activeDirection` 默认值为 `right`
- Pagination
- 修改 `shape` 属性默认值为 `normal`
- 修改 `pageSizePosition` 属性默认值为 `end`
- Range
- 修改 `marksPosition` 属性默认值为 `below`
- Rating
- 修改 `allowClear` 属性默认值为 `true`
- Search
- 覆盖了 `filterProps` 属性默认值
- 修改 `popupProps.align` 属性默认值为 `tl bl`
- 修改 `popupProps.offset` 属性默认值为 `[0, 4]`
- Select
- 修改 `popupProps.align` 属性默认值为 `tl bl`
- 修改 `popupProps.offset` 属性默认值为 `[0, 4]`
- 修改 `autoWidth` 属性默认值为 `false`
- SplitButton
- 修改 `popupProps.align` 属性默认值为 `tl bl`
- 修改 `popupProps.offset` 属性默认值为 `[0, 4]`
- Step
- 修改 `stretch` 属性默认值为 `true`
- Table
- 替换 Table 为 Table.StickyLock,两者 API 一致
- 修改 `hasBorder` 属性默认值为 `false`
- Tag
- 新增 `color` 值 `gray`
- Transfer
- 修改 `searchProps.size` 属性默认值为 `small`
### 样式覆盖
参见设计规范
### 新增组件
- Skeleton
- 使用了 react-loading-skeleton
- SlidePanel
- 使用了 @alicloud/console-components-slide-panel
### 删除组件
- Tag.Colored
- Tag.ColoredGroup
## 设计规范
- [XConsole Design V2.1](https://done.alibaba-inc.com/file/npMfevdSB70K/yw8oAcRQRDILR3lJ/preview?m=SPECS&aid=1813B9EB-054D-4E6E-8436-FABD78D8F8CD&pageId=4CEE6D5B-7BED-4BDE-B30E-43F791261797)
- [XConsole Design V2.5](https://mgdone.alibaba-inc.com/file/131650098209618?page_id=1%3A147146)
## 使用组件库
```jsx
import { Button } from '@alicloud/console-components'; // 纯组件,无样式
// 如果你使用了 @ali/xconsole,可以替换为
// import { Button } from '@ali/xconsole/ui';
import '@alicloud/console-components/dist/xconsole.css'; // 样式文件
export { Button };
```
## 初始化工程
```bash
npm run boot
```
## DEV
### 同步主题
```bash
npm run update-theme
```
### 本地调试
```bash
npm run dev
```
### 发布
```bash
npm publish
```