Browse Source

Merge branch 'master' into eslint-typescript

pull/4336/head
陈帅 7 years ago
parent
commit
888df38b7c
  1. 1
      .eslintrc.js
  2. 8
      .gitpod.yml
  3. 12
      .prettierignore
  4. 8
      .prettierrc
  5. 7
      .stylelintrc.json
  6. 20
      CODE_OF_CONDUCT.md
  7. 37
      README.fr-FR.md
  8. 36
      README.ja-JP.md
  9. 36
      README.md
  10. 12
      README.ru-RU.md
  11. 36
      README.tr-TR.md
  12. 36
      README.zh-CN.md
  13. 2
      config/plugin.config.ts
  14. 4
      docker/docker-compose.dev.yml
  15. 5207
      lambda/mock/index.js
  16. 16
      package.json
  17. 28
      src/components/CopyBlock/index.tsx
  18. 29
      src/components/GlobalFooter/index.less
  19. 40
      src/components/GlobalFooter/index.tsx
  20. 2
      src/components/GlobalHeader/AvatarDropdown.tsx
  21. 2
      src/components/GlobalHeader/index.less
  22. 2
      src/components/HeaderDropdown/index.less
  23. 2
      src/components/HeaderSearch/index.less
  24. 2
      src/components/NoticeIcon/NoticeList.less
  25. 2
      src/components/NoticeIcon/index.less
  26. 2
      src/components/SelectLang/index.less
  27. 1
      src/components/SelectLang/index.tsx
  28. 2
      src/global.less
  29. 2
      src/layouts/BasicLayout.tsx
  30. 2
      src/layouts/UserLayout.less
  31. 49
      src/layouts/UserLayout.tsx
  32. 8
      src/models/setting.ts
  33. 4
      src/pages/Welcome.tsx
  34. 10
      src/pages/document.ejs
  35. 1
      src/typings.d.ts

1
.eslintrc.js

@ -1,4 +1,5 @@
const eslintConfig = require('umi-lint/config/.eslintrc.js');
module.exports = {
...eslintConfig,
globals: {

8
.gitpod.yml

@ -1,6 +1,6 @@
ports:
- port: 8000
onOpen: open-preview
- port: 8000
onOpen: open-preview
tasks:
- init: npm install
command: npm start
- init: npm install
command: npm start

12
.prettierignore

@ -2,3 +2,15 @@
package.json
.umi
.umi-production
/dist
.dockerignore
.DS_Store
.eslintignore
*.png
*.toml
docker
.editorconfig
Dockerfile*
.gitignore
.prettierignore
LICENSE

8
.prettierrc

@ -9,6 +9,12 @@
"options": {
"parser": "json"
}
},
{
"files": "document.ejs",
"options": {
"parser": "html"
}
}
]
}
}

7
.stylelintrc.json

@ -5,12 +5,9 @@
"stylelint-config-rational-order",
"stylelint-config-prettier"
],
"plugins": [
"stylelint-order",
"stylelint-declaration-block-no-ignored-properties"
],
"plugins": ["stylelint-order", "stylelint-declaration-block-no-ignored-properties"],
"rules": {
"no-descending-specificity": null,
"plugin/declaration-block-no-ignored-properties": true
}
}
}

20
CODE_OF_CONDUCT.md

@ -8,19 +8,19 @@ In the interest of fostering an open and welcoming environment, we as contributo
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities

37
README.fr-FR.md

