├── .gitignore
├── .node-version
├── CHANGELOG.md
├── README.md
├── ads.txt
├── disclaimer.md
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.js
├── src
├── App.jsx
├── css
│ ├── additional-styles
│ │ ├── range-slider.css
│ │ ├── theme.css
│ │ ├── toggle-switch.css
│ │ └── utility-patterns.css
│ ├── style.css
│ └── tailwind.config.js
├── favicon.svg
├── images
│ ├── aisource.png
│ ├── anime-girl-1418451-wallhere.com.jpg
│ ├── botset.png
│ ├── chrome.svg
│ ├── coffee.jpg
│ ├── favicon.png
│ ├── features-bg.png
│ ├── features-chatgpt.jpg
│ ├── features-element.png
│ ├── features-wechat_message.jpg
│ ├── features-wechat_web.jpg
│ ├── firefox.svg
│ ├── group2.jpg
│ ├── group3.jpg
│ ├── hero-image.png
│ ├── join_bg.jpg
│ ├── logo.svg
│ ├── private.jpg
│ ├── testimonial.jpg
│ ├── try.jpg
│ ├── wxzsm.jpg
│ └── zfb.jpg
├── main.jsx
├── pages
│ ├── Discover.tsx
│ └── Home.jsx
├── partials
│ ├── Faq.jsx
│ ├── Features.jsx
│ ├── Footer.jsx
│ ├── Header.jsx
│ ├── HeroHome.jsx
│ ├── Join.jsx
│ ├── Popup.css
│ ├── Popup.jsx
│ ├── Pricing.jsx
│ ├── Pricing2.jsx
│ ├── VideoPlayer.jsx
│ └── websites.json
└── utils
│ ├── Dropdown.jsx
│ ├── Modal.jsx
│ └── Transition.jsx
├── vite.config.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 | *.local
--------------------------------------------------------------------------------
/.node-version:
--------------------------------------------------------------------------------
1 | v18.13.0
2 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # CHANGELOG.md
2 |
3 | ## [1.3.0] - 2022-07-15
4 |
5 | - Update dependencies
6 | - Update React to v18
7 | - Replace Sass with CSS files
8 |
9 | ## [1.1.0] - 2022-01-27
10 |
11 | - Replace CRA (Create React App) with Vite
12 | - Remove Craco
13 | - Update dependencies
14 |
15 | ## [1.0.1] - 2020-10-19
16 |
17 | Fix issue with testimonail image on mobile
18 |
19 | ## [1.0.0] - 2020-10-15
20 |
21 | First release
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ChatGPT for Wechat
2 |
3 | **[ChatGPT for Wechat](https://aow.me)** 一个 `Chrome` 浏览器插件,通过 `ChatGPT` 来自动响应微信私信或群聊中 `@你` 的消息的智能聊天机器人
4 |
5 | 官方网站:👉️ 基于微信网页版开发 [项目网址](https://chatgpt4wechat.aow.me/)
6 |
7 | 插件下载:🤖 最新版本 v2.1.0 [安装地址](https://aow.me/chatgpt4wechat)
8 |
9 | 使用步骤:🙂 [抖音视频](https://www.douyin.com/video/7201829578636053764)、[油管视频](https://www.youtube.com/watch?v=jW3ilDz6syA)
10 |
11 | 功能说明:
12 |
13 | - 支持微信群聊、私聊
14 |
15 | - 支持单个用户的提问频次约束
16 |
17 | - 已接入两种AI源:ChatGPT、OpenAI APIKEY
18 |
19 | - ChatGPT模式支持上下文对话(推荐使用ChatGPT PLUS版本)
20 |
21 | - 支持多群组多人同时提问,消息进队列不阻塞,有序回答
22 |
23 | 其他事项:[用户协议](https://aow.me/tos)、[免责声明](https://aow.me/disclaimer)
24 |
25 | 个人助手版:基于微信文件传输助手开发 [项目网址](https://chatgpt4filehelper.aow.me)、 [安装地址](https://aow.me/chatgpt4filehelper)
26 |
27 | ## Usage
28 |
29 | This project was bootstrapped with [Vite](https://vitejs.dev/).
30 |
31 | ### Project setup
32 | ```
33 | npm install
34 | ```
35 |
36 | #### Compiles and hot-reloads for development
37 | ```
38 | npm run dev
39 | ```
40 |
41 | #### Compiles and minifies for production
42 | ```
43 | npm run build
44 | ```
45 |
--------------------------------------------------------------------------------
/ads.txt:
--------------------------------------------------------------------------------
1 | google.com, pub-5874636604758542, DIRECT, f08c47fec0942fa0
--------------------------------------------------------------------------------
/disclaimer.md:
--------------------------------------------------------------------------------
1 | 免责声明:
2 |
3 | 该插件提供的所有信息和功能仅供参考和娱乐,并不构成任何形式的建议或指导。使用该插件的所有风险由用户自行承担。我们不保证插件提供的信息和功能的准确性、可靠性或适用性。我们不对使用该插件所导致的任何损失或损害负责,包括但不限于因使用该插件而导致的任何直接、间接、特殊、附带或后果性损失或损害,包括因程序漏洞、错误、滞后或其他任何原因而导致的损失或损害。
4 |
5 | 您应该注意,该插件的使用可能会导致不当言论或内容的发布。您应该对在聊天过程中发布的所有内容负责,包括但不限于诽谤、侵犯隐私权、侵犯知识产权等。
6 |
7 | 最后,请注意,该插件可能不适用于某些特定情况或地区。在使用该插件之前,请确保您已经了解了相关的法律和规定,以确保您的行为是合法的。
8 |
9 | 请仔细阅读本免责声明。使用该插件即表示您已经完全理解并同意承担任何风险。如果您不同意这些条款,请不要使用该插件。
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ChatGPT for Wechat, ChatGPT, 微信, 浏览器插件, 聊天机器人
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
23 |
24 |
25 |
26 |
27 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "simple-light-react",
3 | "version": "0.1.0",
4 | "scripts": {
5 | "dev": "vite",
6 | "build": "vite build",
7 | "preview": "vite preview"
8 | },
9 | "dependencies": {
10 | "@tailwindcss/forms": "^0.5.2",
11 | "aos": "^3.0.0-beta.6",
12 | "react": "^18.2.0",
13 | "react-cookie-consent": "^8.0.1",
14 | "react-dom": "^18.2.0",
15 | "react-faq-component": "^1.3.4",
16 | "react-flatpickr": "^3.10.13",
17 | "react-router-dom": "^6.10.0",
18 | "react-transition-group": "^4.4.2",
19 | "sticky-js": "^1.3.0"
20 | },
21 | "devDependencies": {
22 | "@vitejs/plugin-react": "^2.0.0",
23 | "autoprefixer": "^10.4.7",
24 | "postcss": "^8.4.14",
25 | "sass": "^1.53.0",
26 | "tailwindcss": "^3.1.6",
27 | "vite": "^3.0.0",
28 | "vite-plugin-static-copy": "^0.13.1"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | import tailwind from 'tailwindcss'
2 | import autoprefixer from 'autoprefixer'
3 | import tailwindConfig from './src/css/tailwind.config.js'
4 |
5 | export default {
6 | plugins: [tailwind(tailwindConfig), autoprefixer],
7 | }
--------------------------------------------------------------------------------
/src/App.jsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect } from 'react';
2 | import { Routes, Route, Link, useLocation } from 'react-router-dom';
3 | import 'aos/dist/aos.css';
4 | import './css/style.css';
5 | import AOS from 'aos';
6 | import Home from './pages/Home';
7 | import Discover from './pages/Discover';
8 | import Header from './partials/Header'; // 修改为您的 Header 组件的实际路径
9 |
10 |
11 | function App() {
12 | const location = useLocation();
13 |
14 | useEffect(() => {
15 | AOS.init({
16 | once: true,
17 | disable: 'phone',
18 | duration: 700,
19 | easing: 'ease-out-cubic',
20 | });
21 | });
22 |
23 | useEffect(() => {
24 | document.querySelector('html').style.scrollBehavior = 'auto';
25 | window.scroll({ top: 0 });
26 | document.querySelector('html').style.scrollBehavior = '';
27 | }, [location.pathname]);
28 |
29 | return (
30 | <>
31 | {/* 添加导航链接 */}
32 |
33 |
34 | {/* 配置路由 */}
35 |
36 | } />
37 | } />
38 |
39 | >
40 | );
41 | }
42 |
43 | export default App;
44 |
--------------------------------------------------------------------------------
/src/css/additional-styles/range-slider.css:
--------------------------------------------------------------------------------
1 | /* Range slider */
2 | :root {
3 | --range-thumb-size: 36px;
4 | }
5 |
6 | input[type=range] {
7 | appearance: none;
8 | background: #ccc;
9 | border-radius: 3px;
10 | height: 6px;
11 | margin-top: (--range-thumb-size - 6px) * 0.5;
12 | margin-bottom: (--range-thumb-size - 6px) * 0.5;
13 | --thumb-size: #{--range-thumb-size};
14 | }
15 |
16 | input[type=range]::-webkit-slider-thumb {
17 | appearance: none;
18 | -webkit-appearance: none;
19 | background-color: #000;
20 | background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .5v7L12 4zM0 4l4 3.5v-7z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E");
21 | background-position: center;
22 | background-repeat: no-repeat;
23 | border: 0;
24 | border-radius: 50%;
25 | cursor: pointer;
26 | height: --range-thumb-size;
27 | width: --range-thumb-size;
28 | }
29 |
30 | input[type=range]::-moz-range-thumb {
31 | background-color: #000;
32 | background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .5v7L12 4zM0 4l4 3.5v-7z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E");
33 | background-position: center;
34 | background-repeat: no-repeat;
35 | border: 0;
36 | border: none;
37 | border-radius: 50%;
38 | cursor: pointer;
39 | height: --range-thumb-size;
40 | width: --range-thumb-size;
41 | }
42 |
43 | input[type=range]::-ms-thumb {
44 | background-color: #000;
45 | background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .5v7L12 4zM0 4l4 3.5v-7z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E");
46 | background-position: center;
47 | background-repeat: no-repeat;
48 | border: 0;
49 | border-radius: 50%;
50 | cursor: pointer;
51 | height: --range-thumb-size;
52 | width: --range-thumb-size;
53 | }
54 |
55 | input[type=range]::-moz-focus-outer {
56 | border: 0;
57 | }
--------------------------------------------------------------------------------
/src/css/additional-styles/theme.css:
--------------------------------------------------------------------------------
1 | html {
2 | scroll-behavior: smooth;
3 | }
4 |
5 | .form-input:focus,
6 | .form-textarea:focus,
7 | .form-multiselect:focus,
8 | .form-select:focus,
9 | .form-checkbox:focus,
10 | .form-radio:focus {
11 | @apply ring-0;
12 | }
13 |
14 | /* Hamburger button */
15 | .hamburger svg>*:nth-child(1),
16 | .hamburger svg>*:nth-child(2),
17 | .hamburger svg>*:nth-child(3) {
18 | transform-origin: center;
19 | transform: rotate(0deg);
20 | }
21 |
22 | .hamburger svg>*:nth-child(1) {
23 | transition: y 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 0.1s ease-in;
24 | }
25 |
26 | .hamburger svg>*:nth-child(2) {
27 | transition: transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
28 | }
29 |
30 | .hamburger svg>*:nth-child(3) {
31 | transition: y 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), width 0.1s 0.25s ease-in;
32 | }
33 |
34 | .hamburger.active svg>*:nth-child(1) {
35 | opacity: 0;
36 | y: 11;
37 | transform: rotate(225deg);
38 | transition: y 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.1s 0.12s ease-out;
39 | }
40 |
41 | .hamburger.active svg>*:nth-child(2) {
42 | transform: rotate(225deg);
43 | transition: transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
44 | }
45 |
46 | .hamburger.active svg>*:nth-child(3) {
47 | y: 11;
48 | transform: rotate(135deg);
49 | transition: y 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), width 0.1s ease-out;
50 | }
51 |
52 | /* Pulsing animation */
53 | @keyframes pulseLoop {
54 | 0% { opacity: .15; transform: scale(1) translateZ(0); }
55 | 30% { opacity: .15; }
56 | 60% { opacity: 0; }
57 | 80% { opacity: 0; transform: scale(1.8) translateZ(0); }
58 | }
59 | @keyframes pulseMiniLoop {
60 | 0% { opacity: 0; transform: scale(1) translateZ(0); }
61 | 30% { opacity: .3; }
62 | 50% { opacity: .3; }
63 | 80% { opacity: 0; transform: scale(3) translateZ(0); }
64 | }
65 | .pulse {
66 | transform: scale(1);
67 | opacity: 0;
68 | transform-origin: center;
69 | animation: pulseLoop 10000ms linear infinite;
70 | }
71 | .pulse-mini {
72 | animation: pulseMiniLoop 6000ms linear infinite;
73 | }
74 | .pulse-1 {
75 | animation-delay: -3000ms;
76 | }
77 | .pulse-2 {
78 | animation-delay: -6000ms;
79 | }
80 |
81 | /* Animations delay */
82 | .animation-delay-500 {
83 | animation-delay: 500ms !important;
84 | }
85 |
86 | .animation-delay-1000 {
87 | animation-delay: 1000ms !important;
88 | }
89 |
90 | .translate-z-0 {
91 | transform: translateZ(0);
92 | }
93 |
94 | /* Custom AOS animations */
95 | [data-aos="zoom-y-out"] {
96 | transform: scaleX(1.03);
97 | opacity: 0;
98 | transition-property: transform, opacity;
99 | }
100 |
101 | @media screen {
102 | html:not(.no-js) [data-aos=fade-up] {
103 | -webkit-transform: translate3d(0, 10px, 0);
104 | transform: translate3d(0, 10px, 0);
105 | }
106 |
107 | html:not(.no-js) [data-aos=fade-down] {
108 | -webkit-transform: translate3d(0, -10px, 0);
109 | transform: translate3d(0, -10px, 0);
110 | }
111 |
112 | html:not(.no-js) [data-aos=fade-right] {
113 | -webkit-transform: translate3d(-10px, 0, 0);
114 | transform: translate3d(-10px, 0, 0);
115 | }
116 |
117 | html:not(.no-js) [data-aos=fade-left] {
118 | -webkit-transform: translate3d(10px, 0, 0);
119 | transform: translate3d(10px, 0, 0);
120 | }
121 |
122 | html:not(.no-js) [data-aos=fade-up-right] {
123 | -webkit-transform: translate3d(-10px, 10px, 0);
124 | transform: translate3d(-10px, 10px, 0);
125 | }
126 |
127 | html:not(.no-js) [data-aos=fade-up-left] {
128 | -webkit-transform: translate3d(10px, 10px, 0);
129 | transform: translate3d(10px, 10px, 0);
130 | }
131 |
132 | html:not(.no-js) [data-aos=fade-down-right] {
133 | -webkit-transform: translate3d(-10px, -10px, 0);
134 | transform: translate3d(-10px, -10px, 0);
135 | }
136 |
137 | html:not(.no-js) [data-aos=fade-down-left] {
138 | -webkit-transform: translate3d(10px, -10px, 0);
139 | transform: translate3d(10px, -10px, 0);
140 | }
141 |
142 | html:not(.no-js) [data-aos=zoom-in-up] {
143 | -webkit-transform: translate3d(0, 10px, 0) scale(.6);
144 | transform: translate3d(0, 10px, 0) scale(.6);
145 | }
146 |
147 | html:not(.no-js) [data-aos=zoom-in-down] {
148 | -webkit-transform: translate3d(0, -10px, 0) scale(.6);
149 | transform: translate3d(0, -10px, 0) scale(.6);
150 | }
151 |
152 | html:not(.no-js) [data-aos=zoom-in-right] {
153 | -webkit-transform: translate3d(-10px, 0, 0) scale(.6);
154 | transform: translate3d(-10px, 0, 0) scale(.6);
155 | }
156 |
157 | html:not(.no-js) [data-aos=zoom-in-left] {
158 | -webkit-transform: translate3d(10px, 0, 0) scale(.6);
159 | transform: translate3d(10px, 0, 0) scale(.6);
160 | }
161 |
162 | html:not(.no-js) [data-aos=zoom-out-up] {
163 | -webkit-transform: translate3d(0, 10px, 0) scale(1.2);
164 | transform: translate3d(0, 10px, 0) scale(1.2);
165 | }
166 |
167 | html:not(.no-js) [data-aos=zoom-out-down] {
168 | -webkit-transform: translate3d(0, -10px, 0) scale(1.2);
169 | transform: translate3d(0, -10px, 0) scale(1.2);
170 | }
171 |
172 | html:not(.no-js) [data-aos=zoom-out-right] {
173 | -webkit-transform: translate3d(-10px, 0, 0) scale(1.2);
174 | transform: translate3d(-10px, 0, 0) scale(1.2);
175 | }
176 |
177 | html:not(.no-js) [data-aos=zoom-out-left] {
178 | -webkit-transform: translate3d(10px, 0, 0) scale(1.2);
179 | transform: translate3d(10px, 0, 0) scale(1.2);
180 | }
181 | }
--------------------------------------------------------------------------------
/src/css/additional-styles/toggle-switch.css:
--------------------------------------------------------------------------------
1 | /* Switch element */
2 | .form-switch {
3 | @apply relative select-none;
4 | width: 68px;
5 | }
6 |
7 | .form-switch label {
8 | @apply block overflow-hidden cursor-pointer rounded;
9 | height: 38px;
10 | }
11 |
12 | .form-switch label>span:first-child {
13 | @apply absolute block rounded shadow;
14 | width: 30px;
15 | height: 30px;
16 | top: 4px;
17 | left: 4px;
18 | right: 50%;
19 | transition: all .15s ease-out;
20 | }
21 |
22 | .form-switch input[type="checkbox"]:checked+label {
23 | @apply bg-blue-600;
24 | }
25 |
26 | .form-switch input[type="checkbox"]:checked+label>span:first-child {
27 | left: 34px;
28 | }
29 |
--------------------------------------------------------------------------------
/src/css/additional-styles/utility-patterns.css:
--------------------------------------------------------------------------------
1 | /* Typography */
2 | .h1 {
3 | @apply text-4xl font-extrabold leading-tight tracking-tighter;
4 | }
5 |
6 | .h2 {
7 | @apply text-3xl font-extrabold leading-tight tracking-tighter;
8 | }
9 |
10 | .h3 {
11 | @apply text-3xl font-bold leading-tight;
12 | }
13 |
14 | .h4 {
15 | @apply text-2xl font-bold leading-snug tracking-tight;
16 | }
17 |
18 | @screen md {
19 | .h1 {
20 | @apply text-5xl;
21 | }
22 |
23 | .h2 {
24 | @apply text-4xl;
25 | }
26 | }
27 |
28 | /* Buttons */
29 | .btn,
30 | .btn-sm {
31 | @apply font-medium inline-flex items-center justify-center border border-transparent rounded leading-snug transition duration-150 ease-in-out;
32 | }
33 |
34 | .btn {
35 | @apply px-8 py-3 shadow-lg;
36 | }
37 |
38 | .btn-sm {
39 | @apply px-4 py-2 shadow;
40 | }
41 |
42 | /* Forms */
43 | .form-input,
44 | .form-textarea,
45 | .form-multiselect,
46 | .form-select,
47 | .form-checkbox,
48 | .form-radio {
49 | @apply bg-white border border-gray-300 focus:border-gray-500;
50 | }
51 |
52 | .form-input,
53 | .form-textarea,
54 | .form-multiselect,
55 | .form-select,
56 | .form-checkbox {
57 | @apply rounded;
58 | }
59 |
60 | .form-input,
61 | .form-textarea,
62 | .form-multiselect,
63 | .form-select {
64 | @apply py-3 px-4;
65 | }
66 |
67 | .form-input,
68 | .form-textarea {
69 | @apply placeholder-gray-500;
70 | }
71 |
72 | .form-select {
73 | @apply pr-10;
74 | }
75 |
76 | .form-checkbox,
77 | .form-radio {
78 | @apply text-gray-800 rounded-sm;
79 | }
--------------------------------------------------------------------------------
/src/css/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700;800;900&display=fallback');
2 |
3 | @import 'tailwindcss/base';
4 | @import 'tailwindcss/components';
5 |
6 | /* Additional styles */
7 | @import 'additional-styles/utility-patterns.css';
8 | @import 'additional-styles/range-slider.css';
9 | @import 'additional-styles/toggle-switch.css';
10 | @import 'additional-styles/theme.css';
11 |
12 | @import 'tailwindcss/utilities';
13 |
14 | /* Additional Tailwind directives: https://tailwindcss.com/docs/functions-and-directives/#responsive */
15 | @layer utilities {
16 | .rtl {
17 | direction: rtl;
18 | }
19 | }
20 |
21 | /* See Alpine.js: https://github.com/alpinejs/alpine#x-cloak */
22 | [x-cloak=""] {
23 | display: none;
24 | }
25 |
26 | .bg-primary {
27 | background-color: #338CF5;
28 | }
29 |
30 | .text-primary {
31 | color: #338CF5;
32 | }
--------------------------------------------------------------------------------
/src/css/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | content: [
3 | './index.html',
4 | './src/**/*.{js,jsx,ts,tsx}',
5 | ],
6 | theme: {
7 | extend: {
8 | colors: {
9 | current: '#338CF5',
10 | gray: {
11 | 100: '#FBFBFB',
12 | 200: '#EAEAEA',
13 | 300: '#DFDFDF',
14 | 400: '#999999',
15 | 500: '#7F7F7F',
16 | 600: '#666666',
17 | 700: '#4C4C4C',
18 | 800: '#333333',
19 | 900: '#191919',
20 | },
21 | blue: {
22 | 100: '#E6F0FD',
23 | 200: '#CCE2FC',
24 | 300: '#99C5FA',
25 | 400: '#66A9F7',
26 | 500: '#338CF5',
27 | 600: '#0070F4',
28 | 700: '#0064DA',
29 | 800: '#0059C2',
30 | 900: '#004391',
31 | },
32 | teal: {
33 | 100: '#E6FFFA',
34 | 200: '#B2F5EA',
35 | 300: '#81E6D9',
36 | 400: '#4FD1C5',
37 | 500: '#3ABAB4',
38 | 600: '#319795',
39 | 700: '#2C7A7B',
40 | 800: '#285E61',
41 | 900: '#234E52',
42 | },
43 | },
44 | boxShadow: {
45 | xs: '0 0 0 1px rgba(0, 0, 0, 0.16)',
46 | sm: '0 1px 2px 0 rgba(0, 0, 0, 0.16)',
47 | default: '0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.03)',
48 | md: '0 4px 6px -1px rgba(0, 0, 0, 0.04), 0 2px 4px -1px rgba(0, 0, 0, 0.03)',
49 | lg: '0 10px 15px -3px rgba(0, 0, 0, 0.04), 0 4px 6px -2px rgba(0, 0, 0, 0.02)',
50 | xl: '0 20px 25px -5px rgba(0, 0, 0, 0.12), 0 10px 10px -5px rgba(0, 0, 0, 0.02)',
51 | '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.15)',
52 | inner: 'inset 0 2px 4px 0 rgba(0, 0, 0, 0.04)',
53 | outline: '0 0 0 3px rgba(66, 153, 225, 0.5)',
54 | none: 'none',
55 | },
56 | spacing: {
57 | '9/16': '56.25%',
58 | '3/4': '75%',
59 | '1/1': '100%',
60 | },
61 | fontFamily: {
62 | inter: ['Inter', 'sans-serif']
63 | },
64 | fontSize: {
65 | xs: '0.75rem',
66 | sm: '0.875rem',
67 | base: '1rem',
68 | lg: '1.125rem',
69 | xl: '1.25rem',
70 | '2xl': '1.5rem',
71 | '3xl': '2rem',
72 | '4xl': '2.625rem',
73 | '5xl': '3.25rem',
74 | '6xl': '5.5rem',
75 | },
76 | inset: {
77 | '1/2': '50%',
78 | 'full': '100%',
79 | },
80 | letterSpacing: {
81 | tighter: '-0.02em',
82 | tight: '-0.01em',
83 | normal: '0',
84 | wide: '0.01em',
85 | wider: '0.02em',
86 | widest: '0.4em',
87 | },
88 | lineHeight: {
89 | none: '1',
90 | tighter: '1.125',
91 | tight: '1.25',
92 | snug: '1.375',
93 | normal: '1.5',
94 | relaxed: '1.625',
95 | loose: '2',
96 | '3': '.75rem',
97 | '4': '1rem',
98 | '5': '1.2rem',
99 | '6': '1.5rem',
100 | '7': '1.75rem',
101 | '8': '2rem',
102 | '9': '2.25rem',
103 | '10': '2.5rem',
104 | },
105 | minWidth: {
106 | '10': '2.5rem',
107 | '48': '12rem',
108 | },
109 | opacity: {
110 | '90': '0.9',
111 | },
112 | scale: {
113 | '98': '.98'
114 | },
115 | animation: {
116 | float: 'float 3s ease-in-out infinite',
117 | },
118 | keyframes: {
119 | float: {
120 | '0%, 100%': { transform: 'translateY(0)', },
121 | '50%': { transform: 'translateY(-5%)', },
122 | },
123 | },
124 | zIndex: {
125 | '-1': '-1',
126 | },
127 | },
128 | },
129 | variants: {
130 | backgroundColor: ['responsive', 'hover', 'focus', 'group-hover'],
131 | textColor: ['responsive', 'hover', 'focus', 'group-hover'],
132 | translate: ['responsive', 'hover', 'focus', 'group-hover'],
133 | boxShadow: ['responsive', 'hover', 'focus', 'focus-within'],
134 | opacity: ['responsive', 'hover', 'focus', 'group-hover'],
135 | },
136 | plugins: [
137 | require('@tailwindcss/forms'),
138 | ],
139 | };
140 |
--------------------------------------------------------------------------------
/src/favicon.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/src/images/aisource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/aisource.png
--------------------------------------------------------------------------------
/src/images/anime-girl-1418451-wallhere.com.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/anime-girl-1418451-wallhere.com.jpg
--------------------------------------------------------------------------------
/src/images/botset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/botset.png
--------------------------------------------------------------------------------
/src/images/chrome.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/images/coffee.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/coffee.jpg
--------------------------------------------------------------------------------
/src/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/favicon.png
--------------------------------------------------------------------------------
/src/images/features-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/features-bg.png
--------------------------------------------------------------------------------
/src/images/features-chatgpt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/features-chatgpt.jpg
--------------------------------------------------------------------------------
/src/images/features-element.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/features-element.png
--------------------------------------------------------------------------------
/src/images/features-wechat_message.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/features-wechat_message.jpg
--------------------------------------------------------------------------------
/src/images/features-wechat_web.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/features-wechat_web.jpg
--------------------------------------------------------------------------------
/src/images/firefox.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/images/group2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/group2.jpg
--------------------------------------------------------------------------------
/src/images/group3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/group3.jpg
--------------------------------------------------------------------------------
/src/images/hero-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/hero-image.png
--------------------------------------------------------------------------------
/src/images/join_bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/join_bg.jpg
--------------------------------------------------------------------------------
/src/images/logo.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/src/images/private.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/private.jpg
--------------------------------------------------------------------------------
/src/images/testimonial.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/testimonial.jpg
--------------------------------------------------------------------------------
/src/images/try.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/try.jpg
--------------------------------------------------------------------------------
/src/images/wxzsm.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/wxzsm.jpg
--------------------------------------------------------------------------------
/src/images/zfb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1cloudy/chatgpt-wechat-landing-page/65e607bdd6f83ce2d95c5c755c75e812ff053545/src/images/zfb.jpg
--------------------------------------------------------------------------------
/src/main.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom/client';
3 | import { HashRouter as Router } from 'react-router-dom';
4 | import App from './App';
5 |
6 | ReactDOM.createRoot(document.getElementById('root')).render(
7 |
8 |
9 |
10 |
11 |
12 | );
13 |
--------------------------------------------------------------------------------
/src/pages/Discover.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import websites from "../partials/websites.json";
3 |
4 | function Discover() {
5 | return (
6 |
7 |
8 | Discover
9 |
10 |
11 | 发现更多有趣的机器人
12 |
13 |
14 |
15 | {websites.map(({ title, items }, siteIndex) => (
16 |
17 |
{title}
18 |
19 |
55 |
56 | ))}
57 |
58 |
59 | );
60 | }
61 |
62 | export default Discover;
63 |
--------------------------------------------------------------------------------
/src/pages/Home.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import Header from '../partials/Header';
4 | import HeroHome from '../partials/HeroHome';
5 | import FeaturesHome from '../partials/Features';
6 | import Footer from '../partials/Footer';
7 | import Join from '../partials/Join';
8 | import FAQ from '../partials/Faq';
9 | import PricingTable from '../partials/Pricing';
10 | import Pricing2 from '../partials/Pricing2';
11 | import Popup from '../partials/Popup';
12 | import ReactDOM from 'react-dom';
13 | import VideoPlayer from '../partials/VideoPlayer';
14 |
15 | function Home() {
16 | return (
17 |
18 | {/* Page content */}
19 |
20 |
21 | {/* Page sections */}
22 |
23 |
24 |
25 | {/* */}
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | {/* Site footer */}
35 |
36 |
37 | );
38 | }
39 |
40 | export default Home;
--------------------------------------------------------------------------------
/src/partials/Faq.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Faq from "react-faq-component";
3 |
4 | const data = {
5 | rows: [
6 | {
7 | title: (
8 |
9 | ChatGPT 是什么?
10 |
11 | ),
12 | content: (
13 |
14 |
ChatGPT 是由 OpenAI 开发的一种大型自然语言处理(NLP)模型
15 |
16 | -
17 | 1.
18 | 可以回答关于各种话题的问题,例如历史、科学、文化等。它可以提供相关的信息和细节,并且能够根据上下文作出适当的回应。
19 |
20 | -
21 | 2.
22 | 可以参与自然对话,即能够与人类进行多轮交流,并作出相应的回应。它可以通过文本或语音与人类交流,并理解他们的意图,从而使对话更加流畅自然。
23 |
24 | -
25 | 3.
26 | 可以提供建议和帮助,例如在人类面临某些问题或困难时,它可以提供可行的解决方案。它可以理解人类的需求,并根据他们的问题提供适当的帮助。
27 |
28 | -
29 | 4.
30 | 可以作为学习工具,即人类可以通过与它交流来提高他们的语言能力和知识水平。它可以提供丰富的信息和知识,并且能够持续不断地学习和更新,从而为人类提供更多的学习机会。
31 |
32 | -
33 | 5.
34 | 可以作为客服或人工智能助手使用,即能够与人类进行交流,并帮助他们解决问题。它可以用于提供客户服务或帮助人们完成日常任务,从而提高工作效率和满意度。
35 |
36 |
37 |
38 | ),
39 | },
40 | {
41 | title: (
42 |
43 | 这个插件可以用来做什么?
44 |
45 | ),
46 | content: (
47 |
48 | 这个插件可以帮助你快速搭建一个基于微信聊天的智能应答机器人,不需要任何服务器资源,只需要登录微信网页版页面和
49 | ChatGPT 页面(推荐)或配置
50 | OpenAI apikey 即可。
51 |
52 | ),
53 | },
54 | {
55 | title: (
56 |
57 | 使用这个插件我该注意点什么?
58 |
59 | ),
60 | content: (
61 |
62 |
63 | -
64 | 1. 使用本插件前,请您仔细阅读本插件
65 |
70 | 用户协议
71 |
72 | 和
73 |
78 | 免责声明
79 |
80 | ,如果您不同意该协议或声明,请立即卸载或删除本插件。
81 |
82 | -
83 | 2.
84 | 本插件仅供个人使用,不得用于任何商业用途,包括但不限于付费微信群、企业微信群等。如果您需要商业使用本插件,请联系我们进行授权。联系方式:
85 |
86 | contact@aow.me
87 |
88 |
89 | -
90 | 3.
91 | 本插件仅提供功能增强和便利性,我们不对插件使用过程中产生的任何问题和损失承担责任。
92 |
93 | -
94 | 4.
95 | 本插件的版权归AOW.ME所有。未经许可,不得对插件进行修改、复制、分发或销售。
96 |
97 | - 5. 我们有权在必要时修改插件的功能、界面、使用方式等内容。
98 | -
99 | 6. 如果您对本插件有任何使用建议,请发送邮件告知我们{" "}
100 |
101 | feedback@aow.me
102 |
103 | 。
104 |
105 |
106 |
107 | ),
108 | },
109 | {
110 | title: (
111 |
112 | 使用插件时,显示“ChatGPT 网页链接异常"
113 |
114 | ),
115 | content: (
116 |
117 | 如果你在使用插件时出现这个提示:
118 |
119 | “ChatGPT 网页链接异常”,错误信息:CloudFlare
120 |
121 | 请选择使用API源。添加你的API-Key,继续使用。
122 |
{" "}
123 | 同时,请注意:群聊版插件仅可以在客户端请求时响应,比如在手机微信中@登录微信昵称。
124 |
125 | ),
126 | },
127 |
128 | {
129 | title: (
130 |
131 | 微信网页版无法登录怎么办?
132 |
133 | ),
134 | content: (
135 |
136 | 如果你在访问微信网页版时出现这个提示:
137 |
138 | “为了保障你的帐号安全,暂不支持使用网页版微信。你可以前往微信官网
139 | https://weixin.qq.com/ 下载客户端登录。”
140 |
141 | 。
142 | 请按照以下步骤操作:
143 |
163 |
164 | ),
165 | },
166 | {
167 | title: (
168 |
169 | 为什么@机器人,但是没有任何响应?
170 |
171 | ),
172 | content: (
173 |
174 |
175 | -
176 | 1. 请在 Chrome 浏览器导航栏找到本插件的图标,点击图标,看弹窗中的
177 | ChatGPT
178 | 页面是否处于登录状态。如果未登录,请尝试多点击几次插件图标。
179 |
180 | -
181 | 2.
182 | 插件对提问字数做了限制,问题内容(不包括@昵称)需要超过2个字符才会触发
183 | ChatGPT 的响应。
184 |
185 | -
186 | 3.
187 | 检查自己的微信昵称中是否存在表情符号或其他特殊字符,如果存在请修改为简单的昵称,建议只用数字、字母或中文,修改完毕后刷新微信网页版页面。
188 |
189 |
190 |
191 | ),
192 | },
193 | {
194 | title: (
195 |
196 | 为什么@机器人的消息要好久才收到,感觉响应很慢?
197 |
198 | ),
199 | content: (
200 |
201 | 因为 ChatGPT
202 | 的响应是异步数据流,在网页上可以实时刷新数据流响应,但在微信消息中只能等收到完整结果后一次发送,所以体验上感觉会有30秒左右的延迟,具体视
203 | ChatGPT 的响应内容多少而定,这是正常现象。
204 |
205 | ),
206 | },
207 | {
208 | title: (
209 |
210 | 为什么会收到“抱歉,ChatGPT 服务异常”的消息?
211 |
212 | ),
213 | content: (
214 |
215 |
以下几种情况可能导致返回上面的错误提示:
216 |
217 | -
218 | 1. 因为 ChatGPT 加了 Cloudflare 保护,每隔2小时需要刷新一下
219 | ChatGPT 页面,如果用户提问后收到上述错误提示,说明
220 |
221 | https://chat.openai.com/chat
222 |
223 | 页面需要刷新或重新登录。
224 |
225 | -
226 | 2. 因为 ChatGPT
227 | 的并发限制,一次只能发送一条消息。请在发送另一条消息之前等待其他问题的响应完成,或者等待一分钟。
228 |
229 | -
230 | 3. 因为 ChatGPT 自身的服务异常,导致请求出错或网络错误等原因。
231 |
232 | -
233 | 4. 因为网络原因,如使用 VPN、加速器等导致频繁出现 Cloudflare
234 | 错误,需自行解决。
235 |
236 |
237 |
238 | ),
239 | },
240 | ],
241 | };
242 |
243 | export default function FAQ() {
244 | return (
245 |
246 |
247 | {/* Section header */}
248 |
249 |
常见问题
250 |
251 |
252 | {/* Section content */}
253 |
254 |
255 |
256 |
257 |
258 | );
259 | }
260 |
--------------------------------------------------------------------------------
/src/partials/Features.jsx:
--------------------------------------------------------------------------------
1 | import React, { useState, useRef, useEffect } from "react";
2 | import Transition from "../utils/Transition";
3 |
4 | import FeaturesBg1 from '../images/aisource.png';
5 | import FeaturesBg2 from '../images/botset.png';
6 | import FeaturesBg3 from '../images/features-wechat_message.jpg';
7 |
8 | function Features() {
9 | const [tab, setTab] = useState(1);
10 |
11 | const tabs = useRef(null);
12 |
13 | const heightFix = () => {
14 | if (tabs.current.children[tab]) {
15 | tabs.current.style.height =
16 | tabs.current.children[tab - 1].offsetHeight + "px";
17 | }
18 | };
19 |
20 | useEffect(() => {
21 | heightFix();
22 | // eslint-disable-next-line react-hooks/exhaustive-deps
23 | }, [tab]);
24 |
25 | return (
26 |
27 | {/* Section background (needs .relative class on parent and next sibling elements) */}
28 |
32 |
33 |
34 | {/* Section header */}
35 |
36 |
如何使用
37 |
38 |
39 | {/* Section content */}
40 |
41 | {/* Content */}
42 |
46 | {/* Tabs buttons */}
47 |
48 |
{
56 | e.preventDefault();
57 | setTab(1);
58 | }}
59 | >
60 |
61 |
1. 安装插件,配置AI源
62 |
已支持AI源:ChatGPT、Google Bard;使用AI源,需要打开AI源的网站并保持登录状态
63 |
64 |
65 |
{
73 | e.preventDefault();
74 | setTab(2);
75 | }}
76 | >
77 |
78 |
2. 设置 bot 参数
79 |
根据需要设置参数,bot默认开启状态。设置完成后点击插件小图标,查看连接状态。
80 |
81 |
82 |
{
90 | e.preventDefault();
91 | setTab(3);
92 | }}
93 | >
94 |
95 |
3. 触发 ChatGPT 应答微信消息
96 |
97 |
98 |
99 |
100 |
101 |
102 | {/* Tabs items */}
103 |
108 |
109 | {/* Item 1 */}
110 |
121 |
122 |

129 |
130 |
131 | {/* Item 2 */}
132 |
143 |
144 |

151 |
152 |
153 | {/* Item 3 */}
154 |
165 |
166 |

173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 | );
181 | }
182 |
183 | export default Features;
184 |
--------------------------------------------------------------------------------
/src/partials/Footer.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | function Footer() {
4 | return (
5 |
85 | );
86 | }
87 |
88 | export default Footer;
89 |
--------------------------------------------------------------------------------
/src/partials/Header.jsx:
--------------------------------------------------------------------------------
1 | import React, { useState, useEffect } from 'react';
2 | import { Link } from 'react-router-dom';
3 |
4 | function Header() {
5 |
6 | const [top, setTop] = useState(true);
7 |
8 | // detect whether user has scrolled the page down by 10px
9 | useEffect(() => {
10 | const scrollHandler = () => {
11 | window.pageYOffset > 10 ? setTop(false) : setTop(true)
12 | };
13 | window.addEventListener('scroll', scrollHandler);
14 | return () => window.removeEventListener('scroll', scrollHandler);
15 | }, [top]);
16 |
17 | return (
18 |
19 |
20 |
21 |
22 | {/* Site branding */}
23 |
24 | {/* Logo */}
25 |
26 |
40 |
41 |
42 |
43 | {/* Site navigation */}
44 |
60 |
61 |
62 |
63 | );
64 | }
65 |
66 | export default Header;
67 |
--------------------------------------------------------------------------------
/src/partials/HeroHome.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import CoffeeImage from "../images/coffee.jpg";
3 | import ChromeIcon from '../images/chrome.svg';
4 |
5 | function HeroHome() {
6 | return (
7 |
8 |
9 | {/* Illustration behind hero content */}
10 |
11 |
24 |
25 |
26 |
27 |
28 | {/* Hero content */}
29 |
30 |
31 |
32 | 无 ChatGPT 账号,在本站体验 ChatGPT 版本即将上线!开发者coding····
33 |
34 |
35 | {/* Section header */}
36 |
37 |
ChatGPT for Wechat
38 |
39 |
一个 Chrome 浏览器插件,通过 ChatGPT 来自动响应微信私信、群聊、文件传输助手中 @你 的消息的智能聊天机器人
40 |
49 |
50 |
51 |
52 |
53 |
54 | );
55 | }
56 |
57 | export default HeroHome;
58 |
--------------------------------------------------------------------------------
/src/partials/Join.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import PrivateImage from "../images/private.jpg";
3 | import GroupImage from "../images/group3.jpg";
4 | import TryImage from "../images/try.jpg";
5 | import WeChatPayImage from "../images/wxzsm.jpg";
6 | import AliPayImage from "../images/zfb.jpg";
7 |
8 | export default function Join() {
9 | return (
10 |
11 |
12 | {/* Section header */}
13 |
14 |
加入社群
15 |
16 |
17 | {/* Section content */}
18 |
19 |
20 |
21 |

29 |
插件问题交流群
30 |
31 |
32 |

40 |
插件支持[免费用户需先打赏再咨询]
41 |
42 |
43 |

51 |
支持开发者
52 |
53 |
54 |
55 |
56 |
57 | );
58 | }
59 |
--------------------------------------------------------------------------------
/src/partials/Popup.css:
--------------------------------------------------------------------------------
1 | .CookieConsent {
2 | max-width: 500px;
3 | border-radius: 5px;
4 | padding: 20px 30px;
5 | background-color: white;
6 | position: fixed;
7 | top: 50%;
8 | left: 50%;
9 | right: auto;
10 | bottom: auto;
11 | transform: translate3d(-50%, -50%, 9999990px);
12 | width: 95%;
13 | box-shadow: 0 3px 10px rgba(0,0,0,0.1);
14 | }
15 |
16 | .overlayclass {
17 | position: fixed;
18 | background-color: rgba(0,0,0,0.5);
19 | top: 0;
20 | left: 0;
21 | width: 100%;
22 | height: 100%;
23 | }
--------------------------------------------------------------------------------
/src/partials/Popup.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "./Popup.css";
3 | // Option
4 | import CookieConsent from "react-cookie-consent";
5 |
6 | const Popup = () => {
7 | return (
8 |
9 | {/* option */}
10 |
23 | 在使用本插件前,请您仔细阅读本插件用户协议及免责声明。如果您不同意用户协议和免责声明中的任意内容,请不要安装本插件。如果您对相关条款有疑问,请通过contact@aow.me与我们取得联系,我们将向您解释条款内容。感谢您的理解和支持!
24 |
25 |
26 | );
27 | };
28 |
29 | export default Popup;
--------------------------------------------------------------------------------
/src/partials/Pricing.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | const FeatureItem = ({ title, selected }) => {
4 | return (
5 |
6 |
18 |
19 |
20 | {title}
21 |
22 |
23 | );
24 | };
25 |
26 | const pricingTable = [
27 | {
28 | name: "Basic",
29 | price: "Free",
30 | description: "基础版",
31 | features: [
32 | "支持ChatGPT 网页端",
33 | "🌟 支持Goolge Bard 【推荐】",
34 | "单用户提问 10分钟10次",
35 | "单群组提问 1天50次",
36 | "入群欢迎语",
37 | "一键开启bot"
38 | ],
39 | },
40 | {
41 | name: "Pro",
42 | price: "¥79",
43 | description: "专业版",
44 | features: [
45 | "🌟 支持ChatGPT API",
46 | "🌟 自定义AI身份/角色",
47 | "🌟 用户提问无限制",
48 | "🌟 群组提问无限制",
49 | "🌟 管理队列积压告警阈值",
50 | "🌟 私聊直接触发",
51 | "License 可激活3次",
52 | ],
53 | },
54 | {
55 | name: "Max",
56 | price: "¥199",
57 | description: "高级版",
58 | features: [
59 | "含 Pro 版本所有功能",
60 | "🌟 支持自定义代理服务器",
61 | "License 可激活3次",
62 | ],
63 | },
64 | ];
65 |
66 | const PlanButton = ({ url, bgColor, hoverColor, text }) => (
67 |
76 | );
77 |
78 | const PricingTable = () => (
79 |
80 |
81 |
82 |
更多选择
83 |
84 | 升级必看
85 |
86 |
87 |
88 |
89 | {pricingTable.map((item, index) => {
90 | const isProPlan = item.name === "Pro";
91 | const cardClass = `px-6 py-4 transition-colors duration-200 transform rounded-lg ${
92 | isProPlan
93 | ? "bg-purple-500 text-gray-100"
94 | : "bg-gray-200 text-gray-800 " + item.name.toLowerCase()
95 | } hover:bg-purple-300 hover:text-gray-900 dark:hover:bg-purple-300 dark:hover:text-gray-900`;
96 | const order = isProPlan ? 2 : index;
97 | return (
98 |
99 |
100 |
101 | {item.name}
102 |
103 |
104 | {item.price}
105 | {(item.name === "Max") && (
106 | /季
107 | )}
108 | {(item.name === "Pro") && (
109 | /月
110 | )}
111 |
112 |
113 |
{item.description}
114 |
115 |
116 | {item.features.map((feature) => {
117 | return (
118 |
123 | );
124 | })}
125 |
126 |
127 | {item.name === "Basic" && (
128 |
134 | )}
135 |
136 | {isProPlan && (
137 |
143 | )}
144 |
145 | {item.name === "Max" && (
146 |
152 | )}
153 |
154 | );
155 | })}
156 |
157 |
158 |
159 | );
160 | export default PricingTable;
161 |
--------------------------------------------------------------------------------
/src/partials/Pricing2.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | const FeatureItem = ({ title, selected }) => {
4 | return (
5 |
6 |
18 |
19 |
20 | {title}
21 |
22 |
23 | );
24 | };
25 |
26 | export default function PricingTable() {
27 | const pricingTable = {
28 | basic: {
29 | name: "Basic",
30 | price: "Free",
31 | description: "(仅限个人微信群使用)",
32 | features: [
33 | "支持ChatGPT 网页端",
34 | "支持ChatGPT API",
35 | "API支持上下文",
36 | "可自由切换模型",
37 | ],
38 | },
39 | plus: {
40 | name: "Plus",
41 | price: "100",
42 | description: "(仅限个人微信群使用)",
43 | features: [
44 | "包含免费版所有功能",
45 | "🌟 定义AI身份/角色",
46 | "🌟 一键开启 Bot 接管",
47 | "🌟 入群欢迎语",
48 | "🌟 自定义单用户提问频率",
49 | "🌟 自定义队列积压告警阈值",
50 | ],
51 | },
52 | business: {
53 | name: "Business",
54 | price: "300",
55 | description: "(可用于付费或企业微信群)",
56 | features: [
57 | "含 Plus 版本所有功能",
58 | "🌟 商业授权 (定制消息模版)",
59 | "🌟 自定义代理服务器",
60 | "定制其他需求",
61 | "支持第三方平台接入",
62 | "过滤敏感词API",
63 | "模型定制",
64 | ],
65 | },
66 | };
67 |
68 | return (
69 |
70 |
71 |
72 |
更多的选择
73 |
74 |
75 |
76 |
77 |
78 |
79 | {pricingTable.basic.name}
80 |
81 |
82 | {pricingTable.basic.price}
83 |
84 |
85 |
86 | {pricingTable.basic.description}
87 |
88 |
89 |
90 | {pricingTable.basic.features.map((item) => {
91 | return ;
92 | })}
93 |
94 |
95 |
98 |
99 |
100 |
101 |
102 |
103 | {pricingTable.plus.name}
104 |
105 |
106 | ¥{pricingTable.plus.price}
107 | /年
108 |
109 |
110 |
111 |
112 | {pricingTable.plus.description}
113 |
114 |
115 |
116 | {pricingTable.plus.features.map((item) => {
117 | return ;
118 | })}
119 |
120 |
121 |
124 |
125 |
126 |
127 |
128 |
129 | {pricingTable.business.name}
130 |
131 |
132 | ¥{pricingTable.business.price}
133 | /月
134 |
135 |
136 |
137 | {pricingTable.business.description}
138 |
139 |
140 |
141 | {pricingTable.business.features.map((item) => {
142 | return ;
143 | })}
144 |
145 |
146 |
149 |
150 |
151 |
152 |
153 | );
154 | }
155 |
--------------------------------------------------------------------------------
/src/partials/VideoPlayer.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | const VideoPlayer = () => {
4 | const videoSrc = "https://www.youtube.com/embed/HaZdvjFe9Iw";
5 |
6 | return (
7 |
18 | );
19 | };
20 |
21 | export default VideoPlayer;
22 |
--------------------------------------------------------------------------------
/src/partials/websites.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "title": "微信机器人",
4 | "items": [
5 | {
6 | "title": "ChatGPT3.5",
7 | "tags": [
8 | "both",
9 | "24h",
10 | "免费"
11 | ],
12 | "subtitle": "通用,机器人私聊微信号:lbw1385",
13 | "logo": "https://assets.aow.me/tuotuo.png",
14 | "url": "#"
15 | },
16 | {
17 | "title": "HIGO",
18 | "tags": [
19 | "both",
20 | "8~12h",
21 | "免费"
22 | ],
23 | "subtitle": "通用",
24 | "logo": "https://assets.aow.me/SAMUEL.png",
25 | "url": "#"
26 | },
27 | {
28 | "title": "yuyuan",
29 | "tags": [
30 | "私聊",
31 | "24h",
32 | "免费试用后付费"
33 | ],
34 | "subtitle": "脱口秀话题",
35 | "logo": "https://assets.aow.me/shejibuluo.png",
36 | "url": "#"
37 | },
38 | {
39 | "title": "AI小助手",
40 | "tags": [
41 | "群聊",
42 | "8~12h",
43 | "免费"
44 | ],
45 | "subtitle": "AiGC",
46 | "logo": "https://assets.aow.me/jaydenli.png",
47 | "url": "#"
48 | },
49 | {
50 | "title": "AI智能助手",
51 | "tags": [
52 | "私聊",
53 | "24h",
54 | "免费试用后付费"
55 | ],
56 | "subtitle": "通用",
57 | "logo": "https://assets.aow.me/kuangzhuixiaomayi.png",
58 | "url": "#"
59 | },
60 | {
61 | "title": "小雨",
62 | "tags": [
63 | "both",
64 | "24h",
65 | "免费"
66 | ],
67 | "subtitle": "互联网",
68 | "logo": "https://assets.aow.me/qingchengzuiyue.png",
69 | "url": "#"
70 | },
71 | {
72 | "title": "全能者",
73 | "tags": [
74 | "私聊",
75 | "24h",
76 | "免费"
77 | ],
78 | "subtitle": "你是全宇宙知识整理分类专业提取平台",
79 | "logo": "https://assets.aow.me/pengfei.png",
80 | "url": "#"
81 | },
82 | {
83 | "title": "CCK Bot",
84 | "tags": [
85 | "both",
86 | "24h",
87 | "免费试用后收费"
88 | ],
89 | "subtitle": "CCK Bot",
90 | "logo": "https://assets.aow.me/abc.png",
91 | "url": "#"
92 | },
93 | {
94 | "title": "芽芽",
95 | "tags": [
96 | "both",
97 | "24h",
98 | "免费"
99 | ],
100 | "subtitle": "通用,没训练过。3.5模型",
101 | "logo": "https://assets.aow.me/dusai.png",
102 | "url": "#"
103 | },
104 | {
105 | "title": "AI联想未来",
106 | "tags": [
107 | "群聊",
108 | "24h",
109 | "免费"
110 | ],
111 | "subtitle": "全能",
112 | "logo": "https://assets.aow.me/akuan.png",
113 | "url": "#"
114 | }
115 | ]
116 | },
117 | {
118 | "title": "WhatsApp 机器人",
119 | "items": [
120 | {
121 | "title": "ChatGPT体验群",
122 | "tags": [
123 | "群聊",
124 | "24h",
125 | "免费"
126 | ],
127 | "subtitle": "通用,不定时切模型,使用方法:@gpt",
128 | "logo": "https://assets.aow.me/aoqgroup.png",
129 | "url": "https://aow.me/try"
130 | },
131 | {
132 | "title": "gpt",
133 | "tags": [
134 | "私聊",
135 | "24h",
136 | "免费"
137 | ],
138 | "subtitle": "通用,不定时切模型",
139 | "logo": "https://assets.aow.me/aoqgpt.png",
140 | "url": "https://aow.me/try"
141 | },
142 | {
143 | "title": "Asabot",
144 | "tags": [
145 | "私聊",
146 | "8h",
147 | "免费"
148 | ],
149 | "subtitle": "aoq.me 安装使用助手",
150 | "logo": "https://assets.aow.me/asbot.png",
151 | "url": "https://wa.me/8618601586458"
152 | }
153 | ]
154 | }
155 | ]
--------------------------------------------------------------------------------
/src/utils/Dropdown.jsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import PropTypes from 'prop-types';
3 | import Transition from '../utils/Transition';
4 |
5 | function Dropdown({
6 | children,
7 | title
8 | }) {
9 |
10 | const [dropdownOpen, setDropdownOpen] = useState(false);
11 |
12 | return (
13 | setDropdownOpen(true)}
16 | onMouseLeave={() => setDropdownOpen(false)}
17 | onFocus={() => setDropdownOpen(true)}
18 | onBlur={() => setDropdownOpen(false)}
19 | >
20 | e.preventDefault()}
25 | >
26 | {title}
27 |
30 |
31 |
42 | {children}
43 |
44 |
45 | );
46 | }
47 |
48 | export default Dropdown;
49 |
50 | Dropdown.propTypes = {
51 | children: PropTypes.oneOfType([
52 | PropTypes.arrayOf(PropTypes.element),
53 | PropTypes.element.isRequired
54 | ]),
55 | title: PropTypes.string.isRequired,
56 | };
57 |
--------------------------------------------------------------------------------
/src/utils/Modal.jsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useRef } from 'react';
2 | import PropTypes from 'prop-types';
3 | import Transition from '../utils/Transition';
4 |
5 | function Modal({
6 | children,
7 | id,
8 | ariaLabel,
9 | show,
10 | handleClose
11 | }) {
12 |
13 | const modalContent = useRef(null);
14 |
15 | // close the modal on click outside
16 | useEffect(() => {
17 | const clickHandler = ({ target }) => {
18 | if (!show || modalContent.current.contains(target)) return;
19 | handleClose();
20 | };
21 | document.addEventListener('click', clickHandler);
22 | return () => document.removeEventListener('click', clickHandler);
23 | });
24 |
25 | // close the modal if the esc key is pressed
26 | useEffect(() => {
27 | const keyHandler = ({ keyCode }) => {
28 | if (keyCode !== 27) return;
29 | handleClose();
30 | };
31 | document.addEventListener('keydown', keyHandler);
32 |
33 | return () => document.removeEventListener('keydown', keyHandler);
34 | });
35 |
36 | return (
37 | <>
38 | {/* Modal backdrop */}
39 |
50 |
51 | {/* Modal dialog */}
52 |
66 |
67 | {children}
68 |
69 |
70 | >
71 | );
72 | }
73 |
74 | export default Modal;
75 |
76 | Modal.propTypes = {
77 | children: PropTypes.oneOfType([
78 | PropTypes.arrayOf(PropTypes.element),
79 | PropTypes.element.isRequired
80 | ]),
81 | id: PropTypes.string,
82 | ariaLabel: PropTypes.string,
83 | show: PropTypes.bool.isRequired,
84 | handleClose: PropTypes.func.isRequired
85 | };
86 |
--------------------------------------------------------------------------------
/src/utils/Transition.jsx:
--------------------------------------------------------------------------------
1 | import React, { useRef, useEffect, useContext } from 'react';
2 | import { CSSTransition as ReactCSSTransition } from 'react-transition-group';
3 |
4 | const TransitionContext = React.createContext({
5 | parent: {},
6 | })
7 |
8 | function useIsInitialRender() {
9 | const isInitialRender = useRef(true);
10 | useEffect(() => {
11 | isInitialRender.current = false;
12 | }, [])
13 | return isInitialRender.current;
14 | }
15 |
16 | function CSSTransition({
17 | show,
18 | enter = '',
19 | enterStart = '',
20 | enterEnd = '',
21 | leave = '',
22 | leaveStart = '',
23 | leaveEnd = '',
24 | appear,
25 | unmountOnExit,
26 | tag = 'div',
27 | children,
28 | ...rest
29 | }) {
30 | const enterClasses = enter.split(' ').filter((s) => s.length);
31 | const enterStartClasses = enterStart.split(' ').filter((s) => s.length);
32 | const enterEndClasses = enterEnd.split(' ').filter((s) => s.length);
33 | const leaveClasses = leave.split(' ').filter((s) => s.length);
34 | const leaveStartClasses = leaveStart.split(' ').filter((s) => s.length);
35 | const leaveEndClasses = leaveEnd.split(' ').filter((s) => s.length);
36 | const removeFromDom = unmountOnExit;
37 |
38 | function addClasses(node, classes) {
39 | classes.length && node.classList.add(...classes);
40 | }
41 |
42 | function removeClasses(node, classes) {
43 | classes.length && node.classList.remove(...classes);
44 | }
45 |
46 | const nodeRef = React.useRef(null);
47 | const Component = tag;
48 |
49 | return (
50 | {
56 | nodeRef.current.addEventListener('transitionend', done, false)
57 | }}
58 | onEnter={() => {
59 | if (!removeFromDom) nodeRef.current.style.display = null;
60 | addClasses(nodeRef.current, [...enterClasses, ...enterStartClasses])
61 | }}
62 | onEntering={() => {
63 | removeClasses(nodeRef.current, enterStartClasses)
64 | addClasses(nodeRef.current, enterEndClasses)
65 | }}
66 | onEntered={() => {
67 | removeClasses(nodeRef.current, [...enterEndClasses, ...enterClasses])
68 | }}
69 | onExit={() => {
70 | addClasses(nodeRef.current, [...leaveClasses, ...leaveStartClasses])
71 | }}
72 | onExiting={() => {
73 | removeClasses(nodeRef.current, leaveStartClasses)
74 | addClasses(nodeRef.current, leaveEndClasses)
75 | }}
76 | onExited={() => {
77 | removeClasses(nodeRef.current, [...leaveEndClasses, ...leaveClasses])
78 | if (!removeFromDom) nodeRef.current.style.display = 'none';
79 | }}
80 | >
81 | {children}
82 |
83 | )
84 | }
85 |
86 | function Transition({ show, appear, ...rest }) {
87 | const { parent } = useContext(TransitionContext);
88 | const isInitialRender = useIsInitialRender();
89 | const isChild = show === undefined;
90 |
91 | if (isChild) {
92 | return (
93 |
98 | )
99 | }
100 |
101 | return (
102 |
111 |
112 |
113 | )
114 | }
115 |
116 | export default Transition;
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import postcss from './postcss.config.js'
3 | import react from '@vitejs/plugin-react'
4 | import { viteStaticCopy } from 'vite-plugin-static-copy'
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | define: {
9 | 'process.env': process.env
10 | },
11 | css: {
12 | postcss,
13 | },
14 | plugins: [
15 | react(),
16 | viteStaticCopy({
17 | targets: [
18 | {
19 | src: './ads.txt',
20 | dest: ''
21 | }
22 | ]
23 | })
24 | ],
25 | resolve: {
26 | alias: [
27 | {
28 | find: /^~.+/,
29 | replacement: (val) => {
30 | return val.replace(/^~/, "");
31 | },
32 | },
33 | ],
34 | },
35 | build: {
36 | commonjsOptions: {
37 | transformMixedEsModules: true,
38 | }
39 | }
40 | })
41 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.1.0":
6 | version "2.2.0"
7 | resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz"
8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
9 | dependencies:
10 | "@jridgewell/gen-mapping" "^0.1.0"
11 | "@jridgewell/trace-mapping" "^0.3.9"
12 |
13 | "@babel/code-frame@^7.18.6":
14 | version "7.18.6"
15 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz"
16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
17 | dependencies:
18 | "@babel/highlight" "^7.18.6"
19 |
20 | "@babel/compat-data@^7.18.6":
21 | version "7.18.8"
22 | resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz"
23 | integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==
24 |
25 | "@babel/core@^7.18.6":
26 | version "7.18.6"
27 | resolved "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz"
28 | integrity sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==
29 | dependencies:
30 | "@ampproject/remapping" "^2.1.0"
31 | "@babel/code-frame" "^7.18.6"
32 | "@babel/generator" "^7.18.6"
33 | "@babel/helper-compilation-targets" "^7.18.6"
34 | "@babel/helper-module-transforms" "^7.18.6"
35 | "@babel/helpers" "^7.18.6"
36 | "@babel/parser" "^7.18.6"
37 | "@babel/template" "^7.18.6"
38 | "@babel/traverse" "^7.18.6"
39 | "@babel/types" "^7.18.6"
40 | convert-source-map "^1.7.0"
41 | debug "^4.1.0"
42 | gensync "^1.0.0-beta.2"
43 | json5 "^2.2.1"
44 | semver "^6.3.0"
45 |
46 | "@babel/generator@^7.18.6", "@babel/generator@^7.18.7":
47 | version "7.18.7"
48 | resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz"
49 | integrity sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==
50 | dependencies:
51 | "@babel/types" "^7.18.7"
52 | "@jridgewell/gen-mapping" "^0.3.2"
53 | jsesc "^2.5.1"
54 |
55 | "@babel/helper-annotate-as-pure@^7.18.6":
56 | version "7.18.6"
57 | resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz"
58 | integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
59 | dependencies:
60 | "@babel/types" "^7.18.6"
61 |
62 | "@babel/helper-compilation-targets@^7.18.6":
63 | version "7.18.6"
64 | resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz"
65 | integrity sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==
66 | dependencies:
67 | "@babel/compat-data" "^7.18.6"
68 | "@babel/helper-validator-option" "^7.18.6"
69 | browserslist "^4.20.2"
70 | semver "^6.3.0"
71 |
72 | "@babel/helper-environment-visitor@^7.18.6":
73 | version "7.18.6"
74 | resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz"
75 | integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==
76 |
77 | "@babel/helper-function-name@^7.18.6":
78 | version "7.18.6"
79 | resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz"
80 | integrity sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==
81 | dependencies:
82 | "@babel/template" "^7.18.6"
83 | "@babel/types" "^7.18.6"
84 |
85 | "@babel/helper-hoist-variables@^7.18.6":
86 | version "7.18.6"
87 | resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz"
88 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
89 | dependencies:
90 | "@babel/types" "^7.18.6"
91 |
92 | "@babel/helper-module-imports@^7.18.6":
93 | version "7.18.6"
94 | resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz"
95 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
96 | dependencies:
97 | "@babel/types" "^7.18.6"
98 |
99 | "@babel/helper-module-transforms@^7.18.6":
100 | version "7.18.8"
101 | resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.8.tgz"
102 | integrity sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA==
103 | dependencies:
104 | "@babel/helper-environment-visitor" "^7.18.6"
105 | "@babel/helper-module-imports" "^7.18.6"
106 | "@babel/helper-simple-access" "^7.18.6"
107 | "@babel/helper-split-export-declaration" "^7.18.6"
108 | "@babel/helper-validator-identifier" "^7.18.6"
109 | "@babel/template" "^7.18.6"
110 | "@babel/traverse" "^7.18.8"
111 | "@babel/types" "^7.18.8"
112 |
113 | "@babel/helper-plugin-utils@^7.18.6":
114 | version "7.18.6"
115 | resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz"
116 | integrity sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==
117 |
118 | "@babel/helper-simple-access@^7.18.6":
119 | version "7.18.6"
120 | resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz"
121 | integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==
122 | dependencies:
123 | "@babel/types" "^7.18.6"
124 |
125 | "@babel/helper-split-export-declaration@^7.18.6":
126 | version "7.18.6"
127 | resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz"
128 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
129 | dependencies:
130 | "@babel/types" "^7.18.6"
131 |
132 | "@babel/helper-validator-identifier@^7.18.6":
133 | version "7.18.6"
134 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz"
135 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==
136 |
137 | "@babel/helper-validator-option@^7.18.6":
138 | version "7.18.6"
139 | resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz"
140 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
141 |
142 | "@babel/helpers@^7.18.6":
143 | version "7.18.6"
144 | resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.6.tgz"
145 | integrity sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==
146 | dependencies:
147 | "@babel/template" "^7.18.6"
148 | "@babel/traverse" "^7.18.6"
149 | "@babel/types" "^7.18.6"
150 |
151 | "@babel/highlight@^7.18.6":
152 | version "7.18.6"
153 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz"
154 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
155 | dependencies:
156 | "@babel/helper-validator-identifier" "^7.18.6"
157 | chalk "^2.0.0"
158 | js-tokens "^4.0.0"
159 |
160 | "@babel/parser@^7.18.6", "@babel/parser@^7.18.8":
161 | version "7.18.8"
162 | resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.18.8.tgz"
163 | integrity sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==
164 |
165 | "@babel/plugin-syntax-jsx@^7.18.6":
166 | version "7.18.6"
167 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz"
168 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==
169 | dependencies:
170 | "@babel/helper-plugin-utils" "^7.18.6"
171 |
172 | "@babel/plugin-transform-react-jsx-development@^7.18.6":
173 | version "7.18.6"
174 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz"
175 | integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==
176 | dependencies:
177 | "@babel/plugin-transform-react-jsx" "^7.18.6"
178 |
179 | "@babel/plugin-transform-react-jsx-self@^7.18.6":
180 | version "7.18.6"
181 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz"
182 | integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==
183 | dependencies:
184 | "@babel/helper-plugin-utils" "^7.18.6"
185 |
186 | "@babel/plugin-transform-react-jsx-source@^7.18.6":
187 | version "7.18.6"
188 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz"
189 | integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==
190 | dependencies:
191 | "@babel/helper-plugin-utils" "^7.18.6"
192 |
193 | "@babel/plugin-transform-react-jsx@^7.18.6":
194 | version "7.18.6"
195 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.6.tgz"
196 | integrity sha512-Mz7xMPxoy9kPS/JScj6fJs03TZ/fZ1dJPlMjRAgTaxaS0fUBk8FV/A2rRgfPsVCZqALNwMexD+0Uaf5zlcKPpw==
197 | dependencies:
198 | "@babel/helper-annotate-as-pure" "^7.18.6"
199 | "@babel/helper-module-imports" "^7.18.6"
200 | "@babel/helper-plugin-utils" "^7.18.6"
201 | "@babel/plugin-syntax-jsx" "^7.18.6"
202 | "@babel/types" "^7.18.6"
203 |
204 | "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
205 | version "7.18.6"
206 | resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz"
207 | integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==
208 | dependencies:
209 | regenerator-runtime "^0.13.4"
210 |
211 | "@babel/template@^7.18.6":
212 | version "7.18.6"
213 | resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz"
214 | integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==
215 | dependencies:
216 | "@babel/code-frame" "^7.18.6"
217 | "@babel/parser" "^7.18.6"
218 | "@babel/types" "^7.18.6"
219 |
220 | "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.8":
221 | version "7.18.8"
222 | resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.8.tgz"
223 | integrity sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==
224 | dependencies:
225 | "@babel/code-frame" "^7.18.6"
226 | "@babel/generator" "^7.18.7"
227 | "@babel/helper-environment-visitor" "^7.18.6"
228 | "@babel/helper-function-name" "^7.18.6"
229 | "@babel/helper-hoist-variables" "^7.18.6"
230 | "@babel/helper-split-export-declaration" "^7.18.6"
231 | "@babel/parser" "^7.18.8"
232 | "@babel/types" "^7.18.8"
233 | debug "^4.1.0"
234 | globals "^11.1.0"
235 |
236 | "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.18.8":
237 | version "7.18.8"
238 | resolved "https://registry.npmjs.org/@babel/types/-/types-7.18.8.tgz"
239 | integrity sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==
240 | dependencies:
241 | "@babel/helper-validator-identifier" "^7.18.6"
242 | to-fast-properties "^2.0.0"
243 |
244 | "@jridgewell/gen-mapping@^0.1.0":
245 | version "0.1.1"
246 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz"
247 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
248 | dependencies:
249 | "@jridgewell/set-array" "^1.0.0"
250 | "@jridgewell/sourcemap-codec" "^1.4.10"
251 |
252 | "@jridgewell/gen-mapping@^0.3.2":
253 | version "0.3.2"
254 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz"
255 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
256 | dependencies:
257 | "@jridgewell/set-array" "^1.0.1"
258 | "@jridgewell/sourcemap-codec" "^1.4.10"
259 | "@jridgewell/trace-mapping" "^0.3.9"
260 |
261 | "@jridgewell/resolve-uri@^3.0.3":
262 | version "3.1.0"
263 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
264 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
265 |
266 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
267 | version "1.1.2"
268 | resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
269 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
270 |
271 | "@jridgewell/sourcemap-codec@^1.4.10":
272 | version "1.4.14"
273 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
274 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
275 |
276 | "@jridgewell/trace-mapping@^0.3.9":
277 | version "0.3.14"
278 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz"
279 | integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==
280 | dependencies:
281 | "@jridgewell/resolve-uri" "^3.0.3"
282 | "@jridgewell/sourcemap-codec" "^1.4.10"
283 |
284 | "@nodelib/fs.scandir@2.1.5":
285 | version "2.1.5"
286 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
287 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
288 | dependencies:
289 | "@nodelib/fs.stat" "2.0.5"
290 | run-parallel "^1.1.9"
291 |
292 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
293 | version "2.0.5"
294 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
295 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
296 |
297 | "@nodelib/fs.walk@^1.2.3":
298 | version "1.2.8"
299 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
300 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
301 | dependencies:
302 | "@nodelib/fs.scandir" "2.1.5"
303 | fastq "^1.6.0"
304 |
305 | "@remix-run/router@1.5.0":
306 | version "1.5.0"
307 | resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz#57618e57942a5f0131374a9fdb0167e25a117fdc"
308 | integrity sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==
309 |
310 | "@tailwindcss/forms@^0.5.2":
311 | version "0.5.2"
312 | resolved "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.2.tgz"
313 | integrity sha512-pSrFeJB6Bg1Mrg9CdQW3+hqZXAKsBrSG9MAfFLKy1pVA4Mb4W7C0k7mEhlmS2Dfo/otxrQOET7NJiJ9RrS563w==
314 | dependencies:
315 | mini-svg-data-uri "^1.2.3"
316 |
317 | "@vitejs/plugin-react@^2.0.0":
318 | version "2.0.0"
319 | resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.0.0.tgz"
320 | integrity sha512-zHkRR+X4zqEPNBbKV2FvWSxK7Q6crjMBVIAYroSU8Nbb4M3E5x4qOiLoqJBHtXgr27kfednXjkwr3lr8jS6Wrw==
321 | dependencies:
322 | "@babel/core" "^7.18.6"
323 | "@babel/plugin-transform-react-jsx" "^7.18.6"
324 | "@babel/plugin-transform-react-jsx-development" "^7.18.6"
325 | "@babel/plugin-transform-react-jsx-self" "^7.18.6"
326 | "@babel/plugin-transform-react-jsx-source" "^7.18.6"
327 | magic-string "^0.26.2"
328 | react-refresh "^0.14.0"
329 |
330 | acorn-node@^1.8.2:
331 | version "1.8.2"
332 | resolved "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz"
333 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==
334 | dependencies:
335 | acorn "^7.0.0"
336 | acorn-walk "^7.0.0"
337 | xtend "^4.0.2"
338 |
339 | acorn-walk@^7.0.0:
340 | version "7.2.0"
341 | resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz"
342 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
343 |
344 | acorn@^7.0.0:
345 | version "7.4.1"
346 | resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
347 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
348 |
349 | ansi-styles@^3.2.1:
350 | version "3.2.1"
351 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
352 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
353 | dependencies:
354 | color-convert "^1.9.0"
355 |
356 | anymatch@~3.1.2:
357 | version "3.1.2"
358 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz"
359 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
360 | dependencies:
361 | normalize-path "^3.0.0"
362 | picomatch "^2.0.4"
363 |
364 | aos@^3.0.0-beta.6:
365 | version "3.0.0-beta.6"
366 | resolved "https://registry.npmjs.org/aos/-/aos-3.0.0-beta.6.tgz"
367 | integrity sha512-VLWrpq8bfAWcetynVHMMrqdC+89Qq/Ym6UBJbHB4crIwp3RR8uq1dNGgsFzoDl03S43rlVMK+na3r5+oUCZsYw==
368 | dependencies:
369 | classlist-polyfill "^1.2.0"
370 | lodash.debounce "^4.0.8"
371 | lodash.throttle "^4.1.1"
372 |
373 | arg@^5.0.2:
374 | version "5.0.2"
375 | resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz"
376 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
377 |
378 | autoprefixer@^10.4.7:
379 | version "10.4.7"
380 | resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz"
381 | integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==
382 | dependencies:
383 | browserslist "^4.20.3"
384 | caniuse-lite "^1.0.30001335"
385 | fraction.js "^4.2.0"
386 | normalize-range "^0.1.2"
387 | picocolors "^1.0.0"
388 | postcss-value-parser "^4.2.0"
389 |
390 | binary-extensions@^2.0.0:
391 | version "2.2.0"
392 | resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
393 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
394 |
395 | braces@^3.0.2, braces@~3.0.2:
396 | version "3.0.2"
397 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
398 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
399 | dependencies:
400 | fill-range "^7.0.1"
401 |
402 | browserslist@^4.20.2, browserslist@^4.20.3:
403 | version "4.21.2"
404 | resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz"
405 | integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==
406 | dependencies:
407 | caniuse-lite "^1.0.30001366"
408 | electron-to-chromium "^1.4.188"
409 | node-releases "^2.0.6"
410 | update-browserslist-db "^1.0.4"
411 |
412 | camelcase-css@^2.0.1:
413 | version "2.0.1"
414 | resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz"
415 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
416 |
417 | caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001366:
418 | version "1.0.30001470"
419 | resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001470.tgz"
420 | integrity sha512-065uNwY6QtHCBOExzbV6m236DDhYCCtPmQUCoQtwkVqzud8v5QPidoMr6CoMkC2nfp6nksjttqWQRRh75LqUmA==
421 |
422 | chalk@^2.0.0:
423 | version "2.4.2"
424 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
425 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
426 | dependencies:
427 | ansi-styles "^3.2.1"
428 | escape-string-regexp "^1.0.5"
429 | supports-color "^5.3.0"
430 |
431 | "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
432 | version "3.5.3"
433 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
434 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
435 | dependencies:
436 | anymatch "~3.1.2"
437 | braces "~3.0.2"
438 | glob-parent "~5.1.2"
439 | is-binary-path "~2.1.0"
440 | is-glob "~4.0.1"
441 | normalize-path "~3.0.0"
442 | readdirp "~3.6.0"
443 | optionalDependencies:
444 | fsevents "~2.3.2"
445 |
446 | classlist-polyfill@^1.2.0:
447 | version "1.2.0"
448 | resolved "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz"
449 | integrity sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==
450 |
451 | color-convert@^1.9.0:
452 | version "1.9.3"
453 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
454 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
455 | dependencies:
456 | color-name "1.1.3"
457 |
458 | color-name@1.1.3:
459 | version "1.1.3"
460 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
461 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
462 |
463 | color-name@^1.1.4:
464 | version "1.1.4"
465 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
466 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
467 |
468 | convert-source-map@^1.7.0:
469 | version "1.8.0"
470 | resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz"
471 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
472 | dependencies:
473 | safe-buffer "~5.1.1"
474 |
475 | cssesc@^3.0.0:
476 | version "3.0.0"
477 | resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
478 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
479 |
480 | csstype@^3.0.2:
481 | version "3.1.0"
482 | resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz"
483 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==
484 |
485 | debug@^4.1.0:
486 | version "4.3.4"
487 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
488 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
489 | dependencies:
490 | ms "2.1.2"
491 |
492 | defined@^1.0.0:
493 | version "1.0.0"
494 | resolved "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz"
495 | integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==
496 |
497 | detective@^5.2.1:
498 | version "5.2.1"
499 | resolved "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz"
500 | integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==
501 | dependencies:
502 | acorn-node "^1.8.2"
503 | defined "^1.0.0"
504 | minimist "^1.2.6"
505 |
506 | didyoumean@^1.2.2:
507 | version "1.2.2"
508 | resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz"
509 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
510 |
511 | dlv@^1.1.3:
512 | version "1.1.3"
513 | resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz"
514 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
515 |
516 | dom-helpers@^5.0.1:
517 | version "5.2.1"
518 | resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz"
519 | integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
520 | dependencies:
521 | "@babel/runtime" "^7.8.7"
522 | csstype "^3.0.2"
523 |
524 | electron-to-chromium@^1.4.188:
525 | version "1.4.191"
526 | resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.191.tgz"
527 | integrity sha512-MeEaiuoSFh4G+rrN+Ilm1KJr8pTTZloeLurcZ+PRcthvdK1gWThje+E6baL7/7LoNctrzCncavAG/j/vpES9jg==
528 |
529 | esbuild-android-64@0.14.49:
530 | version "0.14.49"
531 | resolved "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz#9e4682c36dcf6e7b71b73d2a3723a96e0fdc5054"
532 | integrity sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==
533 |
534 | esbuild-android-arm64@0.14.49:
535 | version "0.14.49"
536 | resolved "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz#9861b1f7e57d1dd1f23eeef6198561c5f34b51f6"
537 | integrity sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==
538 |
539 | esbuild-darwin-64@0.14.49:
540 | version "0.14.49"
541 | resolved "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz"
542 | integrity sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==
543 |
544 | esbuild-darwin-arm64@0.14.49:
545 | version "0.14.49"
546 | resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz#c04a3a57dad94a972c66a697a68a25aa25947f41"
547 | integrity sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==
548 |
549 | esbuild-freebsd-64@0.14.49:
550 | version "0.14.49"
551 | resolved "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz#c404dbd66c98451395b1eef0fa38b73030a7be82"
552 | integrity sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==
553 |
554 | esbuild-freebsd-arm64@0.14.49:
555 | version "0.14.49"
556 | resolved "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz#b62cec96138ebc5937240ce3e1b97902963ea74a"
557 | integrity sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==
558 |
559 | esbuild-linux-32@0.14.49:
560 | version "0.14.49"
561 | resolved "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz#495b1cc011b8c64d8bbaf65509c1e7135eb9ddbf"
562 | integrity sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==
563 |
564 | esbuild-linux-64@0.14.49:
565 | version "0.14.49"
566 | resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz#3f28dd8f986e6ff42f38888ee435a9b1fb916a56"
567 | integrity sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==
568 |
569 | esbuild-linux-arm64@0.14.49:
570 | version "0.14.49"
571 | resolved "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz#a52e99ae30246566dc5f33e835aa6ca98ef70e33"
572 | integrity sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==
573 |
574 | esbuild-linux-arm@0.14.49:
575 | version "0.14.49"
576 | resolved "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz#7c33d05a64ec540cf7474834adaa57b3167bbe97"
577 | integrity sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==
578 |
579 | esbuild-linux-mips64le@0.14.49:
580 | version "0.14.49"
581 | resolved "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz#ed062bd844b587be649443831eb84ba304685f25"
582 | integrity sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==
583 |
584 | esbuild-linux-ppc64le@0.14.49:
585 | version "0.14.49"
586 | resolved "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz#c0786fb5bddffd90c10a2078181513cbaf077958"
587 | integrity sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==
588 |
589 | esbuild-linux-riscv64@0.14.49:
590 | version "0.14.49"
591 | resolved "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz#579b0e7cc6fce4bfc698e991a52503bb616bec49"
592 | integrity sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==
593 |
594 | esbuild-linux-s390x@0.14.49:
595 | version "0.14.49"
596 | resolved "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz#09eb15c753e249a500b4e28d07c5eef7524a9740"
597 | integrity sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==
598 |
599 | esbuild-netbsd-64@0.14.49:
600 | version "0.14.49"
601 | resolved "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz#f7337cd2bddb7cc9d100d19156f36c9ca117b58d"
602 | integrity sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==
603 |
604 | esbuild-openbsd-64@0.14.49:
605 | version "0.14.49"
606 | resolved "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz#1f8bdc49f8a44396e73950a3fb6b39828563631d"
607 | integrity sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==
608 |
609 | esbuild-sunos-64@0.14.49:
610 | version "0.14.49"
611 | resolved "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz#47d042739365b61aa8ca642adb69534a8eef9f7a"
612 | integrity sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==
613 |
614 | esbuild-windows-32@0.14.49:
615 | version "0.14.49"
616 | resolved "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz#79198c88ec9bde163c18a6b430c34eab098ec21a"
617 | integrity sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==
618 |
619 | esbuild-windows-64@0.14.49:
620 | version "0.14.49"
621 | resolved "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz#b36b230d18d1ee54008e08814c4799c7806e8c79"
622 | integrity sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==
623 |
624 | esbuild-windows-arm64@0.14.49:
625 | version "0.14.49"
626 | resolved "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz#d83c03ff6436caf3262347cfa7e16b0a8049fae7"
627 | integrity sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==
628 |
629 | esbuild@^0.14.47:
630 | version "0.14.49"
631 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz"
632 | integrity sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==
633 | optionalDependencies:
634 | esbuild-android-64 "0.14.49"
635 | esbuild-android-arm64 "0.14.49"
636 | esbuild-darwin-64 "0.14.49"
637 | esbuild-darwin-arm64 "0.14.49"
638 | esbuild-freebsd-64 "0.14.49"
639 | esbuild-freebsd-arm64 "0.14.49"
640 | esbuild-linux-32 "0.14.49"
641 | esbuild-linux-64 "0.14.49"
642 | esbuild-linux-arm "0.14.49"
643 | esbuild-linux-arm64 "0.14.49"
644 | esbuild-linux-mips64le "0.14.49"
645 | esbuild-linux-ppc64le "0.14.49"
646 | esbuild-linux-riscv64 "0.14.49"
647 | esbuild-linux-s390x "0.14.49"
648 | esbuild-netbsd-64 "0.14.49"
649 | esbuild-openbsd-64 "0.14.49"
650 | esbuild-sunos-64 "0.14.49"
651 | esbuild-windows-32 "0.14.49"
652 | esbuild-windows-64 "0.14.49"
653 | esbuild-windows-arm64 "0.14.49"
654 |
655 | escalade@^3.1.1:
656 | version "3.1.1"
657 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
658 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
659 |
660 | escape-string-regexp@^1.0.5:
661 | version "1.0.5"
662 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
663 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
664 |
665 | fast-glob@^3.2.11:
666 | version "3.2.11"
667 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz"
668 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
669 | dependencies:
670 | "@nodelib/fs.stat" "^2.0.2"
671 | "@nodelib/fs.walk" "^1.2.3"
672 | glob-parent "^5.1.2"
673 | merge2 "^1.3.0"
674 | micromatch "^4.0.4"
675 |
676 | fastq@^1.6.0:
677 | version "1.13.0"
678 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz"
679 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
680 | dependencies:
681 | reusify "^1.0.4"
682 |
683 | fill-range@^7.0.1:
684 | version "7.0.1"
685 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
686 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
687 | dependencies:
688 | to-regex-range "^5.0.1"
689 |
690 | flatpickr@^4.6.2:
691 | version "4.6.13"
692 | resolved "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.13.tgz"
693 | integrity sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==
694 |
695 | fraction.js@^4.2.0:
696 | version "4.2.0"
697 | resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz"
698 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
699 |
700 | fs-extra@^11.1.0:
701 | version "11.1.0"
702 | resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.1.0.tgz"
703 | integrity sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==
704 | dependencies:
705 | graceful-fs "^4.2.0"
706 | jsonfile "^6.0.1"
707 | universalify "^2.0.0"
708 |
709 | fsevents@~2.3.2:
710 | version "2.3.2"
711 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
712 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
713 |
714 | function-bind@^1.1.1:
715 | version "1.1.1"
716 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
717 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
718 |
719 | gensync@^1.0.0-beta.2:
720 | version "1.0.0-beta.2"
721 | resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz"
722 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
723 |
724 | glob-parent@^5.1.2, glob-parent@~5.1.2:
725 | version "5.1.2"
726 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
727 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
728 | dependencies:
729 | is-glob "^4.0.1"
730 |
731 | glob-parent@^6.0.2:
732 | version "6.0.2"
733 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
734 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
735 | dependencies:
736 | is-glob "^4.0.3"
737 |
738 | globals@^11.1.0:
739 | version "11.12.0"
740 | resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
741 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
742 |
743 | graceful-fs@^4.1.6, graceful-fs@^4.2.0:
744 | version "4.2.10"
745 | resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz"
746 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
747 |
748 | has-flag@^3.0.0:
749 | version "3.0.0"
750 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
751 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
752 |
753 | has@^1.0.3:
754 | version "1.0.3"
755 | resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
756 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
757 | dependencies:
758 | function-bind "^1.1.1"
759 |
760 | immutable@^4.0.0:
761 | version "4.1.0"
762 | resolved "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz"
763 | integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==
764 |
765 | is-binary-path@~2.1.0:
766 | version "2.1.0"
767 | resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
768 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
769 | dependencies:
770 | binary-extensions "^2.0.0"
771 |
772 | is-core-module@^2.9.0:
773 | version "2.9.0"
774 | resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz"
775 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
776 | dependencies:
777 | has "^1.0.3"
778 |
779 | is-extglob@^2.1.1:
780 | version "2.1.1"
781 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
782 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
783 |
784 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
785 | version "4.0.3"
786 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
787 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
788 | dependencies:
789 | is-extglob "^2.1.1"
790 |
791 | is-number@^7.0.0:
792 | version "7.0.0"
793 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
794 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
795 |
796 | js-cookie@^2.2.1:
797 | version "2.2.1"
798 | resolved "https://registry.npmmirror.com/js-cookie/-/js-cookie-2.2.1.tgz"
799 | integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==
800 |
801 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
802 | version "4.0.0"
803 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
804 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
805 |
806 | jsesc@^2.5.1:
807 | version "2.5.2"
808 | resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
809 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
810 |
811 | json5@^2.2.1:
812 | version "2.2.1"
813 | resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz"
814 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
815 |
816 | jsonfile@^6.0.1:
817 | version "6.1.0"
818 | resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz"
819 | integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
820 | dependencies:
821 | universalify "^2.0.0"
822 | optionalDependencies:
823 | graceful-fs "^4.1.6"
824 |
825 | lilconfig@^2.0.5:
826 | version "2.0.6"
827 | resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz"
828 | integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
829 |
830 | lodash.debounce@^4.0.8:
831 | version "4.0.8"
832 | resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
833 | integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
834 |
835 | lodash.throttle@^4.1.1:
836 | version "4.1.1"
837 | resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz"
838 | integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==
839 |
840 | loose-envify@^1.1.0, loose-envify@^1.4.0:
841 | version "1.4.0"
842 | resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
843 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
844 | dependencies:
845 | js-tokens "^3.0.0 || ^4.0.0"
846 |
847 | magic-string@^0.26.2:
848 | version "0.26.2"
849 | resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz"
850 | integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==
851 | dependencies:
852 | sourcemap-codec "^1.4.8"
853 |
854 | merge2@^1.3.0:
855 | version "1.4.1"
856 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
857 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
858 |
859 | micromatch@^4.0.4:
860 | version "4.0.5"
861 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz"
862 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
863 | dependencies:
864 | braces "^3.0.2"
865 | picomatch "^2.3.1"
866 |
867 | mini-svg-data-uri@^1.2.3:
868 | version "1.4.4"
869 | resolved "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz"
870 | integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==
871 |
872 | minimist@^1.2.6:
873 | version "1.2.6"
874 | resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz"
875 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
876 |
877 | ms@2.1.2:
878 | version "2.1.2"
879 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
880 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
881 |
882 | nanoid@^3.3.4:
883 | version "3.3.4"
884 | resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz"
885 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
886 |
887 | node-releases@^2.0.6:
888 | version "2.0.6"
889 | resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz"
890 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
891 |
892 | normalize-path@^3.0.0, normalize-path@~3.0.0:
893 | version "3.0.0"
894 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
895 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
896 |
897 | normalize-range@^0.1.2:
898 | version "0.1.2"
899 | resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz"
900 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
901 |
902 | object-assign@^4.1.1:
903 | version "4.1.1"
904 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
905 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
906 |
907 | object-hash@^3.0.0:
908 | version "3.0.0"
909 | resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz"
910 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
911 |
912 | path-parse@^1.0.7:
913 | version "1.0.7"
914 | resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
915 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
916 |
917 | picocolors@^1.0.0:
918 | version "1.0.0"
919 | resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
920 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
921 |
922 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
923 | version "2.3.1"
924 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
925 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
926 |
927 | pify@^2.3.0:
928 | version "2.3.0"
929 | resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
930 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
931 |
932 | postcss-import@^14.1.0:
933 | version "14.1.0"
934 | resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz"
935 | integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==
936 | dependencies:
937 | postcss-value-parser "^4.0.0"
938 | read-cache "^1.0.0"
939 | resolve "^1.1.7"
940 |
941 | postcss-js@^4.0.0:
942 | version "4.0.0"
943 | resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz"
944 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==
945 | dependencies:
946 | camelcase-css "^2.0.1"
947 |
948 | postcss-load-config@^3.1.4:
949 | version "3.1.4"
950 | resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz"
951 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==
952 | dependencies:
953 | lilconfig "^2.0.5"
954 | yaml "^1.10.2"
955 |
956 | postcss-nested@5.0.6:
957 | version "5.0.6"
958 | resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz"
959 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==
960 | dependencies:
961 | postcss-selector-parser "^6.0.6"
962 |
963 | postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6:
964 | version "6.0.10"
965 | resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz"
966 | integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
967 | dependencies:
968 | cssesc "^3.0.0"
969 | util-deprecate "^1.0.2"
970 |
971 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
972 | version "4.2.0"
973 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
974 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
975 |
976 | postcss@^8.4.14:
977 | version "8.4.14"
978 | resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz"
979 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
980 | dependencies:
981 | nanoid "^3.3.4"
982 | picocolors "^1.0.0"
983 | source-map-js "^1.0.2"
984 |
985 | prop-types@^15.5.10, prop-types@^15.6.2:
986 | version "15.8.1"
987 | resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
988 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
989 | dependencies:
990 | loose-envify "^1.4.0"
991 | object-assign "^4.1.1"
992 | react-is "^16.13.1"
993 |
994 | queue-microtask@^1.2.2:
995 | version "1.2.3"
996 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
997 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
998 |
999 | quick-lru@^5.1.1:
1000 | version "5.1.1"
1001 | resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz"
1002 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
1003 |
1004 | react-cookie-consent@^8.0.1:
1005 | version "8.0.1"
1006 | resolved "https://registry.npmmirror.com/react-cookie-consent/-/react-cookie-consent-8.0.1.tgz"
1007 | integrity sha512-4A2jzPQDFfBhtxIz4hYX+vJ0QnOknGdOXpEoetXzgwUrMtxVJVow8YgBsGerNt5rJI7WhKkHwr8LmxekxgVejg==
1008 | dependencies:
1009 | js-cookie "^2.2.1"
1010 |
1011 | react-dom@^18.2.0:
1012 | version "18.2.0"
1013 | resolved "https://registry.npmmirror.com/react-dom/-/react-dom-18.2.0.tgz"
1014 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
1015 | dependencies:
1016 | loose-envify "^1.1.0"
1017 | scheduler "^0.23.0"
1018 |
1019 | react-faq-component@^1.3.4:
1020 | version "1.3.4"
1021 | resolved "https://registry.npmmirror.com/react-faq-component/-/react-faq-component-1.3.4.tgz"
1022 | integrity sha512-oRXUfdr5OItsW4fRp5RMIUh4P2G1PAVMlFizWGR3ecwuCiNv/Akjx63yeOBrupCfh4AYqumPvQ3+hhKdxNkvxw==
1023 |
1024 | react-flatpickr@^3.10.13:
1025 | version "3.10.13"
1026 | resolved "https://registry.npmjs.org/react-flatpickr/-/react-flatpickr-3.10.13.tgz"
1027 | integrity sha512-4m+K1K8jhvRFI8J/AHmQfA5hLALzhebEtEK8mLevXjX24MV3u502crzBn+EGFIBOfNUtrL5PId9FsGwgtuz/og==
1028 | dependencies:
1029 | flatpickr "^4.6.2"
1030 | prop-types "^15.5.10"
1031 |
1032 | react-is@^16.13.1:
1033 | version "16.13.1"
1034 | resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
1035 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
1036 |
1037 | react-refresh@^0.14.0:
1038 | version "0.14.0"
1039 | resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz"
1040 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
1041 |
1042 | react-router-dom@^6.10.0:
1043 | version "6.10.0"
1044 | resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz#090ddc5c84dc41b583ce08468c4007c84245f61f"
1045 | integrity sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==
1046 | dependencies:
1047 | "@remix-run/router" "1.5.0"
1048 | react-router "6.10.0"
1049 |
1050 | react-router@6.10.0:
1051 | version "6.10.0"
1052 | resolved "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz#230f824fde9dd0270781b5cb497912de32c0a971"
1053 | integrity sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==
1054 | dependencies:
1055 | "@remix-run/router" "1.5.0"
1056 |
1057 | react-transition-group@^4.4.2:
1058 | version "4.4.2"
1059 | resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz"
1060 | integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
1061 | dependencies:
1062 | "@babel/runtime" "^7.5.5"
1063 | dom-helpers "^5.0.1"
1064 | loose-envify "^1.4.0"
1065 | prop-types "^15.6.2"
1066 |
1067 | react@^18.2.0:
1068 | version "18.2.0"
1069 | resolved "https://registry.npmmirror.com/react/-/react-18.2.0.tgz"
1070 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
1071 | dependencies:
1072 | loose-envify "^1.1.0"
1073 |
1074 | read-cache@^1.0.0:
1075 | version "1.0.0"
1076 | resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz"
1077 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
1078 | dependencies:
1079 | pify "^2.3.0"
1080 |
1081 | readdirp@~3.6.0:
1082 | version "3.6.0"
1083 | resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
1084 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
1085 | dependencies:
1086 | picomatch "^2.2.1"
1087 |
1088 | regenerator-runtime@^0.13.4:
1089 | version "0.13.9"
1090 | resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz"
1091 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
1092 |
1093 | resolve@^1.1.7, resolve@^1.22.1:
1094 | version "1.22.1"
1095 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz"
1096 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
1097 | dependencies:
1098 | is-core-module "^2.9.0"
1099 | path-parse "^1.0.7"
1100 | supports-preserve-symlinks-flag "^1.0.0"
1101 |
1102 | reusify@^1.0.4:
1103 | version "1.0.4"
1104 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
1105 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1106 |
1107 | rollup@^2.75.6:
1108 | version "2.77.0"
1109 | resolved "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz"
1110 | integrity sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==
1111 | optionalDependencies:
1112 | fsevents "~2.3.2"
1113 |
1114 | run-parallel@^1.1.9:
1115 | version "1.2.0"
1116 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
1117 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1118 | dependencies:
1119 | queue-microtask "^1.2.2"
1120 |
1121 | safe-buffer@~5.1.1:
1122 | version "5.1.2"
1123 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
1124 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
1125 |
1126 | sass@^1.53.0:
1127 | version "1.53.0"
1128 | resolved "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz"
1129 | integrity sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==
1130 | dependencies:
1131 | chokidar ">=3.0.0 <4.0.0"
1132 | immutable "^4.0.0"
1133 | source-map-js ">=0.6.2 <2.0.0"
1134 |
1135 | scheduler@^0.23.0:
1136 | version "0.23.0"
1137 | resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz"
1138 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
1139 | dependencies:
1140 | loose-envify "^1.1.0"
1141 |
1142 | semver@^6.3.0:
1143 | version "6.3.0"
1144 | resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
1145 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1146 |
1147 | "source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
1148 | version "1.0.2"
1149 | resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
1150 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1151 |
1152 | sourcemap-codec@^1.4.8:
1153 | version "1.4.8"
1154 | resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz"
1155 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
1156 |
1157 | sticky-js@^1.3.0:
1158 | version "1.3.0"
1159 | resolved "https://registry.npmjs.org/sticky-js/-/sticky-js-1.3.0.tgz"
1160 | integrity sha512-X5zWjFrw7c2xE4tUtSeK7I+1o252JOyZOlzxsu1Q9qZ6hlk2NCd9Sr/AFxf8hfGkLnE1Pak+iLaDyd883LFRgw==
1161 |
1162 | supports-color@^5.3.0:
1163 | version "5.5.0"
1164 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
1165 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1166 | dependencies:
1167 | has-flag "^3.0.0"
1168 |
1169 | supports-preserve-symlinks-flag@^1.0.0:
1170 | version "1.0.0"
1171 | resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
1172 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1173 |
1174 | tailwindcss@^3.1.6:
1175 | version "3.1.6"
1176 | resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.6.tgz"
1177 | integrity sha512-7skAOY56erZAFQssT1xkpk+kWt2NrO45kORlxFPXUt3CiGsVPhH1smuH5XoDH6sGPXLyBv+zgCKA2HWBsgCytg==
1178 | dependencies:
1179 | arg "^5.0.2"
1180 | chokidar "^3.5.3"
1181 | color-name "^1.1.4"
1182 | detective "^5.2.1"
1183 | didyoumean "^1.2.2"
1184 | dlv "^1.1.3"
1185 | fast-glob "^3.2.11"
1186 | glob-parent "^6.0.2"
1187 | is-glob "^4.0.3"
1188 | lilconfig "^2.0.5"
1189 | normalize-path "^3.0.0"
1190 | object-hash "^3.0.0"
1191 | picocolors "^1.0.0"
1192 | postcss "^8.4.14"
1193 | postcss-import "^14.1.0"
1194 | postcss-js "^4.0.0"
1195 | postcss-load-config "^3.1.4"
1196 | postcss-nested "5.0.6"
1197 | postcss-selector-parser "^6.0.10"
1198 | postcss-value-parser "^4.2.0"
1199 | quick-lru "^5.1.1"
1200 | resolve "^1.22.1"
1201 |
1202 | to-fast-properties@^2.0.0:
1203 | version "2.0.0"
1204 | resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
1205 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
1206 |
1207 | to-regex-range@^5.0.1:
1208 | version "5.0.1"
1209 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
1210 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1211 | dependencies:
1212 | is-number "^7.0.0"
1213 |
1214 | universalify@^2.0.0:
1215 | version "2.0.0"
1216 | resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz"
1217 | integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
1218 |
1219 | update-browserslist-db@^1.0.4:
1220 | version "1.0.4"
1221 | resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz"
1222 | integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==
1223 | dependencies:
1224 | escalade "^3.1.1"
1225 | picocolors "^1.0.0"
1226 |
1227 | util-deprecate@^1.0.2:
1228 | version "1.0.2"
1229 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
1230 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
1231 |
1232 | vite-plugin-static-copy@^0.13.1:
1233 | version "0.13.1"
1234 | resolved "https://registry.npmmirror.com/vite-plugin-static-copy/-/vite-plugin-static-copy-0.13.1.tgz"
1235 | integrity sha512-KwIcGBT1aOxSq+laK3VmSngoEa3HXWj/6ZEXdv+y59eZ7p/XSuPahoDo+CfYW22JjTdnstgeKWiX+78KNgDu6g==
1236 | dependencies:
1237 | chokidar "^3.5.3"
1238 | fast-glob "^3.2.11"
1239 | fs-extra "^11.1.0"
1240 | picocolors "^1.0.0"
1241 |
1242 | vite@^3.0.0:
1243 | version "3.0.0"
1244 | resolved "https://registry.npmjs.org/vite/-/vite-3.0.0.tgz"
1245 | integrity sha512-M7phQhY3+fRZa0H+1WzI6N+/onruwPTBTMvaj7TzgZ0v2TE+N2sdLKxJOfOv9CckDWt5C4HmyQP81xB4dwRKzA==
1246 | dependencies:
1247 | esbuild "^0.14.47"
1248 | postcss "^8.4.14"
1249 | resolve "^1.22.1"
1250 | rollup "^2.75.6"
1251 | optionalDependencies:
1252 | fsevents "~2.3.2"
1253 |
1254 | xtend@^4.0.2:
1255 | version "4.0.2"
1256 | resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
1257 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
1258 |
1259 | yaml@^1.10.2:
1260 | version "1.10.2"
1261 | resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
1262 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
1263 |
--------------------------------------------------------------------------------