From 7456d7bd1523dda2c4711d4108751615af7ed0c6 Mon Sep 17 00:00:00 2001 From: Daewoo Koh Date: Wed, 5 Jun 2024 17:27:54 +0900 Subject: [PATCH 01/42] vscode --- .vscode/settings.json | 7 +++++++ src/components/Atoms/HeaderAtom/HeaderAtom.tsx | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c962099 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "[prisma]": { + "editor.defaultFormatter": "Prisma.prisma" + } +} diff --git a/src/components/Atoms/HeaderAtom/HeaderAtom.tsx b/src/components/Atoms/HeaderAtom/HeaderAtom.tsx index b73624a..20d1ac5 100644 --- a/src/components/Atoms/HeaderAtom/HeaderAtom.tsx +++ b/src/components/Atoms/HeaderAtom/HeaderAtom.tsx @@ -1,6 +1,5 @@ import { SettingOutlined } from "@ant-design/icons"; import SVGAtom from "../SVGAtom/SVGAtom"; -import { Header } from "antd/es/layout/layout"; type Props = { title: string; From a1bfb0d4db4f890b9889df3b0ed873063475a044 Mon Sep 17 00:00:00 2001 From: Daewoo Koh Date: Wed, 5 Jun 2024 17:28:09 +0900 Subject: [PATCH 02/42] etc --- src/components/Atoms/HeaderAtom/HeaderAtom.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Atoms/HeaderAtom/HeaderAtom.tsx b/src/components/Atoms/HeaderAtom/HeaderAtom.tsx index 20d1ac5..d9edb7c 100644 --- a/src/components/Atoms/HeaderAtom/HeaderAtom.tsx +++ b/src/components/Atoms/HeaderAtom/HeaderAtom.tsx @@ -16,7 +16,7 @@ export const HeaderAtom = (props: Props) => { -
{props.title}
+
{props.title}
{/* Sample using Antd icon */}
Date: Wed, 5 Jun 2024 17:49:26 +0900 Subject: [PATCH 03/42] modal page in progress --- src/app/home/container/HomeContainer.tsx | 10 ++++++- .../container/PageWithModalContainer.tsx | 18 ++++++++++++ src/app/pageWithModal/page.tsx | 8 +++++ .../Atoms/HeaderAtom/HeaderAtom.tsx | 3 +- .../Modules/Home/HomeHeaderModule.tsx | 5 +++- .../PageWithModalContentModule.tsx | 16 ++++++++++ .../PageWithModalHeaderModule.tsx | 12 ++++++++ .../PageWithModal/PageWithModalTemplate.tsx | 29 +++++++++++++++++++ 8 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 src/app/pageWithModal/container/PageWithModalContainer.tsx create mode 100644 src/app/pageWithModal/page.tsx create mode 100644 src/components/Modules/PageWithModal/PageWithModalContentModule.tsx create mode 100644 src/components/Modules/PageWithModal/PageWithModalHeaderModule.tsx create mode 100644 src/components/Templates/PageWithModal/PageWithModalTemplate.tsx diff --git a/src/app/home/container/HomeContainer.tsx b/src/app/home/container/HomeContainer.tsx index e7bfe39..d6f7f28 100644 --- a/src/app/home/container/HomeContainer.tsx +++ b/src/app/home/container/HomeContainer.tsx @@ -1,8 +1,16 @@ +import { message } from "antd"; import { HomeTemplate } from "~/components/Templates/Home/HomeTemplate"; export const HomeContainer = () => { + const headerLeftIconClicked = () => { + void message.info("can't go back"); + }; + const homeTemplateProps: React.ComponentProps = { - homeHeaderModuleProps: { title: "HomeHeaderModule" }, + homeHeaderModuleProps: { + title: "HomeHeaderModule", + onClickLeftIcon: headerLeftIconClicked, + }, homeContentModuleProps: { title: "HomeContentModule", sampleLinks: ["/empty", "/pageWithModal"], diff --git a/src/app/pageWithModal/container/PageWithModalContainer.tsx b/src/app/pageWithModal/container/PageWithModalContainer.tsx new file mode 100644 index 0000000..246a87e --- /dev/null +++ b/src/app/pageWithModal/container/PageWithModalContainer.tsx @@ -0,0 +1,18 @@ +import { useRouter } from "next/navigation"; +import { PageWithModalTemplate } from "~/components/Templates/PageWithModal/PageWithModalTemplate"; + +export const PageWithModalContainer = () => { + const router = useRouter(); + + const pagewithmodalTemplateProps: React.ComponentProps< + typeof PageWithModalTemplate + > = { + pageWithModalHeaderModuleProps: { + title: "PageWithModalHeaderModule", + onClickLeftIcon: () => router.back(), + }, + pageWithModalContentModuleProps: { title: "PageWithModalContentModule" }, + }; + + return ; +}; diff --git a/src/app/pageWithModal/page.tsx b/src/app/pageWithModal/page.tsx new file mode 100644 index 0000000..e8690ea --- /dev/null +++ b/src/app/pageWithModal/page.tsx @@ -0,0 +1,8 @@ +"use client"; +import { PageWithModalContainer } from "./container/PageWithModalContainer"; + +const PageWithModal = () => { + return ; +}; + +export default PageWithModal; diff --git a/src/components/Atoms/HeaderAtom/HeaderAtom.tsx b/src/components/Atoms/HeaderAtom/HeaderAtom.tsx index d9edb7c..e9ba672 100644 --- a/src/components/Atoms/HeaderAtom/HeaderAtom.tsx +++ b/src/components/Atoms/HeaderAtom/HeaderAtom.tsx @@ -3,6 +3,7 @@ import SVGAtom from "../SVGAtom/SVGAtom"; type Props = { title: string; + onClickLeftIcon: () => void; }; export const HeaderAtom = (props: Props) => { @@ -11,7 +12,7 @@ export const HeaderAtom = (props: Props) => { {/* Sample using custom svg */}
console.log("svg clicked")} + onClick={props.onClickLeftIcon} >
diff --git a/src/components/Modules/Home/HomeHeaderModule.tsx b/src/components/Modules/Home/HomeHeaderModule.tsx index 17ddec9..7050ffd 100644 --- a/src/components/Modules/Home/HomeHeaderModule.tsx +++ b/src/components/Modules/Home/HomeHeaderModule.tsx @@ -2,8 +2,11 @@ import { HeaderAtom } from "~/components/Atoms/HeaderAtom/HeaderAtom"; type Props = { title: string; + onClickLeftIcon: () => void; }; export const HomeHeaderModule = (props: Props) => { - return ; + return ( + + ); }; diff --git a/src/components/Modules/PageWithModal/PageWithModalContentModule.tsx b/src/components/Modules/PageWithModal/PageWithModalContentModule.tsx new file mode 100644 index 0000000..4309267 --- /dev/null +++ b/src/components/Modules/PageWithModal/PageWithModalContentModule.tsx @@ -0,0 +1,16 @@ +import { Button } from "antd"; + +type Props = { + title: string; +}; + +export const PageWithModalContentModule = (props: Props) => { + return ( +
+
{props.title}
+ +
+ ); +}; diff --git a/src/components/Modules/PageWithModal/PageWithModalHeaderModule.tsx b/src/components/Modules/PageWithModal/PageWithModalHeaderModule.tsx new file mode 100644 index 0000000..7d01f23 --- /dev/null +++ b/src/components/Modules/PageWithModal/PageWithModalHeaderModule.tsx @@ -0,0 +1,12 @@ +import { HeaderAtom } from "~/components/Atoms/HeaderAtom/HeaderAtom"; + +type Props = { + title: string; + onClickLeftIcon: () => void; +}; + +export const PageWithModalHeaderModule = (props: Props) => { + return ( + + ); +}; diff --git a/src/components/Templates/PageWithModal/PageWithModalTemplate.tsx b/src/components/Templates/PageWithModal/PageWithModalTemplate.tsx new file mode 100644 index 0000000..733e0fe --- /dev/null +++ b/src/components/Templates/PageWithModal/PageWithModalTemplate.tsx @@ -0,0 +1,29 @@ +import { PageWithModalHeaderModule } from "~/components/Modules/PageWithModal/PageWithModalHeaderModule"; +import { PageWithModalContentModule } from "~/components/Modules/PageWithModal/PageWithModalContentModule"; +import { Layout } from "antd"; +import { Content, Header } from "antd/es/layout/layout"; + +type Props = { + pageWithModalHeaderModuleProps: React.ComponentProps< + typeof PageWithModalHeaderModule + >; + pageWithModalContentModuleProps: React.ComponentProps< + typeof PageWithModalContentModule + >; +}; + +export const PageWithModalTemplate = (props: Props) => { + return ( + +
+ +
+ + + + +
+ ); +}; From fc0d62ed86c6fa6c8f535c57584cbe39120c1350 Mon Sep 17 00:00:00 2001 From: Daewoo Koh Date: Fri, 7 Jun 2024 09:57:56 +0900 Subject: [PATCH 04/42] etc --- src/app/home/container/HomeContainer.tsx | 2 +- .../Components/NumberList/NumberList.tsx | 9 ++++++- .../PageWithModalContentModule.tsx | 27 ++++++++++++++++--- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/app/home/container/HomeContainer.tsx b/src/app/home/container/HomeContainer.tsx index d6f7f28..068bc20 100644 --- a/src/app/home/container/HomeContainer.tsx +++ b/src/app/home/container/HomeContainer.tsx @@ -13,7 +13,7 @@ export const HomeContainer = () => { }, homeContentModuleProps: { title: "HomeContentModule", - sampleLinks: ["/empty", "/pageWithModal"], + sampleLinks: ["/empty", "/pageWithModal", "/pageWithForm"], sampleNumbers: Array.from({ length: 100 }, (_, i) => i + 1), }, homeFooterModuleProps: { title: "HomeFooterModule" }, diff --git a/src/components/Components/NumberList/NumberList.tsx b/src/components/Components/NumberList/NumberList.tsx index 16f2a7f..e2cbb7b 100644 --- a/src/components/Components/NumberList/NumberList.tsx +++ b/src/components/Components/NumberList/NumberList.tsx @@ -3,5 +3,12 @@ type Props = { }; export const NumberList = (props: Props) => { - return props.numbers.map((number) =>
{number}
); + return ( +
+ [Numbers] + {props.numbers.map((number) => ( +
{number}
+ ))} +
+ ); }; diff --git a/src/components/Modules/PageWithModal/PageWithModalContentModule.tsx b/src/components/Modules/PageWithModal/PageWithModalContentModule.tsx index 4309267..6757b81 100644 --- a/src/components/Modules/PageWithModal/PageWithModalContentModule.tsx +++ b/src/components/Modules/PageWithModal/PageWithModalContentModule.tsx @@ -8,9 +8,30 @@ export const PageWithModalContentModule = (props: Props) => { return (
{props.title}
- + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
); }; From 816e574b66efa69e11c3f5a9dbb386c2e6877c54 Mon Sep 17 00:00:00 2001 From: Daewoo Koh Date: Fri, 7 Jun 2024 10:05:36 +0900 Subject: [PATCH 05/42] etc --- next.config.js | 2 +- src/app/{ => sample}/empty/container/EmptyContainer.tsx | 0 src/app/{ => sample}/empty/page.tsx | 0 src/app/{ => sample}/home/container/HomeContainer.tsx | 6 +++++- src/app/{ => sample}/home/page.tsx | 0 .../pageWithModal/container/PageWithModalContainer.tsx | 0 src/app/{ => sample}/pageWithModal/page.tsx | 0 7 files changed, 6 insertions(+), 2 deletions(-) rename src/app/{ => sample}/empty/container/EmptyContainer.tsx (100%) rename src/app/{ => sample}/empty/page.tsx (100%) rename src/app/{ => sample}/home/container/HomeContainer.tsx (84%) rename src/app/{ => sample}/home/page.tsx (100%) rename src/app/{ => sample}/pageWithModal/container/PageWithModalContainer.tsx (100%) rename src/app/{ => sample}/pageWithModal/page.tsx (100%) diff --git a/next.config.js b/next.config.js index ec7f804..a995ba9 100644 --- a/next.config.js +++ b/next.config.js @@ -20,7 +20,7 @@ const config = { return [ { source: "/", - destination: "/home", + destination: "/sample/home", permanent: false, }, ]; diff --git a/src/app/empty/container/EmptyContainer.tsx b/src/app/sample/empty/container/EmptyContainer.tsx similarity index 100% rename from src/app/empty/container/EmptyContainer.tsx rename to src/app/sample/empty/container/EmptyContainer.tsx diff --git a/src/app/empty/page.tsx b/src/app/sample/empty/page.tsx similarity index 100% rename from src/app/empty/page.tsx rename to src/app/sample/empty/page.tsx diff --git a/src/app/home/container/HomeContainer.tsx b/src/app/sample/home/container/HomeContainer.tsx similarity index 84% rename from src/app/home/container/HomeContainer.tsx rename to src/app/sample/home/container/HomeContainer.tsx index 068bc20..8faef7f 100644 --- a/src/app/home/container/HomeContainer.tsx +++ b/src/app/sample/home/container/HomeContainer.tsx @@ -13,7 +13,11 @@ export const HomeContainer = () => { }, homeContentModuleProps: { title: "HomeContentModule", - sampleLinks: ["/empty", "/pageWithModal", "/pageWithForm"], + sampleLinks: [ + "/sample/empty", + "/sample/pageWithModal", + "/sample/pageWithForm", + ], sampleNumbers: Array.from({ length: 100 }, (_, i) => i + 1), }, homeFooterModuleProps: { title: "HomeFooterModule" }, diff --git a/src/app/home/page.tsx b/src/app/sample/home/page.tsx similarity index 100% rename from src/app/home/page.tsx rename to src/app/sample/home/page.tsx diff --git a/src/app/pageWithModal/container/PageWithModalContainer.tsx b/src/app/sample/pageWithModal/container/PageWithModalContainer.tsx similarity index 100% rename from src/app/pageWithModal/container/PageWithModalContainer.tsx rename to src/app/sample/pageWithModal/container/PageWithModalContainer.tsx diff --git a/src/app/pageWithModal/page.tsx b/src/app/sample/pageWithModal/page.tsx similarity index 100% rename from src/app/pageWithModal/page.tsx rename to src/app/sample/pageWithModal/page.tsx From a0c6c5fd7359e7d00c45e0e709ee54ba871b7bed Mon Sep 17 00:00:00 2001 From: Daewoo Koh Date: Fri, 7 Jun 2024 10:20:37 +0900 Subject: [PATCH 06/42] etc --- README.md | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 7d19300..eee5c74 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Stack -- Next.js +- Next.js + Typescript - Tailwind CSS - Ant Design (Design System) @@ -25,7 +25,25 @@ ## Sample pages -- /empty : to understand design pattern -- /home : default page with header and footer -- /pageWithModal -- /pageWithForm +- /sample/empty : to understand design pattern +- /sample/home : default page with header and footer +- /sample/pageWithModal +- /sample/pageWithForm + +## Your Mission + +- [Link](https://www.naver.com) +- Step 1. + - Analyze the given code pattern + - Understand the structure and functionality of the code +- Step 2. + - Create a folder with a short name under the `/app` directory. + - Example: `/app/david` +- Step 3. + - Create one Pull Request (PR) for each route + - /app/david/testPage1 + - branchName : david_testPage1 + - create PR when your work done + - /app/david/testPage2 + - branchName : david_testPage2 + - create PR when your work done From c7dda25f2351513a71f3bfd9b7f3aebc02155e74 Mon Sep 17 00:00:00 2001 From: Daewoo Koh Date: Fri, 7 Jun 2024 10:28:47 +0900 Subject: [PATCH 07/42] etc --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index eee5c74..10637f9 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,10 @@ ## Your Mission -- [Link](https://www.naver.com) +- [Figma Link - what you should do](https://www.naver.com) +- No questions allowed before your mission is done + - This is part of our process + - You can ask question after your misssion is completed - Step 1. - Analyze the given code pattern - Understand the structure and functionality of the code @@ -43,7 +46,7 @@ - Create one Pull Request (PR) for each route - /app/david/testPage1 - branchName : david_testPage1 - - create PR when your work done + - Create a PR when your work is done - /app/david/testPage2 - branchName : david_testPage2 - - create PR when your work done + - Create a PR when your work is done From 41fc11404f044598e0731d2c964f815eb10032fc Mon Sep 17 00:00:00 2001 From: Daewoo Koh Date: Fri, 7 Jun 2024 10:35:02 +0900 Subject: [PATCH 08/42] readme --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 10637f9..4900783 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,10 @@ - Example: `/app/david` - Step 3. - Create one Pull Request (PR) for each route + - make your own branch from dev + - git checkout dev + - (dev) git checkout -b david + - (david) - /app/david/testPage1 - branchName : david_testPage1 - Create a PR when your work is done From b906a0dfd295e79a389d4316345f58e8eee4d0bc Mon Sep 17 00:00:00 2001 From: Daewoo Koh Date: Fri, 7 Jun 2024 10:35:58 +0900 Subject: [PATCH 09/42] etc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4900783..422deda 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ - make your own branch from dev - git checkout dev - (dev) git checkout -b david - - (david) + - (david) git push origin david - /app/david/testPage1 - branchName : david_testPage1 - Create a PR when your work is done From 4e1002fce890de5b82b602f0fde2db035335f1ea Mon Sep 17 00:00:00 2001 From: Daewoo Koh Date: Fri, 7 Jun 2024 15:10:47 +0900 Subject: [PATCH 10/42] etc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 422deda..5b4c067 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ ## Your Mission -- [Figma Link - what you should do](https://www.naver.com) +- [Figma Link - what you should do](https://www.figma.com/design/C0RmT5wSXpnosob32KLHs4/Untitled?node-id=0-1&t=zkOZ9O1Dlm9FAveq-0) - No questions allowed before your mission is done - This is part of our process - You can ask question after your misssion is completed From a636a67bebdc6274e636cda2dc5df95dda9be532 Mon Sep 17 00:00:00 2001 From: Yeonsang Hwang <57931120+kiteprize@users.noreply.github.com> Date: Fri, 7 Jun 2024 15:29:09 +0900 Subject: [PATCH 11/42] package init --- package-lock.json | 931 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 2 + 2 files changed, 931 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4279c30..2c8a66b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,10 @@ "name": "front-example", "version": "0.1.0", "dependencies": { + "@ant-design/cssinjs": "^1.20.0", "@svgr/webpack": "^8.1.0", "@t3-oss/env-nextjs": "^0.10.1", + "antd": "^5.18.0", "geist": "^1.3.0", "next": "^14.2.1", "react": "^18.3.0", @@ -57,6 +59,71 @@ "node": ">=6.0.0" } }, + "node_modules/@ant-design/colors": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.2.tgz", + "integrity": "sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==", + "dependencies": { + "@ctrl/tinycolor": "^3.6.1" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.20.0.tgz", + "integrity": "sha512-uG3iWzJxgNkADdZmc6W0Ci3iQAUOvLMcM8SnnmWq3r6JeocACft4ChnY/YWvI2Y+rG/68QBla/O+udke1yH3vg==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.1.3", + "rc-util": "^5.35.0", + "stylis": "^4.0.13" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.3.7.tgz", + "integrity": "sha512-bCPXTAg66f5bdccM4TT21SQBDO1Ek2gho9h3nO9DAKXJP4sq+5VBjrQMSxMVXSB3HyEz+cUbHQ5+6ogxCOpaew==", + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-svg": "^4.4.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-util": "^5.31.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" + }, + "node_modules/@ant-design/react-slick": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz", + "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.24.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", @@ -1935,6 +2002,24 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -2349,6 +2434,129 @@ "node": ">=14" } }, + "node_modules/@rc-component/async-validator": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@rc-component/async-validator/-/async-validator-5.0.4.tgz", + "integrity": "sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==", + "dependencies": { + "@babel/runtime": "^7.24.4" + }, + "engines": { + "node": ">=14.x" + } + }, + "node_modules/@rc-component/color-picker": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.5.3.tgz", + "integrity": "sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==", + "dependencies": { + "@babel/runtime": "^7.23.6", + "@ctrl/tinycolor": "^3.6.1", + "classnames": "^2.2.6", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", + "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.15.0.tgz", + "integrity": "sha512-h6hyILDwL+In9GAgRobwRWihLqqsD7Uft3fZGrJ7L4EiyCoxbnNYwzPXDfz7vNDhWeVyvAWQJj9fJCzpI4+b4g==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/trigger": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.0.tgz", + "integrity": "sha512-QarBCji02YE9aRFhZgRZmOpXBj0IZutRippsVBv85sxvG4FGk/vRxwAlkn3MS9zK5mwbETd86mAVg2tKqTkdJA==", + "dependencies": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/@rushstack/eslint-patch": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz", @@ -2991,6 +3199,69 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/antd": { + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.18.0.tgz", + "integrity": "sha512-xAvqvioW34npeZb8/JLZmCh5mcHU5MLiA0IYWAlpLAVmSgjs3p0tNzbU6a7Yx+y7o7E8PHtlchWfO3yBLQ15FQ==", + "dependencies": { + "@ant-design/colors": "^7.0.2", + "@ant-design/cssinjs": "^1.19.1", + "@ant-design/icons": "^5.3.7", + "@ant-design/react-slick": "~1.1.2", + "@babel/runtime": "^7.24.5", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~1.5.3", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/tour": "~1.15.0", + "@rc-component/trigger": "^2.2.0", + "classnames": "^2.5.1", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.10", + "qrcode.react": "^3.1.0", + "rc-cascader": "~3.26.0", + "rc-checkbox": "~3.3.0", + "rc-collapse": "~3.7.3", + "rc-dialog": "~9.4.0", + "rc-drawer": "~7.2.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~2.2.0", + "rc-image": "~7.8.0", + "rc-input": "~1.5.1", + "rc-input-number": "~9.1.0", + "rc-mentions": "~2.13.1", + "rc-menu": "~9.14.0", + "rc-motion": "^2.9.1", + "rc-notification": "~5.6.0", + "rc-pagination": "~4.0.4", + "rc-picker": "~4.5.0", + "rc-progress": "~4.0.0", + "rc-rate": "~2.13.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.3.0", + "rc-select": "~14.14.0", + "rc-slider": "~10.6.2", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.45.7", + "rc-tabs": "~15.1.0", + "rc-textarea": "~1.7.0", + "rc-tooltip": "~6.2.0", + "rc-tree": "~5.8.7", + "rc-tree-select": "~5.21.0", + "rc-upload": "~4.5.2", + "rc-util": "^5.41.0", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -3066,6 +3337,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -3488,6 +3764,11 @@ "node": ">= 6" } }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", @@ -3520,6 +3801,11 @@ "node": ">= 6" } }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", + "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -3531,6 +3817,14 @@ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, "node_modules/core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", @@ -3670,8 +3964,7 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", @@ -3730,6 +4023,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dayjs": { + "version": "1.11.11", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz", + "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==" + }, "node_modules/debug": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", @@ -5735,6 +6033,14 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dependencies": { + "string-convert": "^0.2.0" + } + }, "node_modules/json5": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", @@ -6669,6 +6975,14 @@ "node": ">=6" } }, + "node_modules/qrcode.react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz", + "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -6689,6 +7003,583 @@ } ] }, + "node_modules/rc-cascader": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.26.0.tgz", + "integrity": "sha512-L1dml383TPSJD1I11YwxuVbmqaJY64psZqFp1ETlgl3LEOwDu76Cyl11fw5dmjJhMlUWwM5dECQfqJgfebhUjg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.14.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.3.0.tgz", + "integrity": "sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.3.tgz", + "integrity": "sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.4.0.tgz", + "integrity": "sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.2.0.tgz", + "integrity": "sha512-9lOQ7kBekEJRdEpScHvtmEtXnAsy+NGDXiRWc2ZVC7QXAazNVbeT4EraQKYwCME8BJLa8Bxqxvs5swwyOepRwg==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.0.tgz", + "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-2.2.1.tgz", + "integrity": "sha512-uoNqDoR7A4tn4QTSqoWPAzrR7ZwOK5I+vuZ/qdcHtbKx+ZjEsTg7QXm2wk/jalDiSksAQmATxL0T5LJkRREdIA==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/async-validator": "^5.0.3", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.8.1.tgz", + "integrity": "sha512-Y7/ALO8kgAddl9WBHUQDcff7Yfcd1T2ALS/JPlRqkau8wcua48k99glv/CcgChy4xwUXCUdO1cM2l1NqtoZZHw==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.4.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.5.1.tgz", + "integrity": "sha512-+nOzQJDeIfIpNP/SgY45LXSKbuMlp4Yap2y8c+ZpU7XbLmNzUd6+d5/S75sA/52jsVE6S/AkhkkDEAOjIu7i6g==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.1.0.tgz", + "integrity": "sha512-NqJ6i25Xn/AgYfVxynlevIhX3FuKlMwIFpucGG1h98SlK32wQwDK0zhN9VY32McOmuaqzftduNYWWooWz8pXQA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-input": "~1.5.0", + "rc-util": "^5.40.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.13.2.tgz", + "integrity": "sha512-gJCF6MDax/2wl2CzvJEN9yyQKYDzGKA2hmmymQiEPiYUNUOk6UKvQFSB3TBfAi57vxntPMJZGfxNtda1BDb4kA==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-input": "~1.5.0", + "rc-menu": "~9.14.0", + "rc-textarea": "~1.7.0", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.14.0.tgz", + "integrity": "sha512-La3LBCDMLMs9Q/8mTGbnscb+ZeJ26ebkLz9xJFHd2SD8vfsCKl1Z/k3mwbxyKL01lB40fel1s9Nn9LAv/nmVJQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.1.tgz", + "integrity": "sha512-QD4bUqByjVQs7PhUT1d4bNxvtTcK9ETwtg7psbDfo6TmYalH/1hhjj4r2hbhW7g5OOEqYHhfwfj4noIvuOVRtQ==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.39.3" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.6.0.tgz", + "integrity": "sha512-TGQW5T7waOxLwgJG7fXcw8l7AQiFOjaZ7ISF5PrU526nunHRNcTMuzKihQHaF4E/h/KfOCDk3Mv8eqzbu2e28w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.9.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.0.4.tgz", + "integrity": "sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.5.0.tgz", + "integrity": "sha512-suqz9bzuhBQlf7u+bZd1bJLPzhXpk12w6AjQ9BTPTiFwexVZgUKViG1KNLyfFvW6tCUZZK0HmCCX7JAyM+JnCg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.1", + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.38.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/rc-progress": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-4.0.0.tgz", + "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.13.0.tgz", + "integrity": "sha512-oxvx1Q5k5wD30sjN5tqAyWTvJfLNNJn7Oq3IeS4HxWfAiC4BOXMITNAsw7u/fzdtO4MS8Ki8uRLOzcnEuoQiAw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", + "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.14.0", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.14.0.tgz", + "integrity": "sha512-Uo2wulrjoPPRLCPd7zlK4ZFVJxlTN//yp1xWP/U+TUOQCyXrT+Duvq/Si5OzVcmQyWAUSbsplc2OwNNhvbOeKQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.1.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "10.6.2", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.6.2.tgz", + "integrity": "sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz", + "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz", + "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.45.7", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.45.7.tgz", + "integrity": "sha512-wi9LetBL1t1csxyGkMB2p3mCiMt+NDexMlPbXHvQFmBBAsMxrgNSAPwUci2zDLUq9m8QdWc1Nh8suvrpy9mXrg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.4.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.37.0", + "rc-virtual-list": "^3.14.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-15.1.0.tgz", + "integrity": "sha512-xTNz4Km1025emtkv1q7xKhjPwAtXr/wycuXVTAcFJg+DKhnPDDbnwbA9KRW0SawAVOGvVEj8ZrBlU0u0FGLrbg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.2.0", + "rc-menu": "~9.14.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.34.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.7.0.tgz", + "integrity": "sha512-UxizYJkWkmxP3zofXgc487QiGyDmhhheDLLjIWbFtDmiru1ls30KpO8odDaPyqNUIy9ugj5djxTEuezIn6t3Jg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.5.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.0.tgz", + "integrity": "sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.8.7", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.7.tgz", + "integrity": "sha512-cpsIQZ4nNYwpj6cqPRt52e/69URuNdgQF9wZ10InmEf8W3+i0A41OVmZWwHuX9gegQSqj+DPmaDkZFKQZ+ZV1w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.21.0.tgz", + "integrity": "sha512-w+9qEu6zh0G3wt9N/hzWNSnqYH1i9mH1Nqxo0caxLRRFXF5yZWYmpCDoDTMdQM1Y4z3Q5yj08qyrPH/d4AtumA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.14.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-upload": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.5.2.tgz", + "integrity": "sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.41.0.tgz", + "integrity": "sha512-xtlCim9RpmVv0Ar2Nnc3WfJCxjQkTf3xHPWoFdjp1fSs2NirQwqiQrfqdU9HUe0kdfb168M/T8Dq0IaX50xeKg==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/rc-virtual-list": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.2.tgz", + "integrity": "sha512-rA+W5xryhklJAcmswNyuKB3ZGeB855io+yOFQK5u/RXhjdshGblfKpNkQr4/9fBhZns0+uiL/0/s6IP2krtSmg==", + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -6842,6 +7733,11 @@ "jsesc": "bin/jsesc" } }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -7010,6 +7906,14 @@ "loose-envify": "^1.1.0" } }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, "node_modules/semver": { "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", @@ -7139,6 +8043,11 @@ "node": ">=10.0.0" } }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -7347,6 +8256,11 @@ } } }, + "node_modules/stylis": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", + "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==" + }, "node_modules/sucrase": { "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", @@ -7502,6 +8416,14 @@ "node": ">=0.8" } }, + "node_modules/throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "engines": { + "node": ">=12.22" + } + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -7522,6 +8444,11 @@ "node": ">=8.0" } }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", diff --git a/package.json b/package.json index 46cd3e2..0fde3bd 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,10 @@ "start": "next start" }, "dependencies": { + "@ant-design/cssinjs": "^1.20.0", "@svgr/webpack": "^8.1.0", "@t3-oss/env-nextjs": "^0.10.1", + "antd": "^5.18.0", "geist": "^1.3.0", "next": "^14.2.1", "react": "^18.3.0", From 2e9a99a208758da7098f3e16fc5ab688485092b9 Mon Sep 17 00:00:00 2001 From: Yeonsang Hwang <57931120+kiteprize@users.noreply.github.com> Date: Fri, 7 Jun 2024 16:39:46 +0900 Subject: [PATCH 12/42] form sample --- .../container/PageWithFormContainer.tsx | 14 ++ src/app/sample/pageWithForm/page.tsx | 8 ++ .../container/PageWithModalContainer.tsx | 19 ++- .../PageWithForm/PageWithFormFormModule.tsx | 123 ++++++++++++++++++ .../PageWithForm/PageWithFormHeaderModule.tsx | 12 ++ .../PageWithModalContentModule.tsx | 27 ++-- .../PageWithForm/PageWithFormTemplate.tsx | 23 ++++ 7 files changed, 215 insertions(+), 11 deletions(-) create mode 100644 src/app/sample/pageWithForm/container/PageWithFormContainer.tsx create mode 100644 src/app/sample/pageWithForm/page.tsx create mode 100644 src/components/Modules/PageWithForm/PageWithFormFormModule.tsx create mode 100644 src/components/Modules/PageWithForm/PageWithFormHeaderModule.tsx create mode 100644 src/components/Templates/PageWithForm/PageWithFormTemplate.tsx diff --git a/src/app/sample/pageWithForm/container/PageWithFormContainer.tsx b/src/app/sample/pageWithForm/container/PageWithFormContainer.tsx new file mode 100644 index 0000000..70c620b --- /dev/null +++ b/src/app/sample/pageWithForm/container/PageWithFormContainer.tsx @@ -0,0 +1,14 @@ +import { PageWithFormTemplate } from "~/components/Templates/PageWithForm/PageWithFormTemplate"; + +export const PageWithFormContainer = () => { + const pagewithformTemplateProps: React.ComponentProps< + typeof PageWithFormTemplate + > = { + pageWithFormHeaderModuleProps: { + title: "PageWithFormHeaderModule", + onClickLeftIcon: () => console.log("Left Icon Clicked"), + }, + }; + + return ; +}; diff --git a/src/app/sample/pageWithForm/page.tsx b/src/app/sample/pageWithForm/page.tsx new file mode 100644 index 0000000..a6d515a --- /dev/null +++ b/src/app/sample/pageWithForm/page.tsx @@ -0,0 +1,8 @@ +"use client"; +import { PageWithFormContainer } from "./container/PageWithFormContainer"; + +const PageWithForm = () => { + return ; +}; + +export default PageWithForm; diff --git a/src/app/sample/pageWithModal/container/PageWithModalContainer.tsx b/src/app/sample/pageWithModal/container/PageWithModalContainer.tsx index 246a87e..f752bc0 100644 --- a/src/app/sample/pageWithModal/container/PageWithModalContainer.tsx +++ b/src/app/sample/pageWithModal/container/PageWithModalContainer.tsx @@ -1,8 +1,11 @@ +import { message, Modal } from "antd"; import { useRouter } from "next/navigation"; +import { useState } from "react"; import { PageWithModalTemplate } from "~/components/Templates/PageWithModal/PageWithModalTemplate"; export const PageWithModalContainer = () => { const router = useRouter(); + const [isDrawerOpen, setIsDrawerOpen] = useState(false); const pagewithmodalTemplateProps: React.ComponentProps< typeof PageWithModalTemplate @@ -11,7 +14,21 @@ export const PageWithModalContainer = () => { title: "PageWithModalHeaderModule", onClickLeftIcon: () => router.back(), }, - pageWithModalContentModuleProps: { title: "PageWithModalContentModule" }, + pageWithModalContentModuleProps: { + title: "PageWithModalContentModule", + onOpenModal: () => { + Modal.info({ + title: "Modal Title", + content: "Modal Content", + }); + }, + isDrawerOpen, + onOpenDrawer: () => setIsDrawerOpen(true), + onCloseDrawer: () => setIsDrawerOpen(false), + onOpenToast: () => { + message.info("Toast Content"); + }, + }, }; return ; diff --git a/src/components/Modules/PageWithForm/PageWithFormFormModule.tsx b/src/components/Modules/PageWithForm/PageWithFormFormModule.tsx new file mode 100644 index 0000000..6aaab1d --- /dev/null +++ b/src/components/Modules/PageWithForm/PageWithFormFormModule.tsx @@ -0,0 +1,123 @@ +import { + Form, + Radio, + Select, + TreeSelect, + Cascader, + DatePicker, + InputNumber, + Switch, + Button, + Slider, + ColorPicker, + Input, + Modal, +} from "antd"; +import { useState } from "react"; +const { RangePicker } = DatePicker; +const { TextArea } = Input; + +export const PageWithFormFormModule = () => { + const [isModalVisible, setIsModalVisible] = useState(false); + const [form] = Form.useForm(); + + return ( + <> +
{ + console.log(values); + setIsModalVisible(true); + }} + > + + + Apple + Pear + + + + + + + + + + + + + + + + + + + + + + + + +