diff --git a/components/popconfirm/PurePanel.tsx b/components/popconfirm/PurePanel.tsx index 6eb36dafe8..573920b107 100644 --- a/components/popconfirm/PurePanel.tsx +++ b/components/popconfirm/PurePanel.tsx @@ -1,4 +1,6 @@ import * as React from 'react'; +import ExclamationCircleFilled from '@ant-design/icons/ExclamationCircleFilled'; +import classNames from 'classnames'; import type { PopconfirmProps } from '.'; import Button from '../button'; import { convertLegacyProps } from '../button/button'; @@ -7,6 +9,9 @@ import LocaleReceiver from '../locale-provider/LocaleReceiver'; import defaultLocale from '../locale/default'; import { getRenderPropValue } from '../_util/getRenderPropValue'; import { ConfigContext } from '../config-provider'; +import PopoverPurePanel from '../popover/PurePanel'; + +import useStyle from './style'; export interface PopconfirmLocale { okText: string; @@ -39,8 +44,8 @@ export function Overlay(props: OverlayProps) { title, cancelText, okText, - okType, - icon, + okType = 'primary', + icon = , showCancel = true, close, onConfirm, @@ -79,3 +84,29 @@ export function Overlay(props: OverlayProps) { ); } + +export interface PurePanelProps + extends Omit, + Pick { + className?: string; + style?: React.CSSProperties; + prefixCls?: string; +} + +export default function PurePanel(props: PurePanelProps) { + const { prefixCls: customizePrefixCls, placement, className, style, ...restProps } = props; + + const { getPrefixCls } = React.useContext(ConfigContext); + const prefixCls = getPrefixCls('popconfirm', customizePrefixCls); + const [wrapSSR] = useStyle(prefixCls); + + return wrapSSR( + + + , + ); +} diff --git a/components/popconfirm/__tests__/__snapshots__/demo-extend.test.ts.snap b/components/popconfirm/__tests__/__snapshots__/demo-extend.test.ts.snap index ee0c875361..e3d143c0af 100644 --- a/components/popconfirm/__tests__/__snapshots__/demo-extend.test.ts.snap +++ b/components/popconfirm/__tests__/__snapshots__/demo-extend.test.ts.snap @@ -1554,3 +1554,145 @@ Array [ , ] `; + +exports[`renders ./components/popconfirm/demo/render-panel.md extend context correctly 1`] = ` +Array [ +
+
+
+ +
+
, +
+
+
+ +
+
, +] +`; diff --git a/components/popconfirm/__tests__/__snapshots__/demo.test.js.snap b/components/popconfirm/__tests__/__snapshots__/demo.test.js.snap index ca5d35422b..6869767374 100644 --- a/components/popconfirm/__tests__/__snapshots__/demo.test.js.snap +++ b/components/popconfirm/__tests__/__snapshots__/demo.test.js.snap @@ -190,3 +190,145 @@ exports[`renders ./components/popconfirm/demo/promise.md correctly 1`] = ` `; + +exports[`renders ./components/popconfirm/demo/render-panel.md correctly 1`] = ` +Array [ +
+
+
+ +
+
, +
+
+
+ +
+
, +] +`; diff --git a/components/popconfirm/demo/placement.md b/components/popconfirm/demo/placement.md index c14f1511f9..5c4dd1f83e 100755 --- a/components/popconfirm/demo/placement.md +++ b/components/popconfirm/demo/placement.md @@ -112,17 +112,15 @@ export default App; ```