ant-design/components/steps/demo/component-token.tsx
二货爱吃白萝卜 8db39e34a7
feat: ConfigProvider support classNames and styles for Steps (#53789)
* basic flex

* chore: style basic

* chore: status style

* chore: small size

* chore: label vertical

* chore: more style

* chore: hover disabled

* chore: variant

* chore: dot variant

* chore: max width

* chore: hover dot

* chore: update style

* chore: click style

* chore: init percent

* chore: pass detail

* chore: for progress

* chore: clean up

* chore: clean up

* chore: multiple css var

* chore: status text

* chore: status use var

* chore: fix nest

* chore: use svg

* chore: type of panel

* chore: offset support

* chore: inline offset

* chore: warning of steps

* docs: add semantic preview

* chore: semantic transition

* chore: hover

* chore: adjust style

* chore: update semantic preview

* chore: fix nav style

* chore: patch panel motion

* chore: update semantic preview

* docs: update config provider doc

* chore: fix part ts def

* chore: fix test ts

* test: update test case

* test: coverage

* chore: fix lint

* test: update test case

* test: update snapshot

* chore: adjust style

* chore: fix rtl

* docs: update design

* chore: update sctructure

* chore: update comment

* chore: clean up

* chore: clean up

* chore: cursor style

* chore: coverage

* docs: add missing part

* chore: order

* test: add test case

* chore: fix ts

* chore: clean up
2025-05-13 20:36:54 +08:00

135 lines
2.7 KiB
TypeScript

import React from 'react';
import { LoadingOutlined, SmileOutlined, SolutionOutlined, UserOutlined } from '@ant-design/icons';
import { ConfigProvider, Steps } from 'antd';
const content = 'This is a content.';
const App: React.FC = () => (
<ConfigProvider
theme={{
components: {
Steps: {
titleLineHeight: 20,
customIconSize: 40,
customIconTop: 0,
customIconFontSize: 32,
iconSize: 20,
iconTop: 0, // magic for ui experience
iconFontSize: 12,
iconSizeSM: 16,
dotSize: 20,
dotCurrentSize: 24,
navArrowColor: '#163CFF',
navContentMaxWidth: 100,
descriptionMaxWidth: 100,
},
},
}}
>
<Steps
current={1}
items={[
{
title: 'Finished',
content,
},
{
title: 'In Progress',
content,
subTitle: 'Left 00:00:08',
},
{
title: 'Waiting',
content,
},
]}
/>
<Steps
size="small"
current={1}
items={[
{
title: 'Finished',
content,
},
{
title: 'In Progress',
content,
subTitle: 'Left 00:00:08',
},
{
title: 'Waiting',
content,
},
]}
/>
<Steps
items={[
{
title: 'Login',
status: 'finish',
icon: <UserOutlined />,
},
{
title: 'Verification',
status: 'finish',
icon: <SolutionOutlined />,
},
{
title: 'Pay',
status: 'process',
icon: <LoadingOutlined />,
},
{
title: 'Done',
status: 'wait',
icon: <SmileOutlined />,
},
]}
/>
<Steps
type="dot"
current={1}
items={[
{
title: 'Finished',
content: 'This is a content.',
},
{
title: 'In Progress',
content: 'This is a content.',
},
{
title: 'Waiting',
content: 'This is a content.',
},
]}
/>
<Steps
type="navigation"
current={1}
items={[
{
title: 'Step 1',
subTitle: '00:00:05',
status: 'finish',
content: 'This is a content.',
},
{
title: 'Step 2',
subTitle: '00:01:02',
status: 'process',
content: 'This is a content.',
},
{
title: 'Step 3',
subTitle: 'waiting for longlong time',
status: 'wait',
content: 'This is a content.',
},
]}
/>
</ConfigProvider>
);
export default App;