From 69640c0af880e9e1a7793dabf51794be758b89cd Mon Sep 17 00:00:00 2001
From: Cherry7 <79909910+CCherry07@users.noreply.github.com>
Date: Wed, 3 May 2023 14:15:34 +0800
Subject: [PATCH] feat(modal): add useModal (#6517)
* feat(modal): add useModal hook
* feat(modal): add HookModal demo
* test(modal): update HookModal demo snap
* feat(modal): update modal docs
* chore(modal): update modal type
---
components/modal/Modal.tsx | 3 +-
.../__tests__/__snapshots__/demo.test.js.snap | 12 ++
components/modal/confirm.tsx | 3 +-
components/modal/demo/HookModal.vue | 101 ++++++++++++
components/modal/demo/index.vue | 3 +
components/modal/destroyFns.ts | 2 +
components/modal/index.en-US.md | 41 +++--
components/modal/index.tsx | 9 +-
components/modal/index.zh-CN.md | 41 +++--
components/modal/useModal/HookModal.tsx | 73 +++++++++
components/modal/useModal/index.tsx | 150 ++++++++++++++++++
11 files changed, 414 insertions(+), 24 deletions(-)
create mode 100644 components/modal/demo/HookModal.vue
create mode 100644 components/modal/destroyFns.ts
create mode 100644 components/modal/useModal/HookModal.tsx
create mode 100644 components/modal/useModal/index.tsx
diff --git a/components/modal/Modal.tsx b/components/modal/Modal.tsx
index 695a63dd1..e469f0e1e 100644
--- a/components/modal/Modal.tsx
+++ b/components/modal/Modal.tsx
@@ -149,8 +149,6 @@ export interface ModalLocale {
justOkText: string;
}
-export const destroyFns = [];
-
export default defineComponent({
compatConfig: { MODE: 3 },
name: 'AModal',
@@ -167,6 +165,7 @@ export default defineComponent({
props,
);
const [wrapSSR, hashId] = useStyle(prefixCls);
+
warning(
props.visible === undefined,
'Modal',
diff --git a/components/modal/__tests__/__snapshots__/demo.test.js.snap b/components/modal/__tests__/__snapshots__/demo.test.js.snap
index 2ded29922..d96f05e0e 100644
--- a/components/modal/__tests__/__snapshots__/demo.test.js.snap
+++ b/components/modal/__tests__/__snapshots__/demo.test.js.snap
@@ -1,5 +1,17 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
+exports[`renders ./components/modal/demo/HookModal.vue correctly 1`] = `
+
+`;
+
exports[`renders ./components/modal/demo/async.vue correctly 1`] = `