mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-04 00:49:39 +08:00
chore: merge master into feature
This commit is contained in:
commit
244339d16e
@ -1,7 +1,8 @@
|
||||
import SourceCode from 'dumi/theme-default/builtins/SourceCode';
|
||||
import React from 'react';
|
||||
import type { TabsProps } from 'antd';
|
||||
import { Tabs } from 'antd';
|
||||
import { ConfigProvider, Tabs } from 'antd';
|
||||
import { createStyles, css } from 'antd-style';
|
||||
import NpmLogo from './npm';
|
||||
import PnpmLogo from './pnpm';
|
||||
import YarnLogo from './yarn';
|
||||
@ -12,51 +13,71 @@ interface InstallProps {
|
||||
pnpm?: string;
|
||||
}
|
||||
|
||||
const npmLabel = (
|
||||
<span className="snippet-label">
|
||||
<NpmLogo />
|
||||
npm
|
||||
</span>
|
||||
);
|
||||
|
||||
const pnpmLabel = (
|
||||
<span className="snippet-label">
|
||||
<PnpmLogo />
|
||||
pnpm
|
||||
</span>
|
||||
);
|
||||
|
||||
const yarnLabel = (
|
||||
<span className="snippet-label">
|
||||
<YarnLogo />
|
||||
yarn
|
||||
</span>
|
||||
);
|
||||
const useStyle = createStyles(() => ({
|
||||
packageManager: css`
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
svg {
|
||||
margin-inline-end: 8px;
|
||||
}
|
||||
`,
|
||||
}));
|
||||
|
||||
const InstallDependencies: React.FC<InstallProps> = (props) => {
|
||||
const { npm, yarn, pnpm } = props;
|
||||
const { styles } = useStyle();
|
||||
|
||||
const items = React.useMemo<TabsProps['items']>(
|
||||
() =>
|
||||
[
|
||||
{
|
||||
key: 'npm',
|
||||
children: npm ? <SourceCode lang="bash">{npm}</SourceCode> : null,
|
||||
label: npmLabel,
|
||||
label: (
|
||||
<div className={styles.packageManager}>
|
||||
<NpmLogo />
|
||||
<span>npm</span>
|
||||
</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
key: 'yarn',
|
||||
children: yarn ? <SourceCode lang="bash">{yarn}</SourceCode> : null,
|
||||
label: yarnLabel,
|
||||
label: (
|
||||
<div className={styles.packageManager}>
|
||||
<YarnLogo />
|
||||
<span>yarn</span>
|
||||
</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
key: 'pnpm',
|
||||
children: pnpm ? <SourceCode lang="bash">{pnpm}</SourceCode> : null,
|
||||
label: pnpmLabel,
|
||||
label: (
|
||||
<div className={styles.packageManager}>
|
||||
<PnpmLogo />
|
||||
<span>pnpm</span>
|
||||
</div>
|
||||
),
|
||||
},
|
||||
].filter((item) => item.children),
|
||||
[npm, yarn, pnpm],
|
||||
);
|
||||
return <Tabs className="antd-site-snippet" defaultActiveKey="npm" items={items} />;
|
||||
|
||||
return (
|
||||
<ConfigProvider
|
||||
theme={{
|
||||
components: {
|
||||
Tabs: {
|
||||
horizontalMargin: '0',
|
||||
},
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Tabs className="markdown" size="small" defaultActiveKey="npm" items={items} />
|
||||
</ConfigProvider>
|
||||
);
|
||||
};
|
||||
|
||||
export default InstallDependencies;
|
||||
|
@ -199,28 +199,6 @@ const GlobalStyle: React.FC = () => {
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
.antd-site-snippet {
|
||||
.ant-tabs-tab {
|
||||
.snippet-label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
svg {
|
||||
margin-inline-end: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.dumi-default-source-code {
|
||||
margin: 0 auto;
|
||||
background-color: ${token.siteMarkdownCodeBg};
|
||||
border-radius: ${token.borderRadius}px;
|
||||
> pre.prism-code {
|
||||
padding: 12px 20px;
|
||||
font-size: 13px;
|
||||
line-height: 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.markdown table td > a:not(:last-child) {
|
||||
margin-right: 0 !important;
|
||||
|
@ -16,6 +16,18 @@ tag: vVERSION
|
||||
|
||||
---
|
||||
|
||||
## 5.11.4
|
||||
|
||||
`2023-11-24`
|
||||
|
||||
- 🐞 Fix where Image sets `z-index` abnormally in nested Modal. [#46035](https://github.com/ant-design/ant-design/pull/46035)
|
||||
- 🐞 Fix Button that disabled link button should not have navigate options when right click. [#46021](https://github.com/ant-design/ant-design/pull/46021)
|
||||
- Card
|
||||
- 🛠 Refactor the Card internal method `getAction` into a function component. [#46032](https://github.com/ant-design/ant-design/pull/46032)
|
||||
- 🐞 Fix the problem of Card warning `invalid annotation` in Rollup. [#46024](https://github.com/ant-design/ant-design/pull/46024)
|
||||
- TypeScript
|
||||
- 🤖 Export the type definition for the `required` property of the Radio and Checkbox components. [#46028](https://github.com/ant-design/ant-design/pull/46028) [@nnmax](https://github.com/nnmax)
|
||||
|
||||
## 5.11.3
|
||||
|
||||
`2023-11-22`
|
||||
|
@ -16,6 +16,18 @@ tag: vVERSION
|
||||
|
||||
---
|
||||
|
||||
## 5.11.4
|
||||
|
||||
`2023-11-24`
|
||||
|
||||
- 🐞 修复 Image 在嵌套 Modal 中设置 `z-index` 异常的问题。[#46035](https://github.com/ant-design/ant-design/pull/46035)
|
||||
- 🐞 修复 Button 禁用的链接按钮右键点击时会有打开新链接选项的问题。[#46021](https://github.com/ant-design/ant-design/pull/46021)
|
||||
- Card
|
||||
- 🛠 把 Card 内部方法 `getAction` 重构为函数组件。[#46032](https://github.com/ant-design/ant-design/pull/46032)
|
||||
- 🐞 解决 Card 在 Rollup 中会警告 `invalid annotation` 的问题。[#46024](https://github.com/ant-design/ant-design/pull/46024)
|
||||
- TypeScript
|
||||
- 🤖 导出 Radio 和 Checkbox 组件的 `required` 属性的类型定义。[#46028](https://github.com/ant-design/ant-design/pull/46028) [@nnmax](https://github.com/nnmax)
|
||||
|
||||
## 5.11.3
|
||||
|
||||
`2023-11-22`
|
||||
|
@ -180,13 +180,23 @@ const consumerComponent: Record<ZIndexConsumer, React.FC<{ rootClassName: string
|
||||
),
|
||||
Menu: (props) => <Menu {...props} items={items} defaultOpenKeys={['SubMenu']} />,
|
||||
ImagePreview: ({ rootClassName }: ImageProps) => (
|
||||
<Image
|
||||
src="xxx"
|
||||
preview={{
|
||||
visible: true,
|
||||
rootClassName: `${rootClassName} comp-item comp-ImagePreview`,
|
||||
}}
|
||||
/>
|
||||
<>
|
||||
<Image
|
||||
src="xxx"
|
||||
preview={{
|
||||
visible: true,
|
||||
rootClassName: `${rootClassName} comp-item comp-ImagePreview`,
|
||||
}}
|
||||
/>
|
||||
<Image.PreviewGroup
|
||||
preview={{
|
||||
visible: true,
|
||||
rootClassName: `${rootClassName} comp-item comp-ImagePreviewGroup`,
|
||||
}}
|
||||
>
|
||||
<Image src="xxx" />
|
||||
</Image.PreviewGroup>
|
||||
</>
|
||||
),
|
||||
};
|
||||
|
||||
@ -207,7 +217,12 @@ function getConsumerSelector(baseSelector: string, consumer: ZIndexConsumer): st
|
||||
} else if (['Menu'].includes(consumer)) {
|
||||
selector = `${baseSelector}.ant-menu-submenu-placement-rightTop`;
|
||||
} else if (consumer === 'ImagePreview') {
|
||||
selector = `${baseSelector}.comp-ImagePreview`;
|
||||
selector = ['ImagePreview', 'ImagePreviewGroup']
|
||||
.map(
|
||||
(item) =>
|
||||
`${baseSelector}.comp-${item} .ant-image-preview-wrap, ${baseSelector}.comp-${item}.ant-image-preview-operations-wrapper`,
|
||||
)
|
||||
.join(',');
|
||||
}
|
||||
return selector;
|
||||
}
|
||||
@ -276,7 +291,7 @@ describe('Test useZIndex hooks', () => {
|
||||
const selector2 = getConsumerSelector('.consumer2', key as ZIndexConsumer);
|
||||
const selector3 = getConsumerSelector('.consumer3', key as ZIndexConsumer);
|
||||
|
||||
if (['SelectLike', 'DatePicker'].includes(key)) {
|
||||
if (['SelectLike', 'DatePicker', 'ImagePreview'].includes(key)) {
|
||||
let comps = document.querySelectorAll(selector1);
|
||||
comps.forEach((comp) => {
|
||||
expect((comp as HTMLDivElement).style.zIndex).toBeFalsy();
|
||||
@ -287,11 +302,15 @@ describe('Test useZIndex hooks', () => {
|
||||
const consumerOffset = isColorPicker
|
||||
? containerBaseZIndexOffset.Popover
|
||||
: consumerBaseZIndexOffset[key as ZIndexConsumer];
|
||||
const operOffset = comp.classList.contains('ant-image-preview-operations-wrapper')
|
||||
? 1
|
||||
: 0;
|
||||
expect((comp as HTMLDivElement).style.zIndex).toBe(
|
||||
String(
|
||||
1000 +
|
||||
containerBaseZIndexOffset[containerKey as ZIndexContainer] +
|
||||
consumerOffset,
|
||||
consumerOffset +
|
||||
operOffset,
|
||||
),
|
||||
);
|
||||
});
|
||||
@ -302,11 +321,15 @@ describe('Test useZIndex hooks', () => {
|
||||
const consumerOffset = isColorPicker
|
||||
? containerBaseZIndexOffset.Popover
|
||||
: consumerBaseZIndexOffset[key as ZIndexConsumer];
|
||||
const operOffset = comp.classList.contains('ant-image-preview-operations-wrapper')
|
||||
? 1
|
||||
: 0;
|
||||
expect((comp as HTMLDivElement).style.zIndex).toBe(
|
||||
String(
|
||||
1000 +
|
||||
containerBaseZIndexOffset[containerKey as ZIndexContainer] * 2 +
|
||||
consumerOffset,
|
||||
consumerOffset +
|
||||
operOffset,
|
||||
),
|
||||
);
|
||||
});
|
||||
@ -339,7 +362,7 @@ describe('Test useZIndex hooks', () => {
|
||||
}
|
||||
|
||||
unmount();
|
||||
}, 15000);
|
||||
}, 20000);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -1,3 +1,4 @@
|
||||
import * as React from 'react';
|
||||
import CloseOutlined from '@ant-design/icons/CloseOutlined';
|
||||
import LeftOutlined from '@ant-design/icons/LeftOutlined';
|
||||
import RightOutlined from '@ant-design/icons/RightOutlined';
|
||||
@ -6,17 +7,17 @@ import RotateRightOutlined from '@ant-design/icons/RotateRightOutlined';
|
||||
import SwapOutlined from '@ant-design/icons/SwapOutlined';
|
||||
import ZoomInOutlined from '@ant-design/icons/ZoomInOutlined';
|
||||
import ZoomOutOutlined from '@ant-design/icons/ZoomOutOutlined';
|
||||
import classNames from 'classnames';
|
||||
import RcImage from 'rc-image';
|
||||
import type { GroupConsumerProps } from 'rc-image/lib/PreviewGroup';
|
||||
import * as React from 'react';
|
||||
import classNames from 'classnames';
|
||||
import { ConfigContext } from '../config-provider';
|
||||
import { getTransitionName } from '../_util/motion';
|
||||
|
||||
import { useZIndex } from '../_util/hooks/useZIndex';
|
||||
import { getTransitionName } from '../_util/motion';
|
||||
import { ConfigContext } from '../config-provider';
|
||||
import useCSSVarCls from '../config-provider/hooks/useCSSVarCls';
|
||||
// CSSINJS
|
||||
import useStyle from './style';
|
||||
import useCSSVar from './style/cssVar';
|
||||
import useCSSVarCls from '../config-provider/hooks/useCSSVarCls';
|
||||
|
||||
export const icons = {
|
||||
rotateLeft: <RotateLeftOutlined />,
|
||||
@ -44,7 +45,12 @@ const InternalPreviewGroup: React.FC<GroupConsumerProps> = ({
|
||||
const rootCls = useCSSVarCls(prefixCls);
|
||||
const wrapCSSVar = useCSSVar(rootCls);
|
||||
|
||||
const mergedPreview = React.useMemo(() => {
|
||||
const [zIndex] = useZIndex(
|
||||
'ImagePreview',
|
||||
typeof preview === 'object' ? preview.zIndex : undefined,
|
||||
);
|
||||
|
||||
const mergedPreview = React.useMemo<GroupConsumerProps['preview']>(() => {
|
||||
if (preview === false) {
|
||||
return preview;
|
||||
}
|
||||
@ -56,6 +62,7 @@ const InternalPreviewGroup: React.FC<GroupConsumerProps> = ({
|
||||
transitionName: getTransitionName(rootPrefixCls, 'zoom', _preview.transitionName),
|
||||
maskTransitionName: getTransitionName(rootPrefixCls, 'fade', _preview.maskTransitionName),
|
||||
rootClassName: mergedRootClassName,
|
||||
zIndex,
|
||||
};
|
||||
}, [preview]);
|
||||
|
||||
|
@ -349,6 +349,19 @@ exports[`renders components/image/demo/imageRender.tsx extend context correctly
|
||||
|
||||
exports[`renders components/image/demo/imageRender.tsx extend context correctly 2`] = `[]`;
|
||||
|
||||
exports[`renders components/image/demo/nested.tsx extend context correctly 1`] = `
|
||||
<button
|
||||
class="ant-btn ant-btn-default"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
showModal
|
||||
</span>
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`renders components/image/demo/nested.tsx extend context correctly 2`] = `[]`;
|
||||
|
||||
exports[`renders components/image/demo/placeholder.tsx extend context correctly 1`] = `
|
||||
<div
|
||||
class="ant-space ant-space-horizontal ant-space-align-center"
|
||||
|
@ -340,6 +340,17 @@ exports[`renders components/image/demo/imageRender.tsx correctly 1`] = `
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`renders components/image/demo/nested.tsx correctly 1`] = `
|
||||
<button
|
||||
class="ant-btn ant-btn-default"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
showModal
|
||||
</span>
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`renders components/image/demo/placeholder.tsx correctly 1`] = `
|
||||
<div
|
||||
class="ant-space ant-space-horizontal ant-space-align-center"
|
||||
|
@ -1,4 +1,6 @@
|
||||
import React from 'react';
|
||||
import { Modal } from 'antd';
|
||||
|
||||
import Image from '..';
|
||||
import mountTest from '../../../tests/shared/mountTest';
|
||||
import rtlTest from '../../../tests/shared/rtlTest';
|
||||
@ -116,4 +118,70 @@ describe('Image', () => {
|
||||
|
||||
expect(baseElement.querySelector('.test-root-class')).toBeTruthy();
|
||||
});
|
||||
it('Image.PreviewGroup preview in a nested modal where z-index Settings should be correct', () => {
|
||||
const App = () => (
|
||||
<Modal open>
|
||||
<Modal open>
|
||||
<Modal open>
|
||||
<Image
|
||||
width={200}
|
||||
src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"
|
||||
preview={{
|
||||
rootClassName: 'test-image-preview-class',
|
||||
}}
|
||||
/>
|
||||
<Image.PreviewGroup
|
||||
preview={{
|
||||
rootClassName: 'test-image-preview-group-class',
|
||||
}}
|
||||
>
|
||||
<Image
|
||||
width={200}
|
||||
src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"
|
||||
/>
|
||||
<Image
|
||||
width={200}
|
||||
src="https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg"
|
||||
/>
|
||||
</Image.PreviewGroup>
|
||||
</Modal>
|
||||
</Modal>
|
||||
</Modal>
|
||||
);
|
||||
const { baseElement } = render(<App />);
|
||||
|
||||
fireEvent.click(baseElement.querySelector('.ant-image')!);
|
||||
|
||||
expect(
|
||||
(
|
||||
baseElement.querySelector(
|
||||
'.test-image-preview-class .ant-image-preview-wrap',
|
||||
) as HTMLElement
|
||||
).style.zIndex,
|
||||
).toBe('1301');
|
||||
expect(
|
||||
(
|
||||
baseElement.querySelector(
|
||||
'.test-image-preview-class.ant-image-preview-operations-wrapper',
|
||||
) as HTMLElement
|
||||
).style.zIndex,
|
||||
).toBe('1302');
|
||||
|
||||
fireEvent.click(baseElement.querySelectorAll('.ant-image')[1]!);
|
||||
|
||||
expect(
|
||||
(
|
||||
baseElement.querySelector(
|
||||
'.test-image-preview-group-class .ant-image-preview-wrap',
|
||||
) as HTMLElement
|
||||
).style.zIndex,
|
||||
).toBe('1301');
|
||||
expect(
|
||||
(
|
||||
baseElement.querySelector(
|
||||
'.test-image-preview-group-class.ant-image-preview-operations-wrapper',
|
||||
) as HTMLElement
|
||||
).style.zIndex,
|
||||
).toBe('1302');
|
||||
});
|
||||
});
|
||||
|
7
components/image/demo/nested.md
Normal file
7
components/image/demo/nested.md
Normal file
@ -0,0 +1,7 @@
|
||||
## zh-CN
|
||||
|
||||
嵌套在弹框当中使用
|
||||
|
||||
## en-US
|
||||
|
||||
Nested in the modal
|
85
components/image/demo/nested.tsx
Normal file
85
components/image/demo/nested.tsx
Normal file
@ -0,0 +1,85 @@
|
||||
import React, { useState } from 'react';
|
||||
import { Button, Divider, Image, Modal } from 'antd';
|
||||
|
||||
const App: React.FC = () => {
|
||||
const [show1, setShow1] = useState(false);
|
||||
const [show2, setShow2] = useState(false);
|
||||
const [show3, setShow3] = useState(false);
|
||||
return (
|
||||
<>
|
||||
<Button
|
||||
onClick={() => {
|
||||
setShow1(true);
|
||||
}}
|
||||
>
|
||||
showModal
|
||||
</Button>
|
||||
<Modal
|
||||
open={show1}
|
||||
afterOpenChange={(open) => {
|
||||
setShow1(open);
|
||||
}}
|
||||
onCancel={() => {
|
||||
setShow1(false);
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
onClick={() => {
|
||||
setShow2(true);
|
||||
}}
|
||||
>
|
||||
test2
|
||||
</Button>
|
||||
<Modal
|
||||
open={show2}
|
||||
afterOpenChange={(open) => {
|
||||
setShow2(open);
|
||||
}}
|
||||
onCancel={() => {
|
||||
setShow2(false);
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
onClick={() => {
|
||||
setShow3(true);
|
||||
}}
|
||||
>
|
||||
test3
|
||||
</Button>
|
||||
<Modal
|
||||
open={show3}
|
||||
afterOpenChange={(open) => {
|
||||
setShow3(open);
|
||||
}}
|
||||
onCancel={() => {
|
||||
setShow3(false);
|
||||
}}
|
||||
>
|
||||
<Image
|
||||
width={200}
|
||||
src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"
|
||||
/>
|
||||
<Divider />
|
||||
<Image.PreviewGroup
|
||||
preview={{
|
||||
onChange: (current, prev) =>
|
||||
console.log(`current index: ${current}, prev index: ${prev}`),
|
||||
}}
|
||||
>
|
||||
<Image
|
||||
width={200}
|
||||
src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"
|
||||
/>
|
||||
<Image
|
||||
width={200}
|
||||
src="https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg"
|
||||
/>
|
||||
</Image.PreviewGroup>
|
||||
</Modal>
|
||||
</Modal>
|
||||
</Modal>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default App;
|
@ -27,6 +27,7 @@ Previewable image.
|
||||
<code src="./demo/toolbarRender.tsx">Custom toolbar render</code>
|
||||
<code src="./demo/imageRender.tsx">Custom preview render</code>
|
||||
<code src="./demo/preview-mask.tsx" debug>Custom preview mask</code>
|
||||
<code src="./demo/nested.tsx">nested</code>
|
||||
<code src="./demo/preview-group-top-progress.tsx" debug>Top progress customization when previewing multiple images</code>
|
||||
<code src="./demo/component-token.tsx" debug>Custom component token</code>
|
||||
|
||||
|
@ -28,6 +28,7 @@ coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*LVQ3R5JjjJEAAA
|
||||
<code src="./demo/toolbarRender.tsx">自定义工具栏</code>
|
||||
<code src="./demo/imageRender.tsx">自定义预览内容</code>
|
||||
<code src="./demo/preview-mask.tsx" debug>自定义预览文本</code>
|
||||
<code src="./demo/nested.tsx">嵌套</code>
|
||||
<code src="./demo/preview-group-top-progress.tsx" debug>多图预览时顶部进度自定义</code>
|
||||
<code src="./demo/component-token.tsx" debug>自定义组件 Token</code>
|
||||
|
||||
|
@ -10,7 +10,7 @@ title: 社区精选组件
|
||||
|
||||
| 类型 | 推荐组件 |
|
||||
| --- | --- |
|
||||
| 可视化图表 | [Ant Design Charts](https://charts.ant.design/zh) [AntV 数据可视化解决方案](https://antv.vision/zh) [reactflow](https://reactflow.dev/) |
|
||||
| 可视化图表 | [Ant Design Charts](https://charts.ant.design) [AntV 数据可视化解决方案](https://antv.vision/zh) [reactflow](https://reactflow.dev/) |
|
||||
| React Hooks 库 | [ahooks](https://github.com/alibaba/hooks) |
|
||||
| 表单 | [ProForm](https://procomponents.ant.design/components/form) [Formily](https://github.com/alibaba/formily) [react-hook-form](https://github.com/react-hook-form/react-hook-form) [formik](https://github.com/formium/formik) |
|
||||
| 路由 | [react-router](https://github.com/ReactTraining/react-router) |
|
||||
|
110
package.json
110
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "antd",
|
||||
"version": "5.11.3",
|
||||
"version": "5.11.4",
|
||||
"description": "An enterprise-class UI design language and React components implementation",
|
||||
"keywords": [
|
||||
"ant",
|
||||
@ -133,7 +133,7 @@
|
||||
"rc-drawer": "~6.5.2",
|
||||
"rc-dropdown": "~4.1.0",
|
||||
"rc-field-form": "~1.40.0",
|
||||
"rc-image": "~7.5.0",
|
||||
"rc-image": "~7.5.1",
|
||||
"rc-input": "~1.3.6",
|
||||
"rc-input-number": "~8.4.0",
|
||||
"rc-mentions": "~2.9.1",
|
||||
@ -166,7 +166,7 @@
|
||||
"@ant-design/happy-work-theme": "^1.0.0",
|
||||
"@ant-design/tools": "^18.0.0",
|
||||
"@antv/g6": "^4.8.23",
|
||||
"@argos-ci/core": "^1.2.1",
|
||||
"@argos-ci/core": "^1.3.0",
|
||||
"@babel/eslint-plugin": "^7.22.10",
|
||||
"@biomejs/biome": "^1.3.3",
|
||||
"@codesandbox/sandpack-react": "^2.10.0",
|
||||
@ -197,24 +197,24 @@
|
||||
"@types/jquery": "^3.5.29",
|
||||
"@types/jsdom": "^21.1.6",
|
||||
"@types/lodash": "^4.14.202",
|
||||
"@types/node": "^20.9.4",
|
||||
"@types/node": "^20.10.0",
|
||||
"@types/nprogress": "^0.2.3",
|
||||
"@types/prismjs": "^1.26.3",
|
||||
"@types/progress": "^2.0.7",
|
||||
"@types/qs": "^6.9.10",
|
||||
"@types/react": "^18.2.38",
|
||||
"@types/react-copy-to-clipboard": "^5.0.7",
|
||||
"@types/react-dom": "^18.0.0",
|
||||
"@types/react-highlight-words": "^0.16.4",
|
||||
"@types/react-resizable": "^3.0.0",
|
||||
"@types/throttle-debounce": "^5.0.0",
|
||||
"@types/warning": "^3.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^6.5.0",
|
||||
"@typescript-eslint/parser": "^6.5.0",
|
||||
"antd-img-crop": "^4.9.0",
|
||||
"antd-style": "^3.5.0",
|
||||
"antd-token-previewer": "^2.0.4",
|
||||
"chalk": "^4.0.0",
|
||||
"@types/react-dom": "^18.2.17",
|
||||
"@types/react-highlight-words": "^0.16.7",
|
||||
"@types/react-resizable": "^3.0.7",
|
||||
"@types/throttle-debounce": "^5.0.2",
|
||||
"@types/warning": "^3.0.3",
|
||||
"@typescript-eslint/eslint-plugin": "^6.12.0",
|
||||
"@typescript-eslint/parser": "^6.12.0",
|
||||
"antd-img-crop": "^4.17.0",
|
||||
"antd-style": "^3.5.2",
|
||||
"antd-token-previewer": "^2.0.5",
|
||||
"chalk": "^5.3.0",
|
||||
"cheerio": "1.0.0-rc.12",
|
||||
"circular-dependency-plugin": "^5.2.2",
|
||||
"cross-env": "^7.0.3",
|
||||
@ -222,48 +222,48 @@
|
||||
"crypto": "^1.0.1",
|
||||
"dekko": "^0.2.1",
|
||||
"dumi": "^2.3.0-alpha.9",
|
||||
"dumi-plugin-color-chunk": "^1.0.2",
|
||||
"esbuild-loader": "^4.0.0",
|
||||
"eslint": "^8.53.0",
|
||||
"eslint-config-airbnb": "^19.0.0",
|
||||
"dumi-plugin-color-chunk": "^1.0.4",
|
||||
"esbuild-loader": "^4.0.2",
|
||||
"eslint": "^8.54.0",
|
||||
"eslint-config-airbnb": "^19.0.4",
|
||||
"eslint-config-prettier": "^9.0.0",
|
||||
"eslint-import-resolver-typescript": "^3.5.2",
|
||||
"eslint-plugin-compat": "^4.1.1",
|
||||
"eslint-plugin-import": "^2.28.0",
|
||||
"eslint-plugin-jest": "^27.0.1",
|
||||
"eslint-plugin-jsx-a11y": "^6.2.1",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-plugin-compat": "^4.2.0",
|
||||
"eslint-plugin-import": "^2.29.0",
|
||||
"eslint-plugin-jest": "^27.6.0",
|
||||
"eslint-plugin-jsx-a11y": "^6.8.0",
|
||||
"eslint-plugin-lodash": "^7.4.0",
|
||||
"eslint-plugin-markdown": "^3.0.0",
|
||||
"eslint-plugin-react": "^7.31.8",
|
||||
"eslint-plugin-react-hooks": "^4.1.2",
|
||||
"eslint-plugin-markdown": "^3.0.1",
|
||||
"eslint-plugin-react": "^7.33.2",
|
||||
"eslint-plugin-react-hooks": "^4.6.0",
|
||||
"eslint-plugin-unicorn": "^49.0.0",
|
||||
"fast-glob": "^3.3.2",
|
||||
"fetch-jsonp": "^1.3.0",
|
||||
"fs-extra": "^11.1.1",
|
||||
"gh-pages": "^6.1.0",
|
||||
"glob": "^10.3.7",
|
||||
"html2sketch": "^1.0.0",
|
||||
"http-server": "^14.0.0",
|
||||
"husky": "^8.0.1",
|
||||
"glob": "^10.3.10",
|
||||
"html2sketch": "^1.0.2",
|
||||
"http-server": "^14.1.1",
|
||||
"husky": "^8.0.3",
|
||||
"identity-obj-proxy": "^3.0.0",
|
||||
"immer": "^10.0.1",
|
||||
"inquirer": "^9.2.11",
|
||||
"immer": "^10.0.3",
|
||||
"inquirer": "^9.2.12",
|
||||
"is-ci": "^3.0.1",
|
||||
"isomorphic-fetch": "^3.0.0",
|
||||
"jest": "^29.4.1",
|
||||
"jest": "^29.7.0",
|
||||
"jest-axe": "^8.0.0",
|
||||
"jest-canvas-mock": "^2.4.0",
|
||||
"jest-environment-jsdom": "^29.0.1",
|
||||
"jest-environment-node": "^29.0.0",
|
||||
"jest-image-snapshot": "^6.0.0",
|
||||
"jest-puppeteer": "^9.0.0",
|
||||
"jest-canvas-mock": "^2.5.2",
|
||||
"jest-environment-jsdom": "^29.7.0",
|
||||
"jest-environment-node": "^29.7.0",
|
||||
"jest-image-snapshot": "^6.2.0",
|
||||
"jest-puppeteer": "^9.0.1",
|
||||
"jquery": "^3.7.1",
|
||||
"jsdom": "^22.1.0",
|
||||
"jsonml-to-react-element": "^1.1.11",
|
||||
"jsonml.js": "^0.1.0",
|
||||
"lint-staged": "^15.1.0",
|
||||
"lodash": "^4.17.21",
|
||||
"lunar-typescript": "^1.6.9",
|
||||
"lunar-typescript": "^1.6.13",
|
||||
"lz-string": "^1.5.0",
|
||||
"mockdate": "^3.0.5",
|
||||
"node-notifier": "^10.0.1",
|
||||
@ -277,39 +277,39 @@
|
||||
"puppeteer": "^21.5.2",
|
||||
"qs": "^6.11.2",
|
||||
"rc-footer": "^0.6.8",
|
||||
"rc-tween-one": "^3.0.3",
|
||||
"rc-virtual-list": "^3.4.11",
|
||||
"react": "^18.0.0",
|
||||
"react-copy-to-clipboard": "^5.0.1",
|
||||
"react-countup": "^6.4.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"react-draggable": "^4.4.3",
|
||||
"react-fast-marquee": "^1.2.1",
|
||||
"rc-tween-one": "^3.0.6",
|
||||
"rc-virtual-list": "^3.11.3",
|
||||
"react": "^18.2.0",
|
||||
"react-copy-to-clipboard": "^5.1.0",
|
||||
"react-countup": "^6.5.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-draggable": "^4.4.6",
|
||||
"react-fast-marquee": "^1.6.2",
|
||||
"react-highlight-words": "^0.20.0",
|
||||
"react-infinite-scroll-component": "^6.1.0",
|
||||
"react-resizable": "^3.0.1",
|
||||
"react-router-dom": "^6.0.2",
|
||||
"react-sticky-box": "^2.0.0",
|
||||
"react-resizable": "^3.0.5",
|
||||
"react-router-dom": "^6.20.0",
|
||||
"react-sticky-box": "^2.0.5",
|
||||
"regenerator-runtime": "^0.14.0",
|
||||
"remark": "^15.0.1",
|
||||
"remark-cli": "^12.0.0",
|
||||
"remark-lint": "^9.0.0",
|
||||
"remark-lint": "^9.1.2",
|
||||
"remark-lint-no-undefined-references": "^4.2.1",
|
||||
"remark-preset-lint-recommended": "^6.1.3",
|
||||
"runes2": "^1.1.2",
|
||||
"runes2": "^1.1.3",
|
||||
"semver": "^7.5.4",
|
||||
"simple-git": "^3.21.0",
|
||||
"size-limit": "^11.0.0",
|
||||
"stylelint": "^15.11.0",
|
||||
"stylelint-config-rational-order": "^0.1.2",
|
||||
"stylelint-config-standard": "^34.0.0",
|
||||
"stylelint-prettier": "^4.0.2",
|
||||
"stylelint-prettier": "^4.1.0",
|
||||
"sylvanas": "^0.6.1",
|
||||
"terser": "^5.24.0",
|
||||
"tsx": "^4.4.0",
|
||||
"typedoc": "^0.25.3",
|
||||
"typescript": "~5.2.2",
|
||||
"vanilla-jsoneditor": "^0.18.0",
|
||||
"vanilla-jsoneditor": "^0.19.0",
|
||||
"vanilla-tilt": "^1.8.1",
|
||||
"webpack": "^5.89.0",
|
||||
"webpack-bundle-analyzer": "^4.10.1",
|
||||
|
Loading…
Reference in New Issue
Block a user