├── .github
└── workflows
│ └── build.yml
├── .gitignore
├── .vscode
└── extensions.json
├── README.md
├── index.html
├── package.json
├── pnpm-lock.yaml
├── public
└── vite.svg
├── src
├── App.vue
├── assets
│ └── vue.svg
├── components
│ ├── Dialog.vue
│ ├── formDialog.vue
│ ├── types.ts
│ ├── useDialog.ts
│ ├── useDialogState.ts
│ └── useDialogWithForm.ts
├── main.ts
└── vite-env.d.ts
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build and Deploy
2 | on:
3 | push:
4 | branches:
5 | - main
6 | permissions:
7 | contents: write
8 | jobs:
9 | build-and-deploy:
10 | concurrency: ci-${{ github.ref }} # Recommended if you intend to make multiple deployments in quick succession.
11 | runs-on: ubuntu-latest
12 | steps:
13 | - name: Checkout 🛎️
14 | uses: actions/checkout@v3
15 |
16 | - name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
17 | run: |
18 | npm i -g pnpm
19 | pnpm i
20 | pnpm build
21 |
22 | - name: Deploy 🚀
23 | uses: JamesIves/github-pages-deploy-action@v4
24 | with:
25 | branch: gh-pages
26 | folder: dist # The folder the action should deploy.
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # useDialog
2 |
3 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + Vue + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "use-dialog",
3 | "private": true,
4 | "version": "0.0.0",
5 | "homepage": "https://qc2168.github.io/useDialog",
6 | "type": "module",
7 | "scripts": {
8 | "dev": "vite",
9 | "build": "vue-tsc --noEmit && vite build",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "@element-plus/icons-vue": "^2.0.10",
14 | "element-plus": "^2.2.18",
15 | "less": "^4.1.3",
16 | "vue": "^3.2.37"
17 | },
18 | "devDependencies": {
19 | "@types/node": "^18.11.13",
20 | "@vitejs/plugin-vue": "^3.1.0",
21 | "typescript": "^4.6.4",
22 | "vite": "^3.1.0",
23 | "vue-tsc": "^0.40.4"
24 | }
25 | }
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@element-plus/icons-vue': ^2.0.10
5 | '@types/node': ^18.11.13
6 | '@vitejs/plugin-vue': ^3.1.0
7 | element-plus: ^2.2.18
8 | less: ^4.1.3
9 | typescript: ^4.6.4
10 | vite: ^3.1.0
11 | vue: ^3.2.37
12 | vue-tsc: ^0.40.4
13 |
14 | dependencies:
15 | '@element-plus/icons-vue': 2.0.10_vue@3.2.41
16 | element-plus: 2.2.18_vue@3.2.41
17 | less: 4.1.3
18 | vue: 3.2.41
19 |
20 | devDependencies:
21 | '@types/node': 18.11.13
22 | '@vitejs/plugin-vue': 3.1.2_vite@3.1.8+vue@3.2.41
23 | typescript: 4.8.4
24 | vite: 3.1.8_less@4.1.3
25 | vue-tsc: 0.40.13_typescript@4.8.4
26 |
27 | packages:
28 |
29 | /@babel/helper-string-parser/7.19.4:
30 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
31 | engines: {node: '>=6.9.0'}
32 |
33 | /@babel/helper-validator-identifier/7.19.1:
34 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
35 | engines: {node: '>=6.9.0'}
36 |
37 | /@babel/parser/7.19.4:
38 | resolution: {integrity: sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==}
39 | engines: {node: '>=6.0.0'}
40 | hasBin: true
41 | dependencies:
42 | '@babel/types': 7.19.4
43 |
44 | /@babel/types/7.19.4:
45 | resolution: {integrity: sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==}
46 | engines: {node: '>=6.9.0'}
47 | dependencies:
48 | '@babel/helper-string-parser': 7.19.4
49 | '@babel/helper-validator-identifier': 7.19.1
50 | to-fast-properties: 2.0.0
51 |
52 | /@ctrl/tinycolor/3.4.1:
53 | resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==}
54 | engines: {node: '>=10'}
55 | dev: false
56 |
57 | /@element-plus/icons-vue/2.0.10_vue@3.2.41:
58 | resolution: {integrity: sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==}
59 | peerDependencies:
60 | vue: ^3.2.0
61 | dependencies:
62 | vue: 3.2.41
63 | dev: false
64 |
65 | /@esbuild/android-arm/0.15.11:
66 | resolution: {integrity: sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA==}
67 | engines: {node: '>=12'}
68 | cpu: [arm]
69 | os: [android]
70 | requiresBuild: true
71 | dev: true
72 | optional: true
73 |
74 | /@esbuild/linux-loong64/0.15.11:
75 | resolution: {integrity: sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw==}
76 | engines: {node: '>=12'}
77 | cpu: [loong64]
78 | os: [linux]
79 | requiresBuild: true
80 | dev: true
81 | optional: true
82 |
83 | /@floating-ui/core/1.0.1:
84 | resolution: {integrity: sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==}
85 | dev: false
86 |
87 | /@floating-ui/dom/1.0.2:
88 | resolution: {integrity: sha512-5X9WSvZ8/fjy3gDu8yx9HAA4KG1lazUN2P4/VnaXLxTO9Dz53HI1oYoh1OlhqFNlHgGDiwFX5WhFCc2ljbW3yA==}
89 | dependencies:
90 | '@floating-ui/core': 1.0.1
91 | dev: false
92 |
93 | /@sxzz/popperjs-es/2.11.7:
94 | resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
95 | dev: false
96 |
97 | /@types/lodash-es/4.17.6:
98 | resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==}
99 | dependencies:
100 | '@types/lodash': 4.14.186
101 | dev: false
102 |
103 | /@types/lodash/4.14.186:
104 | resolution: {integrity: sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw==}
105 | dev: false
106 |
107 | /@types/node/18.11.13:
108 | resolution: {integrity: sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==}
109 | dev: true
110 |
111 | /@types/web-bluetooth/0.0.15:
112 | resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==}
113 | dev: false
114 |
115 | /@vitejs/plugin-vue/3.1.2_vite@3.1.8+vue@3.2.41:
116 | resolution: {integrity: sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ==}
117 | engines: {node: ^14.18.0 || >=16.0.0}
118 | peerDependencies:
119 | vite: ^3.0.0
120 | vue: ^3.2.25
121 | dependencies:
122 | vite: 3.1.8_less@4.1.3
123 | vue: 3.2.41
124 | dev: true
125 |
126 | /@volar/code-gen/0.40.13:
127 | resolution: {integrity: sha512-4gShBWuMce868OVvgyA1cU5WxHbjfEme18Tw6uVMfweZCF5fB2KECG0iPrA9D54vHk3FeHarODNwgIaaFfUBlA==}
128 | dependencies:
129 | '@volar/source-map': 0.40.13
130 | dev: true
131 |
132 | /@volar/source-map/0.40.13:
133 | resolution: {integrity: sha512-dbdkAB2Nxb0wLjAY5O64o3ywVWlAGONnBIoKAkXSf6qkGZM+nJxcizsoiI66K+RHQG0XqlyvjDizfnTxr+6PWg==}
134 | dependencies:
135 | '@vue/reactivity': 3.2.38
136 | dev: true
137 |
138 | /@volar/typescript-faster/0.40.13:
139 | resolution: {integrity: sha512-uy+TlcFkKoNlKEnxA4x5acxdxLyVDIXGSc8cYDNXpPKjBKXrQaetzCzlO3kVBqu1VLMxKNGJMTKn35mo+ILQmw==}
140 | dependencies:
141 | semver: 7.3.8
142 | dev: true
143 |
144 | /@volar/vue-language-core/0.40.13:
145 | resolution: {integrity: sha512-QkCb8msi2KUitTdM6Y4kAb7/ZlEvuLcbBFOC2PLBlFuoZwyxvSP7c/dBGmKGtJlEvMX0LdCyrg5V2aBYxD38/Q==}
146 | dependencies:
147 | '@volar/code-gen': 0.40.13
148 | '@volar/source-map': 0.40.13
149 | '@vue/compiler-core': 3.2.41
150 | '@vue/compiler-dom': 3.2.41
151 | '@vue/compiler-sfc': 3.2.41
152 | '@vue/reactivity': 3.2.41
153 | '@vue/shared': 3.2.41
154 | dev: true
155 |
156 | /@volar/vue-typescript/0.40.13:
157 | resolution: {integrity: sha512-o7bNztwjs8JmbQjVkrnbZUOfm7q4B8ZYssETISN1tRaBdun6cfNqgpkvDYd+VUBh1O4CdksvN+5BUNnwAz4oCQ==}
158 | dependencies:
159 | '@volar/code-gen': 0.40.13
160 | '@volar/typescript-faster': 0.40.13
161 | '@volar/vue-language-core': 0.40.13
162 | dev: true
163 |
164 | /@vue/compiler-core/3.2.41:
165 | resolution: {integrity: sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==}
166 | dependencies:
167 | '@babel/parser': 7.19.4
168 | '@vue/shared': 3.2.41
169 | estree-walker: 2.0.2
170 | source-map: 0.6.1
171 |
172 | /@vue/compiler-dom/3.2.41:
173 | resolution: {integrity: sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==}
174 | dependencies:
175 | '@vue/compiler-core': 3.2.41
176 | '@vue/shared': 3.2.41
177 |
178 | /@vue/compiler-sfc/3.2.41:
179 | resolution: {integrity: sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==}
180 | dependencies:
181 | '@babel/parser': 7.19.4
182 | '@vue/compiler-core': 3.2.41
183 | '@vue/compiler-dom': 3.2.41
184 | '@vue/compiler-ssr': 3.2.41
185 | '@vue/reactivity-transform': 3.2.41
186 | '@vue/shared': 3.2.41
187 | estree-walker: 2.0.2
188 | magic-string: 0.25.9
189 | postcss: 8.4.18
190 | source-map: 0.6.1
191 |
192 | /@vue/compiler-ssr/3.2.41:
193 | resolution: {integrity: sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==}
194 | dependencies:
195 | '@vue/compiler-dom': 3.2.41
196 | '@vue/shared': 3.2.41
197 |
198 | /@vue/reactivity-transform/3.2.41:
199 | resolution: {integrity: sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==}
200 | dependencies:
201 | '@babel/parser': 7.19.4
202 | '@vue/compiler-core': 3.2.41
203 | '@vue/shared': 3.2.41
204 | estree-walker: 2.0.2
205 | magic-string: 0.25.9
206 |
207 | /@vue/reactivity/3.2.38:
208 | resolution: {integrity: sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==}
209 | dependencies:
210 | '@vue/shared': 3.2.38
211 | dev: true
212 |
213 | /@vue/reactivity/3.2.41:
214 | resolution: {integrity: sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==}
215 | dependencies:
216 | '@vue/shared': 3.2.41
217 |
218 | /@vue/runtime-core/3.2.41:
219 | resolution: {integrity: sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==}
220 | dependencies:
221 | '@vue/reactivity': 3.2.41
222 | '@vue/shared': 3.2.41
223 |
224 | /@vue/runtime-dom/3.2.41:
225 | resolution: {integrity: sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==}
226 | dependencies:
227 | '@vue/runtime-core': 3.2.41
228 | '@vue/shared': 3.2.41
229 | csstype: 2.6.21
230 |
231 | /@vue/server-renderer/3.2.41_vue@3.2.41:
232 | resolution: {integrity: sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==}
233 | peerDependencies:
234 | vue: 3.2.41
235 | dependencies:
236 | '@vue/compiler-ssr': 3.2.41
237 | '@vue/shared': 3.2.41
238 | vue: 3.2.41
239 |
240 | /@vue/shared/3.2.38:
241 | resolution: {integrity: sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==}
242 | dev: true
243 |
244 | /@vue/shared/3.2.41:
245 | resolution: {integrity: sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==}
246 |
247 | /@vueuse/core/9.3.0_vue@3.2.41:
248 | resolution: {integrity: sha512-64Rna8IQDWpdrJxgitDg7yv1yTp41ZmvV8zlLEylK4QQLWAhz1OFGZDPZ8bU4lwcGgbEJ2sGi2jrdNh4LttUSQ==}
249 | dependencies:
250 | '@types/web-bluetooth': 0.0.15
251 | '@vueuse/metadata': 9.3.0
252 | '@vueuse/shared': 9.3.0_vue@3.2.41
253 | vue-demi: 0.13.11_vue@3.2.41
254 | transitivePeerDependencies:
255 | - '@vue/composition-api'
256 | - vue
257 | dev: false
258 |
259 | /@vueuse/metadata/9.3.0:
260 | resolution: {integrity: sha512-GnnfjbzIPJIh9ngL9s9oGU1+Hx/h5/KFqTfJykzh/1xjaHkedV9g0MASpdmPZIP+ynNhKAcEfA6g5i8KXwtoMA==}
261 | dev: false
262 |
263 | /@vueuse/shared/9.3.0_vue@3.2.41:
264 | resolution: {integrity: sha512-caGUWLY0DpPC6l31KxeUy6vPVNA0yKxx81jFYLoMpyP6cF84FG5Dkf69DfSUqL57wX8JcUkJDMnQaQIZPWFEQQ==}
265 | dependencies:
266 | vue-demi: 0.13.11_vue@3.2.41
267 | transitivePeerDependencies:
268 | - '@vue/composition-api'
269 | - vue
270 | dev: false
271 |
272 | /async-validator/4.2.5:
273 | resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
274 | dev: false
275 |
276 | /copy-anything/2.0.6:
277 | resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
278 | dependencies:
279 | is-what: 3.14.1
280 |
281 | /csstype/2.6.21:
282 | resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==}
283 |
284 | /dayjs/1.11.5:
285 | resolution: {integrity: sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==}
286 | dev: false
287 |
288 | /debug/3.2.7:
289 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
290 | peerDependencies:
291 | supports-color: '*'
292 | peerDependenciesMeta:
293 | supports-color:
294 | optional: true
295 | dependencies:
296 | ms: 2.1.3
297 | optional: true
298 |
299 | /element-plus/2.2.18_vue@3.2.41:
300 | resolution: {integrity: sha512-2pK2zmVOwP14eFl3rGoR+3BWJwDyO+DZCvzjQ8L6qjUR+hVKwFhgxIcSkKJatbcHFw5Xui6UyN20jV+gQP7mLg==}
301 | peerDependencies:
302 | vue: ^3.2.0
303 | dependencies:
304 | '@ctrl/tinycolor': 3.4.1
305 | '@element-plus/icons-vue': 2.0.10_vue@3.2.41
306 | '@floating-ui/dom': 1.0.2
307 | '@popperjs/core': /@sxzz/popperjs-es/2.11.7
308 | '@types/lodash': 4.14.186
309 | '@types/lodash-es': 4.17.6
310 | '@vueuse/core': 9.3.0_vue@3.2.41
311 | async-validator: 4.2.5
312 | dayjs: 1.11.5
313 | escape-html: 1.0.3
314 | lodash: 4.17.21
315 | lodash-es: 4.17.21
316 | lodash-unified: 1.0.2_3ib2ivapxullxkx3xftsimdk7u
317 | memoize-one: 6.0.0
318 | normalize-wheel-es: 1.2.0
319 | vue: 3.2.41
320 | transitivePeerDependencies:
321 | - '@vue/composition-api'
322 | dev: false
323 |
324 | /errno/0.1.8:
325 | resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
326 | hasBin: true
327 | requiresBuild: true
328 | dependencies:
329 | prr: 1.0.1
330 | optional: true
331 |
332 | /esbuild-android-64/0.15.11:
333 | resolution: {integrity: sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw==}
334 | engines: {node: '>=12'}
335 | cpu: [x64]
336 | os: [android]
337 | requiresBuild: true
338 | dev: true
339 | optional: true
340 |
341 | /esbuild-android-arm64/0.15.11:
342 | resolution: {integrity: sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ==}
343 | engines: {node: '>=12'}
344 | cpu: [arm64]
345 | os: [android]
346 | requiresBuild: true
347 | dev: true
348 | optional: true
349 |
350 | /esbuild-darwin-64/0.15.11:
351 | resolution: {integrity: sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA==}
352 | engines: {node: '>=12'}
353 | cpu: [x64]
354 | os: [darwin]
355 | requiresBuild: true
356 | dev: true
357 | optional: true
358 |
359 | /esbuild-darwin-arm64/0.15.11:
360 | resolution: {integrity: sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ==}
361 | engines: {node: '>=12'}
362 | cpu: [arm64]
363 | os: [darwin]
364 | requiresBuild: true
365 | dev: true
366 | optional: true
367 |
368 | /esbuild-freebsd-64/0.15.11:
369 | resolution: {integrity: sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg==}
370 | engines: {node: '>=12'}
371 | cpu: [x64]
372 | os: [freebsd]
373 | requiresBuild: true
374 | dev: true
375 | optional: true
376 |
377 | /esbuild-freebsd-arm64/0.15.11:
378 | resolution: {integrity: sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ==}
379 | engines: {node: '>=12'}
380 | cpu: [arm64]
381 | os: [freebsd]
382 | requiresBuild: true
383 | dev: true
384 | optional: true
385 |
386 | /esbuild-linux-32/0.15.11:
387 | resolution: {integrity: sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA==}
388 | engines: {node: '>=12'}
389 | cpu: [ia32]
390 | os: [linux]
391 | requiresBuild: true
392 | dev: true
393 | optional: true
394 |
395 | /esbuild-linux-64/0.15.11:
396 | resolution: {integrity: sha512-Y2Rh+PcyVhQqXKBTacPCltINN3uIw2xC+dsvLANJ1SpK5NJUtxv8+rqWpjmBgaNWKQT1/uGpMmA9olALy9PLVA==}
397 | engines: {node: '>=12'}
398 | cpu: [x64]
399 | os: [linux]
400 | requiresBuild: true
401 | dev: true
402 | optional: true
403 |
404 | /esbuild-linux-arm/0.15.11:
405 | resolution: {integrity: sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A==}
406 | engines: {node: '>=12'}
407 | cpu: [arm]
408 | os: [linux]
409 | requiresBuild: true
410 | dev: true
411 | optional: true
412 |
413 | /esbuild-linux-arm64/0.15.11:
414 | resolution: {integrity: sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw==}
415 | engines: {node: '>=12'}
416 | cpu: [arm64]
417 | os: [linux]
418 | requiresBuild: true
419 | dev: true
420 | optional: true
421 |
422 | /esbuild-linux-mips64le/0.15.11:
423 | resolution: {integrity: sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA==}
424 | engines: {node: '>=12'}
425 | cpu: [mips64el]
426 | os: [linux]
427 | requiresBuild: true
428 | dev: true
429 | optional: true
430 |
431 | /esbuild-linux-ppc64le/0.15.11:
432 | resolution: {integrity: sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg==}
433 | engines: {node: '>=12'}
434 | cpu: [ppc64]
435 | os: [linux]
436 | requiresBuild: true
437 | dev: true
438 | optional: true
439 |
440 | /esbuild-linux-riscv64/0.15.11:
441 | resolution: {integrity: sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw==}
442 | engines: {node: '>=12'}
443 | cpu: [riscv64]
444 | os: [linux]
445 | requiresBuild: true
446 | dev: true
447 | optional: true
448 |
449 | /esbuild-linux-s390x/0.15.11:
450 | resolution: {integrity: sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg==}
451 | engines: {node: '>=12'}
452 | cpu: [s390x]
453 | os: [linux]
454 | requiresBuild: true
455 | dev: true
456 | optional: true
457 |
458 | /esbuild-netbsd-64/0.15.11:
459 | resolution: {integrity: sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A==}
460 | engines: {node: '>=12'}
461 | cpu: [x64]
462 | os: [netbsd]
463 | requiresBuild: true
464 | dev: true
465 | optional: true
466 |
467 | /esbuild-openbsd-64/0.15.11:
468 | resolution: {integrity: sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ==}
469 | engines: {node: '>=12'}
470 | cpu: [x64]
471 | os: [openbsd]
472 | requiresBuild: true
473 | dev: true
474 | optional: true
475 |
476 | /esbuild-sunos-64/0.15.11:
477 | resolution: {integrity: sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw==}
478 | engines: {node: '>=12'}
479 | cpu: [x64]
480 | os: [sunos]
481 | requiresBuild: true
482 | dev: true
483 | optional: true
484 |
485 | /esbuild-windows-32/0.15.11:
486 | resolution: {integrity: sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q==}
487 | engines: {node: '>=12'}
488 | cpu: [ia32]
489 | os: [win32]
490 | requiresBuild: true
491 | dev: true
492 | optional: true
493 |
494 | /esbuild-windows-64/0.15.11:
495 | resolution: {integrity: sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ==}
496 | engines: {node: '>=12'}
497 | cpu: [x64]
498 | os: [win32]
499 | requiresBuild: true
500 | dev: true
501 | optional: true
502 |
503 | /esbuild-windows-arm64/0.15.11:
504 | resolution: {integrity: sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw==}
505 | engines: {node: '>=12'}
506 | cpu: [arm64]
507 | os: [win32]
508 | requiresBuild: true
509 | dev: true
510 | optional: true
511 |
512 | /esbuild/0.15.11:
513 | resolution: {integrity: sha512-OgHGuhlfZ//mToxjte1D5iiiQgWfJ2GByVMwEC/IuoXsBGkuyK1+KrjYu0laSpnN/L1UmLUCv0s25vObdc1bVg==}
514 | engines: {node: '>=12'}
515 | hasBin: true
516 | requiresBuild: true
517 | optionalDependencies:
518 | '@esbuild/android-arm': 0.15.11
519 | '@esbuild/linux-loong64': 0.15.11
520 | esbuild-android-64: 0.15.11
521 | esbuild-android-arm64: 0.15.11
522 | esbuild-darwin-64: 0.15.11
523 | esbuild-darwin-arm64: 0.15.11
524 | esbuild-freebsd-64: 0.15.11
525 | esbuild-freebsd-arm64: 0.15.11
526 | esbuild-linux-32: 0.15.11
527 | esbuild-linux-64: 0.15.11
528 | esbuild-linux-arm: 0.15.11
529 | esbuild-linux-arm64: 0.15.11
530 | esbuild-linux-mips64le: 0.15.11
531 | esbuild-linux-ppc64le: 0.15.11
532 | esbuild-linux-riscv64: 0.15.11
533 | esbuild-linux-s390x: 0.15.11
534 | esbuild-netbsd-64: 0.15.11
535 | esbuild-openbsd-64: 0.15.11
536 | esbuild-sunos-64: 0.15.11
537 | esbuild-windows-32: 0.15.11
538 | esbuild-windows-64: 0.15.11
539 | esbuild-windows-arm64: 0.15.11
540 | dev: true
541 |
542 | /escape-html/1.0.3:
543 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
544 | dev: false
545 |
546 | /estree-walker/2.0.2:
547 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
548 |
549 | /fsevents/2.3.2:
550 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
551 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
552 | os: [darwin]
553 | requiresBuild: true
554 | dev: true
555 | optional: true
556 |
557 | /function-bind/1.1.1:
558 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
559 | dev: true
560 |
561 | /graceful-fs/4.2.10:
562 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
563 | requiresBuild: true
564 | optional: true
565 |
566 | /has/1.0.3:
567 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
568 | engines: {node: '>= 0.4.0'}
569 | dependencies:
570 | function-bind: 1.1.1
571 | dev: true
572 |
573 | /iconv-lite/0.6.3:
574 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
575 | engines: {node: '>=0.10.0'}
576 | dependencies:
577 | safer-buffer: 2.1.2
578 | optional: true
579 |
580 | /image-size/0.5.5:
581 | resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
582 | engines: {node: '>=0.10.0'}
583 | hasBin: true
584 | requiresBuild: true
585 | optional: true
586 |
587 | /is-core-module/2.10.0:
588 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
589 | dependencies:
590 | has: 1.0.3
591 | dev: true
592 |
593 | /is-what/3.14.1:
594 | resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
595 |
596 | /less/4.1.3:
597 | resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==}
598 | engines: {node: '>=6'}
599 | hasBin: true
600 | dependencies:
601 | copy-anything: 2.0.6
602 | parse-node-version: 1.0.1
603 | tslib: 2.4.0
604 | optionalDependencies:
605 | errno: 0.1.8
606 | graceful-fs: 4.2.10
607 | image-size: 0.5.5
608 | make-dir: 2.1.0
609 | mime: 1.6.0
610 | needle: 3.1.0
611 | source-map: 0.6.1
612 | transitivePeerDependencies:
613 | - supports-color
614 |
615 | /lodash-es/4.17.21:
616 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
617 | dev: false
618 |
619 | /lodash-unified/1.0.2_3ib2ivapxullxkx3xftsimdk7u:
620 | resolution: {integrity: sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==}
621 | peerDependencies:
622 | '@types/lodash-es': '*'
623 | lodash: '*'
624 | lodash-es: '*'
625 | dependencies:
626 | '@types/lodash-es': 4.17.6
627 | lodash: 4.17.21
628 | lodash-es: 4.17.21
629 | dev: false
630 |
631 | /lodash/4.17.21:
632 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
633 | dev: false
634 |
635 | /lru-cache/6.0.0:
636 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
637 | engines: {node: '>=10'}
638 | dependencies:
639 | yallist: 4.0.0
640 | dev: true
641 |
642 | /magic-string/0.25.9:
643 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
644 | dependencies:
645 | sourcemap-codec: 1.4.8
646 |
647 | /make-dir/2.1.0:
648 | resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
649 | engines: {node: '>=6'}
650 | requiresBuild: true
651 | dependencies:
652 | pify: 4.0.1
653 | semver: 5.7.1
654 | optional: true
655 |
656 | /memoize-one/6.0.0:
657 | resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
658 | dev: false
659 |
660 | /mime/1.6.0:
661 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
662 | engines: {node: '>=4'}
663 | hasBin: true
664 | requiresBuild: true
665 | optional: true
666 |
667 | /ms/2.1.3:
668 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
669 | optional: true
670 |
671 | /nanoid/3.3.4:
672 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
673 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
674 | hasBin: true
675 |
676 | /needle/3.1.0:
677 | resolution: {integrity: sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==}
678 | engines: {node: '>= 4.4.x'}
679 | hasBin: true
680 | requiresBuild: true
681 | dependencies:
682 | debug: 3.2.7
683 | iconv-lite: 0.6.3
684 | sax: 1.2.4
685 | transitivePeerDependencies:
686 | - supports-color
687 | optional: true
688 |
689 | /normalize-wheel-es/1.2.0:
690 | resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==}
691 | dev: false
692 |
693 | /parse-node-version/1.0.1:
694 | resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
695 | engines: {node: '>= 0.10'}
696 |
697 | /path-parse/1.0.7:
698 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
699 | dev: true
700 |
701 | /picocolors/1.0.0:
702 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
703 |
704 | /pify/4.0.1:
705 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
706 | engines: {node: '>=6'}
707 | optional: true
708 |
709 | /postcss/8.4.18:
710 | resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==}
711 | engines: {node: ^10 || ^12 || >=14}
712 | dependencies:
713 | nanoid: 3.3.4
714 | picocolors: 1.0.0
715 | source-map-js: 1.0.2
716 |
717 | /prr/1.0.1:
718 | resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
719 | optional: true
720 |
721 | /resolve/1.22.1:
722 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
723 | hasBin: true
724 | dependencies:
725 | is-core-module: 2.10.0
726 | path-parse: 1.0.7
727 | supports-preserve-symlinks-flag: 1.0.0
728 | dev: true
729 |
730 | /rollup/2.78.1:
731 | resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==}
732 | engines: {node: '>=10.0.0'}
733 | hasBin: true
734 | optionalDependencies:
735 | fsevents: 2.3.2
736 | dev: true
737 |
738 | /safer-buffer/2.1.2:
739 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
740 | optional: true
741 |
742 | /sax/1.2.4:
743 | resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
744 | optional: true
745 |
746 | /semver/5.7.1:
747 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
748 | hasBin: true
749 | optional: true
750 |
751 | /semver/7.3.8:
752 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
753 | engines: {node: '>=10'}
754 | hasBin: true
755 | dependencies:
756 | lru-cache: 6.0.0
757 | dev: true
758 |
759 | /source-map-js/1.0.2:
760 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
761 | engines: {node: '>=0.10.0'}
762 |
763 | /source-map/0.6.1:
764 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
765 | engines: {node: '>=0.10.0'}
766 |
767 | /sourcemap-codec/1.4.8:
768 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
769 |
770 | /supports-preserve-symlinks-flag/1.0.0:
771 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
772 | engines: {node: '>= 0.4'}
773 | dev: true
774 |
775 | /to-fast-properties/2.0.0:
776 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
777 | engines: {node: '>=4'}
778 |
779 | /tslib/2.4.0:
780 | resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
781 |
782 | /typescript/4.8.4:
783 | resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==}
784 | engines: {node: '>=4.2.0'}
785 | hasBin: true
786 | dev: true
787 |
788 | /vite/3.1.8_less@4.1.3:
789 | resolution: {integrity: sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==}
790 | engines: {node: ^14.18.0 || >=16.0.0}
791 | hasBin: true
792 | peerDependencies:
793 | less: '*'
794 | sass: '*'
795 | stylus: '*'
796 | terser: ^5.4.0
797 | peerDependenciesMeta:
798 | less:
799 | optional: true
800 | sass:
801 | optional: true
802 | stylus:
803 | optional: true
804 | terser:
805 | optional: true
806 | dependencies:
807 | esbuild: 0.15.11
808 | less: 4.1.3
809 | postcss: 8.4.18
810 | resolve: 1.22.1
811 | rollup: 2.78.1
812 | optionalDependencies:
813 | fsevents: 2.3.2
814 | dev: true
815 |
816 | /vue-demi/0.13.11_vue@3.2.41:
817 | resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
818 | engines: {node: '>=12'}
819 | hasBin: true
820 | requiresBuild: true
821 | peerDependencies:
822 | '@vue/composition-api': ^1.0.0-rc.1
823 | vue: ^3.0.0-0 || ^2.6.0
824 | peerDependenciesMeta:
825 | '@vue/composition-api':
826 | optional: true
827 | dependencies:
828 | vue: 3.2.41
829 | dev: false
830 |
831 | /vue-tsc/0.40.13_typescript@4.8.4:
832 | resolution: {integrity: sha512-xzuN3g5PnKfJcNrLv4+mAjteMd5wLm5fRhW0034OfNJZY4WhB07vhngea/XeGn7wNYt16r7syonzvW/54dcNiA==}
833 | hasBin: true
834 | peerDependencies:
835 | typescript: '*'
836 | dependencies:
837 | '@volar/vue-language-core': 0.40.13
838 | '@volar/vue-typescript': 0.40.13
839 | typescript: 4.8.4
840 | dev: true
841 |
842 | /vue/3.2.41:
843 | resolution: {integrity: sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==}
844 | dependencies:
845 | '@vue/compiler-dom': 3.2.41
846 | '@vue/compiler-sfc': 3.2.41
847 | '@vue/runtime-dom': 3.2.41
848 | '@vue/server-renderer': 3.2.41_vue@3.2.41
849 | '@vue/shared': 3.2.41
850 |
851 | /yallist/4.0.0:
852 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
853 | dev: true
854 |
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 普通弹窗
5 | 可拖拽和可全屏的弹窗
6 | 全屏和自定义页脚插槽弹窗
7 | 表单弹窗(新增)
8 | 表单弹窗(编辑)
9 |
10 |
17 | DialogCmp1
18 |
19 |
26 | DialogCmp2
27 |
28 |
37 | DialogCmp3
38 |
39 | 开启loading
40 | 关闭loading
41 | 当前时间
42 | 关闭
43 |
44 |
45 |
46 |
47 |
48 |
49 |
109 |
114 |
--------------------------------------------------------------------------------
/src/assets/vue.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/components/Dialog.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
12 | {{ props.title }}
13 |
14 |
15 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
32 |
33 |
34 |
35 |
36 |
37 |
95 |
96 |
124 |
--------------------------------------------------------------------------------
/src/components/formDialog.vue:
--------------------------------------------------------------------------------
1 |
2 |
27 |
28 |
112 |
113 |
--------------------------------------------------------------------------------
/src/components/types.ts:
--------------------------------------------------------------------------------
1 | export enum MODE {
2 | ADD='add',
3 | EDIT='edit',
4 | READONLY='readonly',
5 | }
--------------------------------------------------------------------------------
/src/components/useDialog.ts:
--------------------------------------------------------------------------------
1 | import { ref } from "vue";
2 |
3 | export default function useDialog() {
4 | const visible = ref(false);
5 | const loading = ref(false);
6 | const openDialog = () => (visible.value = true);
7 | const closeDialog = () => (visible.value = false);
8 | const openLoading = () => (loading.value = true);
9 | const closeLoading = () => (loading.value = false);
10 | return {
11 | visible,
12 | loading,
13 | openDialog,
14 | closeDialog,
15 | openLoading,
16 | closeLoading,
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/src/components/useDialogState.ts:
--------------------------------------------------------------------------------
1 | import { ref } from "vue";
2 | import { MODE } from "./types";
3 |
4 | export default function useDialogState() {
5 | const mode = ref(MODE.ADD);
6 | const visible = ref(false);
7 | const updateMode = (target: MODE|'add'|'edit'|'readonly') => {
8 | mode.value = target;
9 | };
10 | return { mode, visible, updateMode };
11 | }
12 |
--------------------------------------------------------------------------------
/src/components/useDialogWithForm.ts:
--------------------------------------------------------------------------------
1 | import { FormInstance } from "element-plus";
2 | import { computed, Ref, ref } from "vue";
3 | import useDialogState from "./useDialogState";
4 |
5 | export enum MODE {
6 | ADD='add',
7 | EDIT='edit',
8 | READONLY='readonly',
9 | }
10 |
11 | export default function useDialogFn(
12 | formInstance: Ref
13 | ) {
14 | const { visible, mode, updateMode } = useDialogState();
15 |
16 | const closeDialog = () => {
17 | formInstance.value?.resetFields();
18 | visible.value = false;
19 | };
20 | const openDialog = (target: MODE|'add'|'edit'|'readonly') => {
21 | updateMode(target);
22 | visible.value = true;
23 | formInstance.value?.resetFields();
24 | };
25 |
26 | const modeText = computed(() => {
27 | if (mode.value === 'add') return '添加';
28 | if (mode.value === 'edit') return '编辑';
29 | if (mode.value === 'readonly') return '详情';
30 | });
31 |
32 | return { visible, mode, openDialog, closeDialog, modeText };
33 | }
34 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import ElementPlus from "element-plus";
3 | import "element-plus/dist/index.css";
4 | import App from "./App.vue";
5 | createApp(App).use(ElementPlus).mount('#app')
6 |
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare module '*.vue' {
4 | import type { DefineComponent } from 'vue'
5 | const component: DefineComponent<{}, {}, any>
6 | export default component
7 | }
8 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "module": "ESNext",
6 | "moduleResolution": "Node",
7 | "strict": true,
8 | "jsx": "preserve",
9 | "sourceMap": true,
10 | "resolveJsonModule": true,
11 | "isolatedModules": true,
12 | "esModuleInterop": true,
13 | "lib": ["ESNext", "DOM"],
14 | "skipLibCheck": true
15 | },
16 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
17 | "references": [{ "path": "./tsconfig.node.json" }]
18 | }
19 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["vite.config.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import vue from "@vitejs/plugin-vue";
3 |
4 | export default defineConfig({
5 | plugins: [vue()],
6 | base: "/useDialog/",
7 | });
8 |
--------------------------------------------------------------------------------