ant-design/components/descriptions/demo/_semantic.tsx
thinkasany 0745996d65
Some checks are pending
Publish Any Commit / build (push) Waiting to run
🔀 Sync mirror to Gitee / mirror (push) Waiting to run
✅ test / lint (push) Waiting to run
✅ test / test-react-legacy (16, 1/2) (push) Waiting to run
✅ test / test-react-legacy (16, 2/2) (push) Waiting to run
✅ test / test-react-legacy (17, 1/2) (push) Waiting to run
✅ test / test-react-legacy (17, 2/2) (push) Waiting to run
✅ test / test-node (push) Waiting to run
✅ test / test-react-latest (dom, 1/2) (push) Waiting to run
✅ test / test-react-latest (dom, 2/2) (push) Waiting to run
✅ test / test-react-latest-dist (dist, 1/2) (push) Blocked by required conditions
✅ test / test-react-latest-dist (dist, 2/2) (push) Blocked by required conditions
✅ test / test-react-latest-dist (dist-min, 1/2) (push) Blocked by required conditions
✅ test / test-react-latest-dist (dist-min, 2/2) (push) Blocked by required conditions
✅ test / test-coverage (push) Blocked by required conditions
✅ test / build (push) Waiting to run
✅ test / test lib/es module (es, 1/2) (push) Waiting to run
✅ test / test lib/es module (es, 2/2) (push) Waiting to run
✅ test / test lib/es module (lib, 1/2) (push) Waiting to run
✅ test / test lib/es module (lib, 2/2) (push) Waiting to run
👁️ Visual Regression Persist Start / test image (push) Waiting to run
feat: ConfigProvider support classNames and styles for Descriptions (#52120)
* draft

* fix

* fix

* add header, title, extra

* add border preview

* update

* update demo

* add divider

* update width

* update SemanticPreview demo
2025-01-02 14:40:48 +08:00

76 lines
1.9 KiB
TypeScript

import React from 'react';
import { Button, Descriptions, DescriptionsProps, Divider, Switch } from 'antd';
import SemanticPreview from '../../../.dumi/components/SemanticPreview';
import useLocale from '../../../.dumi/hooks/useLocale';
const locales = {
cn: {
root: '根节点',
header: '头部元素',
title: '标题元素',
extra: '额外内容',
label: '标签元素',
content: '内容元素',
},
en: {
root: 'root element',
header: 'header element',
title: 'title element',
extra: 'extra element',
label: 'label element',
content: 'content element',
},
};
const items: DescriptionsProps['items'] = [
{
key: '1',
label: 'Telephone',
children: '1810000000',
},
];
const BlockList: React.FC<React.PropsWithChildren> = (props: any) => {
const divRef = React.useRef<HTMLDivElement>(null);
const [bordered, setBordered] = React.useState(false);
const handleBorderChange = (checked: boolean) => {
setBordered(checked);
};
return (
<div ref={divRef} style={{ width: '100%', height: '100%' }}>
<Switch checked={bordered} onChange={handleBorderChange} /> Toggle Border
<Divider />
<Descriptions
title="User Info"
items={items}
extra={<Button type="primary">Edit</Button>}
bordered={bordered}
{...props}
/>
</div>
);
};
const App: React.FC = () => {
const [locale] = useLocale(locales);
return (
<SemanticPreview
semantics={[
{ name: 'root', desc: locale.root, version: '5.23.0' },
{ name: 'header', desc: locale.header, version: '5.23.0' },
{ name: 'title', desc: locale.title, version: '5.23.0' },
{ name: 'extra', desc: locale.extra, version: '5.23.0' },
{ name: 'label', desc: locale.label, version: '5.23.0' },
{ name: 'content', desc: locale.content, version: '5.23.0' },
]}
>
<BlockList />
</SemanticPreview>
);
};
export default App;