@ -77,32 +77,18 @@ Nous avons besoin de votre aide: https://github.com/ant-design/ant-design-pro/is
### Utiliser bash
```bash
$ git clone https://github.com/ant-design/ant-design-pro.git --depth=1 -b v2
$ cd ant-design-pro
$ npm install
$ npm start # visiter http://localhost:8000
```
### Utilisation par docker
```bash
# aperçu
$ docker pull antdesign/ant-design-pro
$ docker run -p 80:80 antdesign/ant-design-pro
# ouvrir http://localhost
# développement
$ npm run docker:dev
$ yarn create umi # or npm create umi
# construction
$ npm run docker:build
# Choose ant-design-pro:
Select the boilerplate type (Use arrow keys)
❯ ant-design-pro - Create project with an layout-only ant-design-pro boilerplate, use together with umi block.
app - Create project with a simple boilerplate, support typescript.
block - Create a umi block.
library - Create a library with umi.
plugin - Create a umi plugin.
# développement en production
$ npm run docker-prod:dev
# construction en production
$ npm run docker-prod:build
$ npm install
$ npm start # visit http://localhost:8000
```
### Utilisation de Gitpod
@ -129,9 +115,8 @@ Toute forme de contribution est la bienvenue, voici quelques exemples de façons
- Soumettre des [issues](http://github.com/ant-design/ant-design-pro/issues) pour reporter les bugs ou poser des questions.
- Proposer des [pull requests](http://github.com/ant-design/ant-design-pro/pulls) pour améliorer notre code.
<div align="center">
<a href="https://www.netlify.com">
<img src="https://www.netlify.com/img/global/badges/netlify-color-bg.svg"/>
</a>
</div>
</div>

36
README.ja-JP.md

@ -77,32 +77,18 @@
### bash を使う方法
```bash
$ git clone https://github.com/ant-design/ant-design-pro.git --depth=1
$ cd ant-design-pro
$ npm install
$ npm start # http://localhost:8000 を開く
```
### Docker を使う方法
```bash
# プレビュー
$ docker pull antdesign/ant-design-pro
$ docker run -p 80:80 antdesign/ant-design-pro
# http://localhost を開く
$ yarn create umi # or npm create umi
# dev
$ npm run docker:dev
# Choose ant-design-pro:
Select the boilerplate type (Use arrow keys)
❯ ant-design-pro - Create project with an layout-only ant-design-pro boilerplate, use together with umi block.
app - Create project with a simple boilerplate, support typescript.
block - Create a umi block.
library - Create a library with umi.
plugin - Create a umi plugin.
# build
$ npm run docker:build
# production dev
$ npm run docker-prod:dev
# production build
$ npm run docker-prod:build
$ npm install
$ npm start # http://localhost:8000 を開く
```
### Gitpod を使う方法
@ -135,4 +121,4 @@ Gitpod(GitHub 用の無料オンライン開発環境)でプロジェクト
<a href="https://www.netlify.com">
<img src="https://www.netlify.com/img/global/badges/netlify-color-bg.svg"/>
</a>
</div>
</div>

36
README.md

@ -79,32 +79,18 @@ We need your help: https://github.com/ant-design/ant-design-pro/issues/120
### Use bash
```bash
$ git clone https://github.com/ant-design/ant-design-pro.git --depth=1 -b v2
$ cd ant-design-pro
$ npm install
$ npm start # visit http://localhost:8000
```
### Use by docker
```bash
# preview
$ docker pull antdesign/ant-design-pro
$ docker run -p 80:80 antdesign/ant-design-pro
# open http://localhost
$ yarn create umi # or npm create umi
# dev
$ npm run docker:dev
# Choose ant-design-pro:
Select the boilerplate type (Use arrow keys)
❯ ant-design-pro - Create project with an layout-only ant-design-pro boilerplate, use together with umi block.
app - Create project with a simple boilerplate, support typescript.
block - Create a umi block.
library - Create a library with umi.
plugin - Create a umi plugin.
# build
$ npm run docker:build
# production dev
$ npm run docker-prod:dev
# production build
$ npm run docker-prod:build
$ npm install
$ npm start # visit http://localhost:8000
```
### Use Gitpod
@ -135,4 +121,4 @@ Any type of contribution is welcome, here are some examples of how you may contr
<a href="https://www.netlify.com">
<img src="https://www.netlify.com/img/global/badges/netlify-color-bg.svg"/>
</a>
</div>
</div>

12
README.ru-RU.md

@ -71,8 +71,16 @@ UI-решение "из коробки" для корпоративных при
## Использование
```bash
$ git clone https://github.com/ant-design/ant-design-pro.git --depth=1 -b v2
$ cd ant-design-pro
$ yarn create umi # or npm create umi
# Choose ant-design-pro:
Select the boilerplate type (Use arrow keys)
❯ ant-design-pro - Create project with an layout-only ant-design-pro boilerplate, use together with umi block.
app - Create project with a simple boilerplate, support typescript.
block - Create a umi block.
library - Create a library with umi.
plugin - Create a umi plugin.
$ npm install
$ npm start # visit http://localhost:8000
```

36
README.tr-TR.md

@ -74,35 +74,19 @@ React ile kurumsal uygulamalar için taslak olarak geliştirilmiş kullanıma ha
## Kullanım
### bash ile kullanım
```bash
$ git clone https://github.com/ant-design/ant-design-pro.git --depth=1 -b v2
$ cd ant-design-pro
$ npm install
$ npm start # visit http://localhost:8000
```
### Docker ile kullanım
```bash
# preview
$ docker pull chenshuai2144/ant-design-pro
$ docker run -p 80:80 chenshuai2144/ant-design-pro
# open http://localhost
# dev
$ npm run docker:dev
# build
$ npm run docker:build
$ yarn create umi # or npm create umi
# Choose ant-design-pro:
Select the boilerplate type (Use arrow keys)
❯ ant-design-pro - Create project with an layout-only ant-design-pro boilerplate, use together with umi block.
app - Create project with a simple boilerplate, support typescript.
block - Create a umi block.
library - Create a library with umi.
plugin - Create a umi plugin.
# production dev
$ npm run docker-prod:dev
# production build
$ npm run docker-prod:build
$ npm install
$ npm start # visit http://localhost:8000
```
Daha fazla talimat için [dokümantasyon](http://pro.ant.design/docs/getting-started) sayfasına göz atın.

36
README.zh-CN.md

@ -72,35 +72,19 @@
## 使用
### 使用命令行
```bash
$ git clone https://github.com/ant-design/ant-design-pro.git --depth=1 -b v2
$ cd ant-design-pro
$ npm install
$ npm start # 访问 http://localhost:8000
```
### 使用 docker
```bash
# preview
$ docker pull antdesign/ant-design-pro
$ docker run -p 80:80 antdesign/ant-design-pro
# open http://localhost
# dev
$ npm run docker:dev
# build
$ npm run docker:build
$ yarn create umi # or npm create umi
# Choose ant-design-pro:
Select the boilerplate type (Use arrow keys)
❯ ant-design-pro - Create project with an layout-only ant-design-pro boilerplate, use together with umi block.
app - Create project with a simple boilerplate, support typescript.
block - Create a umi block.
library - Create a library with umi.
plugin - Create a umi plugin.
# production dev
$ npm run docker-prod:dev
// production build
$ npm run docker-prod:build
$ npm install
$ npm start # visit http://localhost:8000
```
更多信息请参考 [使用文档](http://pro.ant.design/docs/getting-started)。

2
config/plugin.config.ts

@ -63,7 +63,7 @@ export default (config: any) => {
// {
// antDir: path.join(__dirname, '../node_modules/antd'),
// stylesDir,
// varFile: path.join(__dirname, '../node_modules/antd/lib/style/themes/default.less'),
// varFile: path.join(__dirname, '../node_modules/antd/es/style/themes/default.less'),
// mainLessFile: outFile, // themeVariables: ['@primary-color'],
// indexFileName: 'index.html',
// generateOne: true,

4
docker/docker-compose.dev.yml

@ -1,4 +1,4 @@
version: "3.5"
version: '3.5'
services:
ant-design-pro_dev:
@ -7,7 +7,7 @@ services:
build:
context: ../
dockerfile: Dockerfile.dev
container_name: "ant-design-pro_dev"
container_name: 'ant-design-pro_dev'
volumes:
- ../src:/usr/src/app/src
- ../config:/usr/src/app/config

5207
lambda/mock/index.js

File diff suppressed because it is too large

16
package.json

@ -20,11 +20,11 @@
"lint": "npm run lint:js && npm run lint:style && npm run lint:prettier",
"lint-staged": "lint-staged",
"lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ",
"lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src && npm run lint:style && npm run tslint:fix",
"lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src && npm run lint:style",
"lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src",
"lint:prettier": "check-prettier lint",
"lint:style": "stylelint --fix \"src/**/*.less\" --syntax less",
"prettier": " check-prettier write",
"prettier": "prettier -c --write '**/*'",
"site": "npm run fetch:blocks && npm run functions:build && umi build",
"start": "umi dev",
"start:no-mock": "cross-env MOCK=none umi dev",
@ -39,10 +39,11 @@
},
"lint-staged": {
"**/*.less": "stylelint --syntax less",
"**/*.{js,ts,tsx,md,json,jsx,less}": [
"npm run prettier",
"**/*.{js,jsx,tsx,ts,less,md,json}": [
"prettier --write",
"git add"
],
"**/*.{js,jsx}": "npm run lint-staged:js",
"**/*.{js,ts,tsx}": "npm run lint-staged:js"
},
"browserslist": [
@ -73,11 +74,10 @@
"react-media": "^1.9.2",
"react-media-hook2": "^1.0.5",
"redux": "^4.0.1",
"umi": "^2.7.0-beta.2",
"umi": "^2.7.2",
"umi-plugin-ga": "^1.1.3",
"umi-plugin-locale": "^2.8.0-beta.1",
"umi-plugin-pro-block": "^1.3.2",
"umi-plugin-react": "^1.8.0-beta.1",
"umi-plugin-react": "^1.8.2",
"umi-request": "^1.0.7"
},
"devDependencies": {
@ -180,4 +180,4 @@
"create-umi"
]
}
}
}

28
src/components/CopyBlock/index.tsx

@ -3,6 +3,7 @@ import { Icon, Popover, Typography } from 'antd';
import { FormattedMessage } from 'umi-plugin-react/locale';
import React from 'react';
import { connect } from 'dva';
import { isAntDesignPro } from '@/utils/utils';
import styles from './index.less';
const firstUpperCase = (pathString: string): string => {
@ -13,13 +14,38 @@ const firstUpperCase = (pathString: string): string => {
.filter((s): boolean => !!s)
.join('');
};
// when click block copy, send block url to ga
const onBlockCopy = (label: string) => {
if (!isAntDesignPro()) {
return;
}
const ga =
window &&
(window as {
ga: Function;
}).ga;
if (ga) {
ga('send', 'event', {
eventCategory: 'block',
eventAction: 'copy',
eventLabel: label,
});
}
};
const BlockCodeView: React.SFC<{
url: string;
}> = ({ url }) => {
const blockUrl = `npx umi block add ${firstUpperCase(url)} --path=${url}`;
return (
<div className={styles['copy-block-view']}>
<Typography.Paragraph copyable={{ text: blockUrl }}>
<Typography.Paragraph
copyable={{
text: blockUrl,
onCopy: () => onBlockCopy(url),
}}
>
<code className={styles['copy-block-code']}>{blockUrl}</code>
</Typography.Paragraph>
</div>

29
src/components/GlobalFooter/index.less

@ -1,29 +0,0 @@
@import '~antd/lib/style/themes/default.less';
.globalFooter {
margin: 48px 0 24px 0;
padding: 0 16px;
text-align: center;
.links {
margin-bottom: 8px;
a {
color: @text-color-secondary;
transition: all 0.3s;
&:not(:last-child) {
margin-right: 40px;
}
&:hover {
color: @text-color;
}
}
}
.copyright {
color: @text-color-secondary;
font-size: @font-size-base;
}
}

40
src/components/GlobalFooter/index.tsx

@ -1,40 +0,0 @@
import React from 'react';
import classNames from 'classnames';
import styles from './index.less';
export interface GlobalFooterProps {
links?: {
key?: string;
title: React.ReactNode;
href: string;
blankTarget?: boolean;
}[];
copyright?: React.ReactNode;
style?: React.CSSProperties;
className?: string;
}
const GlobalFooter: React.SFC<GlobalFooterProps> = ({ className, links, copyright }) => {
const clsString = classNames(styles.globalFooter, className);
return (
<footer className={clsString}>
{links && (
<div className={styles.links}>
{links.map(link => (
<a
key={link.key}
title={link.key}
target={link.blankTarget ? '_blank' : '_self'}
href={link.href}
>
{link.title}
</a>
))}
</div>
)}
{copyright && <div className={styles.copyright}>{copyright}</div>}
</footer>
);
};
export default GlobalFooter;

2
src/components/GlobalHeader/AvatarDropdown.tsx

@ -1,7 +1,7 @@
import { Avatar, Icon, Menu, Spin } from 'antd';
import { ConnectProps, ConnectState } from '@/models/connect';
import { ClickParam } from 'antd/lib/menu';
import { ClickParam } from 'antd/es/menu';
import { CurrentUser } from '@/models/user';
import { FormattedMessage } from 'umi-plugin-react/locale';
import React from 'react';

2
src/components/GlobalHeader/index.less

@ -1,4 +1,4 @@
@import '~antd/lib/style/themes/default.less';
@import '~antd/es/style/themes/default.less';
@pro-header-hover-bg: rgba(0, 0, 0, 0.025);

2
src/components/HeaderDropdown/index.less

@ -1,4 +1,4 @@
@import '~antd/lib/style/themes/default.less';
@import '~antd/es/style/themes/default.less';
.container > * {
background-color: #fff;

2
src/components/HeaderSearch/index.less

@ -1,4 +1,4 @@
@import '~antd/lib/style/themes/default.less';
@import '~antd/es/style/themes/default.less';
.headerSearch {
:global(.anticon-search) {

2
src/components/NoticeIcon/NoticeList.less

@ -1,4 +1,4 @@
@import '~antd/lib/style/themes/default.less';
@import '~antd/es/style/themes/default.less';
.list {
max-height: 400px;

2
src/components/NoticeIcon/index.less

@ -1,4 +1,4 @@
@import '~antd/lib/style/themes/default.less';
@import '~antd/es/style/themes/default.less';
.popover {
position: relative;

2
src/components/SelectLang/index.less

@ -1,4 +1,4 @@
@import '~antd/lib/style/themes/default.less';
@import '~antd/es/style/themes/default.less';
.menu {
:global(.anticon) {

1
src/components/SelectLang/index.tsx

@ -1,6 +1,5 @@
import { Icon, Menu } from 'antd';
import { formatMessage, getLocale, setLocale } from 'umi-plugin-react/locale';
import { ClickParam } from 'antd/es/menu';
import React from 'react';
import classNames from 'classnames';

2
src/global.less

@ -1,4 +1,4 @@
@import '~antd/lib/style/themes/default.less';
@import '~antd/es/style/themes/default.less';
html,
body,

2
src/layouts/BasicLayout.tsx

@ -18,8 +18,8 @@ import Link from 'umi/link';
import RightContent from '@/components/GlobalHeader/RightContent';
import { connect } from 'dva';
import { formatMessage } from 'umi-plugin-react/locale';
import logo from '../assets/logo.svg';
import { isAntDesignPro } from '@/utils/utils';
import logo from '../assets/logo.svg';
export interface BasicLayoutProps extends ProLayoutComponentsProps, ConnectProps {
breadcrumbNameMap: {

2
src/layouts/UserLayout.less

@ -1,4 +1,4 @@
@import '~antd/lib/style/themes/default.less';
@import '~antd/es/style/themes/default.less';
.container {
display: flex;

49
src/layouts/UserLayout.tsx

@ -1,43 +1,17 @@
import { MenuDataItem, getMenuData, getPageTitle } from '@ant-design/pro-layout';
import React, { Fragment } from 'react';
import { ConnectProps, ConnectState } from '@/models/connect';
import { DefaultFooter, MenuDataItem, getMenuData, getPageTitle } from '@ant-design/pro-layout';
import { ConnectProps } from '@/models/connect';
import DocumentTitle from 'react-document-title';
import GlobalFooter from '@/components/GlobalFooter';
import { Icon } from 'antd';
import Link from 'umi/link';
import React from 'react';
import SelectLang from '@/components/SelectLang';
import { formatMessage } from 'umi-plugin-locale';
import { connect } from 'dva';
import { formatMessage } from 'umi-plugin-react/locale';
import logo from '../assets/logo.svg';
import styles from './UserLayout.less';
const links = [
{
key: 'help',
title: formatMessage({ id: 'layout.user.link.help' }),
href: '',
},
{
key: 'privacy',
title: formatMessage({ id: 'layout.user.link.privacy' }),
href: '',
},
{
key: 'terms',
title: formatMessage({ id: 'layout.user.link.terms' }),
href: '',
},
];
const copyright = (
<Fragment>
Copyright <Icon type="copyright" /> 2019
</Fragment>
);
export interface UserLayoutProps extends ConnectProps {
breadcrumbNameMap: { [path: string]: MenuDataItem };
navTheme: 'dark' | 'light';
}
const UserLayout: React.SFC<UserLayoutProps> = props => {
@ -45,19 +19,23 @@ const UserLayout: React.SFC<UserLayoutProps> = props => {
route = {
routes: [],
},
} = props;
const { routes = [] } = route;
const {
children,
location = {
pathname: '',
},
} = props;
const { routes = [] } = route;
const { breadcrumb } = getMenuData(routes, props);
return (
<DocumentTitle
title={getPageTitle({
pathname: location.pathname,
breadcrumb,
formatMessage,
...props,
})}
>
<div className={styles.container}>
@ -76,9 +54,12 @@ const UserLayout: React.SFC<UserLayoutProps> = props => {
</div>
{children}
</div>
<GlobalFooter links={links} copyright={copyright} />
<DefaultFooter />
</div>
</DocumentTitle>
);
};
export default UserLayout;
export default connect(({ settings }: ConnectState) => ({
...settings,
}))(UserLayout);

8
src/models/setting.ts

@ -1,7 +1,7 @@
import { Reducer } from 'redux';
// eslint-disable-next-line eslint-comments/disable-enable-pair
/* eslint-disable promise/catch-or-return */
import { message } from 'antd';
import { Reducer } from 'redux';
import defaultSettings, { DefaultSettings } from '../../config/defaultSettings';
import themeColorClient from '../components/SettingDrawer/themeColorClient';
@ -107,7 +107,7 @@ const SettingModel: SettingModelType = {
});
const { primaryColor, colorWeak } = setting;
if (state.primaryColor !== primaryColor) {
if (primaryColor && state.primaryColor !== primaryColor) {
updateTheme(primaryColor);
}
updateColorWeak(!!colorWeak);
@ -136,13 +136,13 @@ const SettingModel: SettingModelType = {
}
});
const { primaryColor, colorWeak, contentWidth } = payload;
if (state.primaryColor !== primaryColor) {
if (primaryColor && state.primaryColor !== primaryColor) {
updateTheme(primaryColor);
}
if (state.contentWidth !== contentWidth && window.dispatchEvent) {
window.dispatchEvent(new Event('resize'));
}
updateColorWeak(colorWeak);
updateColorWeak(!!colorWeak);
window.history.replaceState(null, 'setting', urlParams.href);
return {
...state,

4
src/pages/Welcome.tsx

@ -3,8 +3,8 @@ import React from 'react';
export default (): React.ReactNode => (
<p style={{ textAlign: 'center' }}>
Want to add more pages? Please refer to{' '}
<a href="https://umijs.org/guide/block.html" target="_blank" rel="noopener noreferrer">
umi block
<a href="https://pro.ant.design/docs/block-cn" target="_blank" rel="noopener noreferrer">
use block
</a>
</p>

10
src/pages/document.ejs

@ -30,18 +30,16 @@
font-variant: tabular-nums;
line-height: 1.5;
list-style: none;
-webkit-font-feature-settings: "tnum";
font-feature-settings: "tnum";
-webkit-font-feature-settings: 'tnum';
font-feature-settings: 'tnum';
position: absolute;
display: none;
color: #1890ff;
text-align: center;
vertical-align: middle;
opacity: 0;
-webkit-transition: -webkit-transform 0.3s
cubic-bezier(0.78, 0.14, 0.15, 0.86);
transition: -webkit-transform 0.3s
cubic-bezier(0.78, 0.14, 0.15, 0.86);
-webkit-transition: -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
transition: -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86),
-webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);

1
src/typings.d.ts

@ -21,6 +21,7 @@ declare module '@antv/data-set';
declare module 'nzh/cn';
declare module 'webpack-theme-color-replacer';
declare let ga: Function;
// preview.pro.ant.design only do not use in your production ;
// preview.pro.ant.design 专用环境变量,请不要在你的项目中使用它。
declare let ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: 'site' | undefined;

Loading…
Cancel
Save