Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: migrate less to token for Skeleton #42134

Merged
merged 28 commits into from
May 18, 2023
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
bcc7b9b
feat: migrate less to token for Message
kiner-tang May 4, 2023
3d8fe52
docs: update docs
kiner-tang May 5, 2023
eb50b02
feat: add debug demo
kiner-tang May 5, 2023
f5ea508
feat: optimize code
kiner-tang May 12, 2023
2f37d90
feat: optimize code
kiner-tang May 12, 2023
ab5a0d2
feat: optimize code
kiner-tang May 13, 2023
38a003e
Merge branch 'feature' into skeleton-component-token
kiner-tang May 15, 2023
4b00263
Merge branch 'feature' into skeleton-component-token
kiner-tang May 16, 2023
b80575b
Merge branch 'feature' into skeleton-component-token
kiner-tang May 17, 2023
f2cff40
Merge branch 'feature' into skeleton-component-token
kiner-tang May 17, 2023
29feec6
feat: optimize code
kiner-tang May 18, 2023
d6e2476
feat: update snapshots
kiner-tang May 18, 2023
5fe5f5a
Merge branch 'feature' into skeleton-component-token
kiner-tang May 18, 2023
1a481f9
Update docs/react/migrate-less-variables.en-US.md
kiner-tang May 18, 2023
d0e352a
feat: optimize code
kiner-tang May 18, 2023
fbb337b
feat: optimize code
kiner-tang May 18, 2023
9010f37
feat: optimize code
kiner-tang May 18, 2023
9623281
feat: optimize code
kiner-tang May 18, 2023
3e873ca
Merge branch 'feature' into skeleton-component-token
kiner-tang May 18, 2023
11b9cc3
feat: optimize code
kiner-tang May 18, 2023
4a5904f
feat: optimize code
kiner-tang May 18, 2023
d6ccf54
feat: optimize code
kiner-tang May 18, 2023
a988859
feat: optimize code
kiner-tang May 18, 2023
ec609fc
feat: optimize code
kiner-tang May 18, 2023
508ccae
feat: optimize code
kiner-tang May 18, 2023
7e29afe
Merge branch 'feature' into skeleton-component-token
kiner-tang May 18, 2023
7b5261b
feat: optimize code
kiner-tang May 18, 2023
6d8af8a
feat: optimize code
kiner-tang May 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -111,6 +111,30 @@ exports[`renders components/skeleton/demo/complex.tsx extend context correctly 1
</div>
`;

exports[`renders components/skeleton/demo/componentToken.tsx extend context correctly 1`] = `
<div
class="ant-skeleton ant-skeleton-active"
>
<div
class="ant-skeleton-content"
>
<h3
class="ant-skeleton-title"
style="width: 38%;"
/>
<ul
class="ant-skeleton-paragraph"
>
<li />
<li />
<li
style="width: 61%;"
/>
</ul>
</div>
</div>
`;

exports[`renders components/skeleton/demo/element.tsx extend context correctly 1`] = `
Array [
<div
Expand Down
24 changes: 24 additions & 0 deletions components/skeleton/__tests__/__snapshots__/demo.test.tsx.snap
Expand Up @@ -111,6 +111,30 @@ exports[`renders components/skeleton/demo/complex.tsx correctly 1`] = `
</div>
`;

exports[`renders components/skeleton/demo/componentToken.tsx correctly 1`] = `
<div
class="ant-skeleton ant-skeleton-active"
>
<div
class="ant-skeleton-content"
>
<h3
class="ant-skeleton-title"
style="width:38%"
/>
<ul
class="ant-skeleton-paragraph"
>
<li />
<li />
<li
style="width:61%"
/>
</ul>
</div>
</div>
`;

exports[`renders components/skeleton/demo/element.tsx correctly 1`] = `
Array [
<div
Expand Down
7 changes: 7 additions & 0 deletions components/skeleton/demo/componentToken.md
@@ -0,0 +1,7 @@
## zh-CN

自定义组件 Token。

## en-US

Custom component token.
23 changes: 23 additions & 0 deletions components/skeleton/demo/componentToken.tsx
@@ -0,0 +1,23 @@
import { ConfigProvider, Skeleton } from 'antd';
import React from 'react';

const App: React.FC = () => (
<ConfigProvider
theme={{
components: {
Skeleton: {
blockRadius: 30,
titleHeight: 30,
gradientFromColor: '#222',
gradientToColor: '#444',
paragraphMarginTop: 30,
paragraphLiHeight: 30,
},
},
}}
>
<Skeleton loading active />
</ConfigProvider>
);

export default App;
1 change: 1 addition & 0 deletions components/skeleton/index.en-US.md
Expand Up @@ -24,6 +24,7 @@ Provide a placeholder while you wait for content to load, or to visualize conten
<code src="./demo/element.tsx">Button/Avatar/Input/Image/Node</code>
<code src="./demo/children.tsx">Contains sub component</code>
<code src="./demo/list.tsx">List</code>
<code src="./demo/componentToken.tsx" debug>Custom component token</code>

## API

Expand Down
1 change: 1 addition & 0 deletions components/skeleton/index.zh-CN.md
Expand Up @@ -25,6 +25,7 @@ coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*VcjGQLSrYdcAAA
<code src="./demo/element.tsx">按钮/头像/输入框/图像/自定义节点</code>
<code src="./demo/children.tsx">包含子组件</code>
<code src="./demo/list.tsx">列表</code>
<code src="./demo/componentToken.tsx" debug>自定义组件 Token</code>

## API

Expand Down
41 changes: 23 additions & 18 deletions components/skeleton/style/index.tsx
Expand Up @@ -4,8 +4,16 @@ import type { FullToken, GenerateStyle } from '../../theme/internal';
import { genComponentStyleHook, mergeToken } from '../../theme/internal';

export type ComponentToken = {
/** @deprecated use gradientFromColor instead. */
color: string;
/** @deprecated use gradientToColor instead. */
colorGradientEnd: string;
gradientFromColor: string;
gradientToColor: string;
titleHeight: number;
blockRadius: number;
paragraphMarginTop: number;
paragraphLiHeight: number;
};

const skeletonClsLoading = new Keyframes(`ant-skeleton-loading`, {
Expand All @@ -25,10 +33,6 @@ interface SkeletonToken extends FullToken<'Skeleton'> {
skeletonInputCls: string;
skeletonImageCls: string;
imageSizeBase: number;
skeletonTitleHeight: number;
skeletonBlockRadius: number;
skeletonParagraphLineHeight: number;
skeletonParagraphMarginTop: number;
skeletonLoadingBackground: string;
skeletonLoadingMotionDuration: string;
borderRadius: number;
Expand Down Expand Up @@ -215,11 +219,11 @@ const genBaseStyle: GenerateStyle<SkeletonToken> = (token: SkeletonToken) => {
padding,
marginSM,
borderRadius,
skeletonTitleHeight,
skeletonBlockRadius,
skeletonParagraphLineHeight,
titleHeight,
blockRadius,
paragraphLiHeight,
controlHeightXS,
skeletonParagraphMarginTop,
paragraphMarginTop,
} = token;

return {
Expand Down Expand Up @@ -257,9 +261,9 @@ const genBaseStyle: GenerateStyle<SkeletonToken> = (token: SkeletonToken) => {
// Title
[`${skeletonTitleCls}`]: {
width: '100%',
height: skeletonTitleHeight,
height: titleHeight,
background: color,
borderRadius: skeletonBlockRadius,
borderRadius: blockRadius,
[`+ ${skeletonParagraphCls}`]: {
marginBlockStart: controlHeightSM,
},
Expand All @@ -270,10 +274,10 @@ const genBaseStyle: GenerateStyle<SkeletonToken> = (token: SkeletonToken) => {
padding: 0,
'> li': {
width: '100%',
height: skeletonParagraphLineHeight,
height: paragraphLiHeight,
listStyle: 'none',
background: color,
borderRadius: skeletonBlockRadius,
borderRadius: blockRadius,
'+ li': {
marginBlockStart: controlHeightXS,
},
Expand All @@ -297,7 +301,7 @@ const genBaseStyle: GenerateStyle<SkeletonToken> = (token: SkeletonToken) => {
marginBlockStart: marginSM,

[`+ ${skeletonParagraphCls}`]: {
marginBlockStart: skeletonParagraphMarginTop,
marginBlockStart: paragraphMarginTop,
},
},
},
Expand Down Expand Up @@ -353,10 +357,6 @@ export default genComponentStyleHook(
skeletonInputCls: `${componentCls}-input`,
skeletonImageCls: `${componentCls}-image`,
imageSizeBase: token.controlHeight * 1.5,
skeletonTitleHeight: token.controlHeight / 2,
skeletonBlockRadius: token.borderRadiusSM,
skeletonParagraphLineHeight: token.controlHeight / 2,
skeletonParagraphMarginTop: token.marginLG + token.marginXXS,
borderRadius: 100, // Large number to make capsule shape
skeletonLoadingBackground: `linear-gradient(90deg, ${token.color} 25%, ${token.colorGradientEnd} 37%, ${token.color} 63%)`,
skeletonLoadingMotionDuration: '1.4s',
Expand All @@ -365,10 +365,15 @@ export default genComponentStyleHook(
},
(token) => {
const { colorFillContent, colorFill } = token;

return {
color: colorFillContent,
colorGradientEnd: colorFill,
gradientFromColor: colorFillContent,
gradientToColor: colorFill,
kiner-tang marked this conversation as resolved.
Show resolved Hide resolved
titleHeight: token.controlHeight / 2,
blockRadius: token.borderRadiusSM,
paragraphMarginTop: token.marginLG + token.marginXXS,
paragraphLiHeight: token.controlHeight / 2,
};
},
);
13 changes: 12 additions & 1 deletion docs/react/migrate-less-variables.en-US.md
Expand Up @@ -154,7 +154,18 @@ This document contains the correspondence between all the less variables related

<!-- ### Select -->

<!-- ### Skeleton -->
### Skeleton

<!-- prettier-ignore -->
| Less variables | Component Token | Note |
| --- | --- | --- |
| `@skeleton-block-radius` | `blockRadius` | - |
| `@skeleton-title-height` | `titleHeight` | - |
| `@skeleton-color` | `gradientFromColor` | - |
| `@skeleton-to-color` | `gradientToColor` | - |
| `@skeleton-paragraph-margin-top` | `paragraphMarginTop` | - |
| `@skeleton-paragraph-li-height` | `paragraphLiHeight` | - |
| `@skeleton-paragraph-li-margin-top` | - | 由于样式变化已废弃 |

<!-- ### Slider -->

Expand Down
13 changes: 12 additions & 1 deletion docs/react/migrate-less-variables.zh-CN.md
Expand Up @@ -154,7 +154,18 @@ title: Less 变量迁移 Design Token

<!-- ### Select 选择器 -->

<!-- ### Skeleton 骨架屏 -->
### Skeleton 骨架屏

<!-- prettier-ignore -->
| Less 变量 | Component Token | 备注 |
| --- | --- | --- |
| `@skeleton-block-radius` | `blockRadius` | - |
| `@skeleton-title-height` | `titleHeight` | - |
| `@skeleton-color` | `gradientFromColor` | - |
| `@skeleton-to-color` | `gradientToColor` | - |
| `@skeleton-paragraph-margin-top` | `paragraphMarginTop` | - |
| `@skeleton-paragraph-li-height` | `paragraphLiHeight` | - |
| `@skeleton-paragraph-li-margin-top` | - | 由于样式变化已废弃 |

<!-- ### Slider 滑动输入条 -->

Expand Down