Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
sevenpro-frontend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
FAP
sevenpro-frontend
Commits
4f7e1d0b
Commit
4f7e1d0b
authored
Oct 10, 2024
by
Wellton Quirino
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
crud of areas
parent
9863ab2f
Changes
19
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1094 additions
and
1284 deletions
+1094
-1284
package-lock.json
package-lock.json
+336
-1131
package.json
package.json
+4
-1
areas.ts
src/api/areas.ts
+54
-0
audiences.ts
src/api/audiences.ts
+11
-0
banners.ts
src/api/banners.ts
+13
-0
page.tsx
src/app/admin/area/[id]/page.tsx
+127
-52
page.tsx
src/app/admin/area/page.tsx
+73
-51
page.tsx
src/app/admin/curso/[id]/page.tsx
+2
-2
page.tsx
src/app/admin/curso/page.tsx
+2
-2
page.tsx
src/app/admin/page.tsx
+48
-29
layout.tsx
src/app/layout.tsx
+9
-3
breadcrumb-component.tsx
src/components/breadcrumb-component.tsx
+30
-0
input-file.tsx
src/components/input-file.tsx
+31
-0
modal-dialog.tsx
src/components/modal-dialog.tsx
+34
-0
alert-dialog.tsx
src/components/ui/alert-dialog.tsx
+141
-0
breadcrumb.tsx
src/components/ui/breadcrumb.tsx
+115
-0
input.tsx
src/components/ui/input.tsx
+41
-12
axios.ts
src/lib/axios.ts
+1
-1
react-query.tsx
src/providers/react-query.tsx
+22
-0
No files found.
package-lock.json
View file @
4f7e1d0b
...
@@ -13,6 +13,7 @@
...
@@ -13,6 +13,7 @@
"@hookform/resolvers"
:
"^3.9.0"
,
"@hookform/resolvers"
:
"^3.9.0"
,
"@mui/material"
:
"^5.16.4"
,
"@mui/material"
:
"^5.16.4"
,
"@radix-ui/react-accordion"
:
"^1.2.0"
,
"@radix-ui/react-accordion"
:
"^1.2.0"
,
"@radix-ui/react-alert-dialog"
:
"^1.1.2"
,
"@radix-ui/react-checkbox"
:
"^1.1.1"
,
"@radix-ui/react-checkbox"
:
"^1.1.1"
,
"@radix-ui/react-dialog"
:
"^1.0.5"
,
"@radix-ui/react-dialog"
:
"^1.0.5"
,
"@radix-ui/react-label"
:
"^2.1.0"
,
"@radix-ui/react-label"
:
"^2.1.0"
,
...
@@ -20,7 +21,8 @@
...
@@ -20,7 +21,8 @@
"@radix-ui/react-select"
:
"^2.1.1"
,
"@radix-ui/react-select"
:
"^2.1.1"
,
"@radix-ui/react-separator"
:
"^1.1.0"
,
"@radix-ui/react-separator"
:
"^1.1.0"
,
"@radix-ui/react-slot"
:
"^1.1.0"
,
"@radix-ui/react-slot"
:
"^1.1.0"
,
"axios"
:
"^1.7.2"
,
"@tanstack/react-query"
:
"^5.59.3"
,
"axios"
:
"^1.7.7"
,
"class-variance-authority"
:
"^0.7.0"
,
"class-variance-authority"
:
"^0.7.0"
,
"clsx"
:
"^2.1.1"
,
"clsx"
:
"^2.1.1"
,
"date-fns"
:
"^3.6.0"
,
"date-fns"
:
"^3.6.0"
,
...
@@ -34,6 +36,7 @@
...
@@ -34,6 +36,7 @@
"react-dom"
:
"^18"
,
"react-dom"
:
"^18"
,
"react-hook-form"
:
"^7.52.2"
,
"react-hook-form"
:
"^7.52.2"
,
"react-input-mask"
:
"^2.0.4"
,
"react-input-mask"
:
"^2.0.4"
,
"sonner"
:
"^1.5.0"
,
"tailwind-merge"
:
"^2.3.0"
,
"tailwind-merge"
:
"^2.3.0"
,
"tailwindcss-animate"
:
"^1.0.7"
,
"tailwindcss-animate"
:
"^1.0.7"
,
"zod"
:
"^3.23.8"
"zod"
:
"^3.23.8"
...
@@ -1080,12 +1083,9 @@
...
@@ -1080,12 +1083,9 @@
"integrity"
:
"sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ=="
"integrity"
:
"sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ=="
},
},
"node_modules/@radix-ui/primitive"
:
{
"node_modules/@radix-ui/primitive"
:
{
"version"
:
"1.0.1"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz"
,
"integrity"
:
"sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw=="
,
"integrity"
:
"sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA=="
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
}
},
},
"node_modules/@radix-ui/react-accordion"
:
{
"node_modules/@radix-ui/react-accordion"
:
{
"version"
:
"1.2.0"
,
"version"
:
"1.2.0"
,
...
@@ -1117,25 +1117,6 @@
...
@@ -1117,25 +1117,6 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/primitive"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz"
,
"integrity"
:
"sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA=="
},
"node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-compose-refs"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz"
,
"integrity"
:
"sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-context"
:
{
"node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-context"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
...
@@ -1150,28 +1131,16 @@
...
@@ -1150,28 +1131,16 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-id"
:
{
"node_modules/@radix-ui/react-alert-dialog"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.2.tgz"
,
"integrity"
:
"sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA=="
,
"integrity"
:
"sha512-eGSlLzPhKO+TErxkiGcCZGuvbVMnLA1MTnyBksGOeGRGkxHiiJUujsjmNTdWTm4iHVSRaUao9/4Ur671auMghQ=="
,
"dependencies"
:
{
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-primitive"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz"
,
"integrity"
:
"sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.1"
,
"@radix-ui/react-dialog"
:
"1.1.2"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-slot"
:
"1.1.0"
"@radix-ui/react-slot"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
...
@@ -1189,79 +1158,78 @@
...
@@ -1189,79 +1158,78 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-a
ccordion/node_modules/@radix-ui/react-use-callback-ref
"
:
{
"node_modules/@radix-ui/react-a
rrow
"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.0.tgz"
,
"integrity"
:
"sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="
,
"integrity"
:
"sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw=="
,
"dependencies"
:
{
"@radix-ui/react-primitive"
:
"2.0.0"
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
}
}
},
},
"node_modules/@radix-ui/react-
accordion/node_modules/@radix-ui/react-use-controllable-state
"
:
{
"node_modules/@radix-ui/react-
checkbox
"
:
{
"version"
:
"1.1.
0
"
,
"version"
:
"1.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
use-controllable-state/-/react-use-controllable-state-1.1.0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
checkbox/-/react-checkbox-1.1.1
.tgz"
,
"integrity"
:
"sha512-
MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDCh
w=="
,
"integrity"
:
"sha512-
0i/EKJ222Afa1FE0C6pNJxDq1itzcl3HChE9DwskA4th4KRse8ojx8a1nVcOjwJdbpDLcz7uol77yYnQNMHdK
w=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-presence"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-controllable-state"
:
"1.1.0"
,
"@radix-ui/react-use-previous"
:
"1.1.0"
,
"@radix-ui/react-use-size"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-use-layout-effect"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz"
,
"integrity"
:
"sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"@types/react-dom"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
}
}
}
}
},
},
"node_modules/@radix-ui/react-
arrow
"
:
{
"node_modules/@radix-ui/react-
checkbox/node_modules/@radix-ui/react-context
"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"integrity"
:
"sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw=="
,
"integrity"
:
"sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A=="
,
"dependencies"
:
{
"@radix-ui/react-primitive"
:
"2.0.0"
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
}
}
},
},
"node_modules/@radix-ui/react-
arrow/node_modules/@radix-ui/react-primitiv
e"
:
{
"node_modules/@radix-ui/react-
checkbox/node_modules/@radix-ui/react-presenc
e"
:
{
"version"
:
"
2.0
.0"
,
"version"
:
"
1.1
.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-pr
imitive/-/react-primitive-2.0
.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-pr
esence/-/react-presence-1.1
.0.tgz"
,
"integrity"
:
"sha512-
ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw
=="
,
"integrity"
:
"sha512-
Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-slot"
:
"1.1.0"
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -1278,19 +1246,19 @@
...
@@ -1278,19 +1246,19 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-c
heckbox
"
:
{
"node_modules/@radix-ui/react-c
ollapsible
"
:
{
"version"
:
"1.1.
1
"
,
"version"
:
"1.1.
0
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-c
heckbox/-/react-checkbox-1.1.1
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-c
ollapsible/-/react-collapsible-1.1.0
.tgz"
,
"integrity"
:
"sha512-
0i/EKJ222Afa1FE0C6pNJxDq1itzcl3HChE9DwskA4th4KRse8ojx8a1nVcOjwJdbpDLcz7uol77yYnQNMHdKw
=="
,
"integrity"
:
"sha512-
zQY7Epa8sTL0mq4ajSJpjgn2YmCgyrG7RsQgLp3C0LQVkG7+Tf6Pv1CeNWZLyqMjhdPkBa5Lx7wYBeSu7uCSTA
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-id"
:
"1.1.0"
,
"@radix-ui/react-presence"
:
"1.1.0"
,
"@radix-ui/react-presence"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-controllable-state"
:
"1.1.0"
,
"@radix-ui/react-use-controllable-state"
:
"1.1.0"
,
"@radix-ui/react-use-previous"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
"@radix-ui/react-use-size"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -1307,26 +1275,7 @@
...
@@ -1307,26 +1275,7 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/primitive"
:
{
"node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/react-context"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz"
,
"integrity"
:
"sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA=="
},
"node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-compose-refs"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz"
,
"integrity"
:
"sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-context"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"integrity"
:
"sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A=="
,
"integrity"
:
"sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A=="
,
...
@@ -1340,7 +1289,7 @@
...
@@ -1340,7 +1289,7 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-c
heckbox
/node_modules/@radix-ui/react-presence"
:
{
"node_modules/@radix-ui/react-c
ollapsible
/node_modules/@radix-ui/react-presence"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.0.tgz"
,
"integrity"
:
"sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ=="
,
"integrity"
:
"sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ=="
,
...
@@ -1363,11 +1312,14 @@
...
@@ -1363,11 +1312,14 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-c
heckbox/node_modules/@radix-ui/react-primitive
"
:
{
"node_modules/@radix-ui/react-c
ollection
"
:
{
"version"
:
"
2.0
.0"
,
"version"
:
"
1.1
.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
primitive/-/react-primitive-2.0
.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
collection/-/react-collection-1.1
.0.tgz"
,
"integrity"
:
"sha512-
ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6C
w=="
,
"integrity"
:
"sha512-
GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZ
w=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-slot"
:
"1.1.0"
"@radix-ui/react-slot"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
...
@@ -1385,10 +1337,10 @@
...
@@ -1385,10 +1337,10 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-c
heckbox/node_modules/@radix-ui/react-use-callback-ref
"
:
{
"node_modules/@radix-ui/react-c
ollection/node_modules/@radix-ui/react-context
"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
use-callback-ref/-/react-use-callback-ref
-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
context/-/react-context
-1.1.0.tgz"
,
"integrity"
:
"sha512-
CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw
=="
,
"integrity"
:
"sha512-
OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A
=="
,
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -1399,13 +1351,10 @@
...
@@ -1399,13 +1351,10 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-c
heckbox/node_modules/@radix-ui/react-use-controllable-state
"
:
{
"node_modules/@radix-ui/react-c
ompose-refs
"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz"
,
"integrity"
:
"sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw=="
,
"integrity"
:
"sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw=="
,
"dependencies"
:
{
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -1416,10 +1365,10 @@
...
@@ -1416,10 +1365,10 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-c
heckbox/node_modules/@radix-ui/react-use-layout-effec
t"
:
{
"node_modules/@radix-ui/react-c
ontex
t"
:
{
"version"
:
"1.1.
0
"
,
"version"
:
"1.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
use-layout-effect/-/react-use-layout-effect-1.1.0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
context/-/react-context-1.1.1
.tgz"
,
"integrity"
:
"sha512-
+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w
=="
,
"integrity"
:
"sha512-
UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q
=="
,
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -1430,19 +1379,25 @@
...
@@ -1430,19 +1379,25 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
collapsible
"
:
{
"node_modules/@radix-ui/react-
dialog
"
:
{
"version"
:
"1.1.
0
"
,
"version"
:
"1.1.
2
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
collapsible/-/react-collapsible-1.1.0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
dialog/-/react-dialog-1.1.2
.tgz"
,
"integrity"
:
"sha512-
zQY7Epa8sTL0mq4ajSJpjgn2YmCgyrG7RsQgLp3C0LQVkG7+Tf6Pv1CeNWZLyqMjhdPkBa5Lx7wYBeSu7uCST
A=="
,
"integrity"
:
"sha512-
Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIy
A=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.1"
,
"@radix-ui/react-dismissable-layer"
:
"1.1.1"
,
"@radix-ui/react-focus-guards"
:
"1.1.1"
,
"@radix-ui/react-focus-scope"
:
"1.1.0"
,
"@radix-ui/react-id"
:
"1.1.0"
,
"@radix-ui/react-id"
:
"1.1.0"
,
"@radix-ui/react-presence"
:
"1.1.0"
,
"@radix-ui/react-portal"
:
"1.1.2"
,
"@radix-ui/react-presence"
:
"1.1.1"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-slot"
:
"1.1.0"
,
"@radix-ui/react-use-controllable-state"
:
"1.1.0"
,
"@radix-ui/react-use-controllable-state"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
"aria-hidden"
:
"^1.1.1"
,
"react-remove-scroll"
:
"2.6.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -1459,15 +1414,10 @@
...
@@ -1459,15 +1414,10 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/primitive"
:
{
"node_modules/@radix-ui/react-direction"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz"
,
"integrity"
:
"sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA=="
},
"node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/react-compose-refs"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
compose-refs/-/react-compose-refs
-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
direction/-/react-direction
-1.1.0.tgz"
,
"integrity"
:
"sha512-
b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw
=="
,
"integrity"
:
"sha512-
BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg
=="
,
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -1478,27 +1428,36 @@
...
@@ -1478,27 +1428,36 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/react-context"
:
{
"node_modules/@radix-ui/react-dismissable-layer"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.1.tgz"
,
"integrity"
:
"sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A=="
,
"integrity"
:
"sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ=="
,
"dependencies"
:
{
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
,
"@radix-ui/react-use-escape-keydown"
:
"1.1.0"
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
}
}
},
},
"node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/react-id"
:
{
"node_modules/@radix-ui/react-focus-guards"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz"
,
"integrity"
:
"sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA=="
,
"integrity"
:
"sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg=="
,
"dependencies"
:
{
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -1509,13 +1468,14 @@
...
@@ -1509,13 +1468,14 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
collapsible/node_modules/@radix-ui/react-presenc
e"
:
{
"node_modules/@radix-ui/react-
focus-scop
e"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
presence/-/react-presenc
e-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
focus-scope/-/react-focus-scop
e-1.1.0.tgz"
,
"integrity"
:
"sha512-
Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ
=="
,
"integrity"
:
"sha512-
200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -1532,82 +1492,65 @@
...
@@ -1532,82 +1492,65 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
collapsible/node_modules/@radix-ui/react-primitive
"
:
{
"node_modules/@radix-ui/react-
id
"
:
{
"version"
:
"
2.0
.0"
,
"version"
:
"
1.1
.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
primitive/-/react-primitive-2.0
.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
id/-/react-id-1.1
.0.tgz"
,
"integrity"
:
"sha512-
ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw
=="
,
"integrity"
:
"sha512-
EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-
slo
t"
:
"1.1.0"
"@radix-ui/react-
use-layout-effec
t"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
}
}
},
},
"node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/react-use-callback-ref"
:
{
"node_modules/@radix-ui/react-label"
:
{
"version"
:
"1.1.0"
,
"version"
:
"2.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.0.tgz"
,
"integrity"
:
"sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="
,
"integrity"
:
"sha512-peLblDlFw/ngk3UWq0VnYaOLy6agTZZ+MUO/WhVfm14vJGML+xH4FAl2XQGLqdefjNb7ApRg6Yn7U42ZhmYXdw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/react-use-controllable-state"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz"
,
"integrity"
:
"sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-
use-callback-ref"
:
"1.1
.0"
"@radix-ui/react-
primitive"
:
"2.0
.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/react-use-layout-effect"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz"
,
"integrity"
:
"sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"@types/react-dom"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
}
}
}
}
},
},
"node_modules/@radix-ui/react-
collection
"
:
{
"node_modules/@radix-ui/react-
popover
"
:
{
"version"
:
"1.1.
0
"
,
"version"
:
"1.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
collection/-/react-collection-1.1.0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
popover/-/react-popover-1.1.1
.tgz"
,
"integrity"
:
"sha512-
GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw
=="
,
"integrity"
:
"sha512-
3y1A3isulwnWhvTTwmIreiB8CF4L+qRjZnK1wYLO7pplddzXKby/GnZ2M7OZY3qgnl6p9AodUIHRYGXNah8Y7g
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-dismissable-layer"
:
"1.1.0"
,
"@radix-ui/react-focus-guards"
:
"1.1.0"
,
"@radix-ui/react-focus-scope"
:
"1.1.0"
,
"@radix-ui/react-id"
:
"1.1.0"
,
"@radix-ui/react-popper"
:
"1.2.0"
,
"@radix-ui/react-portal"
:
"1.1.1"
,
"@radix-ui/react-presence"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-slot"
:
"1.1.0"
"@radix-ui/react-slot"
:
"1.1.0"
,
"@radix-ui/react-use-controllable-state"
:
"1.1.0"
,
"aria-hidden"
:
"^1.1.1"
,
"react-remove-scroll"
:
"2.5.7"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -1624,21 +1567,7 @@
...
@@ -1624,21 +1567,7 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-compose-refs"
:
{
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz"
,
"integrity"
:
"sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-context"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"integrity"
:
"sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A=="
,
"integrity"
:
"sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A=="
,
...
@@ -1652,12 +1581,16 @@
...
@@ -1652,12 +1581,16 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
collection/node_modules/@radix-ui/react-primitive
"
:
{
"node_modules/@radix-ui/react-
popover/node_modules/@radix-ui/react-dismissable-layer
"
:
{
"version"
:
"
2.0
.0"
,
"version"
:
"
1.1
.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
primitive/-/react-primitive-2.0
.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
dismissable-layer/-/react-dismissable-layer-1.1
.0.tgz"
,
"integrity"
:
"sha512-
ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw
=="
,
"integrity"
:
"sha512-
/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-slot"
:
"1.1.0"
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
,
"@radix-ui/react-use-escape-keydown"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -1674,98 +1607,10 @@
...
@@ -1674,98 +1607,10 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-compose-refs"
:
{
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-focus-guards"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz"
,
"integrity"
:
"sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-context"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz"
,
"integrity"
:
"sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-dialog"
:
{
"version"
:
"1.0.5"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz"
,
"integrity"
:
"sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/primitive"
:
"1.0.1"
,
"@radix-ui/react-compose-refs"
:
"1.0.1"
,
"@radix-ui/react-context"
:
"1.0.1"
,
"@radix-ui/react-dismissable-layer"
:
"1.0.5"
,
"@radix-ui/react-focus-guards"
:
"1.0.1"
,
"@radix-ui/react-focus-scope"
:
"1.0.4"
,
"@radix-ui/react-id"
:
"1.0.1"
,
"@radix-ui/react-portal"
:
"1.0.4"
,
"@radix-ui/react-presence"
:
"1.0.1"
,
"@radix-ui/react-primitive"
:
"1.0.3"
,
"@radix-ui/react-slot"
:
"1.0.2"
,
"@radix-ui/react-use-controllable-state"
:
"1.0.1"
,
"aria-hidden"
:
"^1.1.1"
,
"react-remove-scroll"
:
"2.5.5"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz"
,
"integrity"
:
"sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/react-compose-refs"
:
"1.0.1"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-direction"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
direction/-/react-direction
-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
focus-guards/-/react-focus-guards
-1.1.0.tgz"
,
"integrity"
:
"sha512-
BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg
=="
,
"integrity"
:
"sha512-
w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw
=="
,
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -1776,99 +1621,13 @@
...
@@ -1776,99 +1621,13 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-dismissable-layer"
:
{
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-portal"
:
{
"version"
:
"1.0.5"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.1.tgz"
,
"integrity"
:
"sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g=="
,
"integrity"
:
"sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/primitive"
:
"1.0.1"
,
"@radix-ui/react-compose-refs"
:
"1.0.1"
,
"@radix-ui/react-primitive"
:
"1.0.3"
,
"@radix-ui/react-use-callback-ref"
:
"1.0.1"
,
"@radix-ui/react-use-escape-keydown"
:
"1.0.3"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-focus-guards"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz"
,
"integrity"
:
"sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-focus-scope"
:
{
"version"
:
"1.0.4"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz"
,
"integrity"
:
"sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/react-compose-refs"
:
"1.0.1"
,
"@radix-ui/react-primitive"
:
"1.0.3"
,
"@radix-ui/react-use-callback-ref"
:
"1.0.1"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-id"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz"
,
"integrity"
:
"sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/react-use-layout-effect"
:
"1.0.1"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-label"
:
{
"version"
:
"2.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.0.tgz"
,
"integrity"
:
"sha512-peLblDlFw/ngk3UWq0VnYaOLy6agTZZ+MUO/WhVfm14vJGML+xH4FAl2XQGLqdefjNb7ApRg6Yn7U42ZhmYXdw=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-primitive"
:
"2.0.0"
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -1885,12 +1644,13 @@
...
@@ -1885,12 +1644,13 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
label/node_modules/@radix-ui/react-primitiv
e"
:
{
"node_modules/@radix-ui/react-
popover/node_modules/@radix-ui/react-presenc
e"
:
{
"version"
:
"
2.0
.0"
,
"version"
:
"
1.1
.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-pr
imitive/-/react-primitive-2.0
.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-pr
esence/-/react-presence-1.1
.0.tgz"
,
"integrity"
:
"sha512-
ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw
=="
,
"integrity"
:
"sha512-
Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-slot"
:
"1.1.0"
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -1907,290 +1667,10 @@
...
@@ -1907,290 +1667,10 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-popover"
:
{
"node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll"
:
{
"version"
:
"1.1.1"
,
"version"
:
"2.5.7"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz"
,
"integrity"
:
"sha512-3y1A3isulwnWhvTTwmIreiB8CF4L+qRjZnK1wYLO7pplddzXKby/GnZ2M7OZY3qgnl6p9AodUIHRYGXNah8Y7g=="
,
"integrity"
:
"sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA=="
,
"dependencies"
:
{
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-dismissable-layer"
:
"1.1.0"
,
"@radix-ui/react-focus-guards"
:
"1.1.0"
,
"@radix-ui/react-focus-scope"
:
"1.1.0"
,
"@radix-ui/react-id"
:
"1.1.0"
,
"@radix-ui/react-popper"
:
"1.2.0"
,
"@radix-ui/react-portal"
:
"1.1.1"
,
"@radix-ui/react-presence"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-slot"
:
"1.1.0"
,
"@radix-ui/react-use-controllable-state"
:
"1.1.0"
,
"aria-hidden"
:
"^1.1.1"
,
"react-remove-scroll"
:
"2.5.7"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/primitive"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz"
,
"integrity"
:
"sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA=="
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-compose-refs"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz"
,
"integrity"
:
"sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"integrity"
:
"sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-dismissable-layer"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.0.tgz"
,
"integrity"
:
"sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig=="
,
"dependencies"
:
{
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
,
"@radix-ui/react-use-escape-keydown"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-focus-guards"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.0.tgz"
,
"integrity"
:
"sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-focus-scope"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz"
,
"integrity"
:
"sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA=="
,
"dependencies"
:
{
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-id"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz"
,
"integrity"
:
"sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA=="
,
"dependencies"
:
{
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-portal"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.1.tgz"
,
"integrity"
:
"sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g=="
,
"dependencies"
:
{
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-presence"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.0.tgz"
,
"integrity"
:
"sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ=="
,
"dependencies"
:
{
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-primitive"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz"
,
"integrity"
:
"sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw=="
,
"dependencies"
:
{
"@radix-ui/react-slot"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-callback-ref"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz"
,
"integrity"
:
"sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-controllable-state"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz"
,
"integrity"
:
"sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw=="
,
"dependencies"
:
{
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-escape-keydown"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz"
,
"integrity"
:
"sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw=="
,
"dependencies"
:
{
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-layout-effect"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz"
,
"integrity"
:
"sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll"
:
{
"version"
:
"2.5.7"
,
"resolved"
:
"https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz"
,
"integrity"
:
"sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA=="
,
"dependencies"
:
{
"dependencies"
:
{
"react-remove-scroll-bar"
:
"^2.3.4"
,
"react-remove-scroll-bar"
:
"^2.3.4"
,
"react-style-singleton"
:
"^2.2.1"
,
"react-style-singleton"
:
"^2.2.1"
,
...
@@ -2198,284 +1678,12 @@
...
@@ -2198,284 +1678,12 @@
"use-callback-ref"
:
"^1.3.0"
,
"use-callback-ref"
:
"^1.3.0"
,
"use-sidecar"
:
"^1.1.2"
"use-sidecar"
:
"^1.1.2"
},
},
"engines"
:
{
"engines"
:
{
"node"
:
">=10"
"node"
:
">=10"
},
"peerDependencies"
:
{
"@types/react"
:
"^16.8.0 || ^17.0.0 || ^18.0.0"
,
"react"
:
"^16.8.0 || ^17.0.0 || ^18.0.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popper"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.0.tgz"
,
"integrity"
:
"sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg=="
,
"dependencies"
:
{
"@floating-ui/react-dom"
:
"^2.0.0"
,
"@radix-ui/react-arrow"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
,
"@radix-ui/react-use-rect"
:
"1.1.0"
,
"@radix-ui/react-use-size"
:
"1.1.0"
,
"@radix-ui/rect"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-compose-refs"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz"
,
"integrity"
:
"sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-context"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"integrity"
:
"sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz"
,
"integrity"
:
"sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw=="
,
"dependencies"
:
{
"@radix-ui/react-slot"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-callback-ref"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz"
,
"integrity"
:
"sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-layout-effect"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz"
,
"integrity"
:
"sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-portal"
:
{
"version"
:
"1.0.4"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz"
,
"integrity"
:
"sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/react-primitive"
:
"1.0.3"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-presence"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz"
,
"integrity"
:
"sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/react-compose-refs"
:
"1.0.1"
,
"@radix-ui/react-use-layout-effect"
:
"1.0.1"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-primitive"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz"
,
"integrity"
:
"sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/react-slot"
:
"1.0.2"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz"
,
"integrity"
:
"sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/react-compose-refs"
:
"1.0.1"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-select"
:
{
"version"
:
"2.1.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.1.tgz"
,
"integrity"
:
"sha512-8iRDfyLtzxlprOo9IicnzvpsO1wNCkuwzzCM+Z5Rb5tNOpCdMvcc2AkzX0Fz+Tz9v6NJ5B/7EEgyZveo4FBRfQ=="
,
"dependencies"
:
{
"@radix-ui/number"
:
"1.1.0"
,
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-collection"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-direction"
:
"1.1.0"
,
"@radix-ui/react-dismissable-layer"
:
"1.1.0"
,
"@radix-ui/react-focus-guards"
:
"1.1.0"
,
"@radix-ui/react-focus-scope"
:
"1.1.0"
,
"@radix-ui/react-id"
:
"1.1.0"
,
"@radix-ui/react-popper"
:
"1.2.0"
,
"@radix-ui/react-portal"
:
"1.1.1"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-slot"
:
"1.1.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
,
"@radix-ui/react-use-controllable-state"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
,
"@radix-ui/react-use-previous"
:
"1.1.0"
,
"@radix-ui/react-visually-hidden"
:
"1.1.0"
,
"aria-hidden"
:
"^1.1.1"
,
"react-remove-scroll"
:
"2.5.7"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/primitive"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz"
,
"integrity"
:
"sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA=="
},
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-compose-refs"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz"
,
"integrity"
:
"sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
},
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-context"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz"
,
"integrity"
:
"sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A=="
,
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"
*
"
,
"@types/react"
:
"
^16.8.0 || ^17.0.0 || ^18.0.0
"
,
"react"
:
"^16.8
|| ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
"
"react"
:
"^16.8
.0 || ^17.0.0 || ^18.0.0
"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
...
@@ -2483,16 +1691,21 @@
...
@@ -2483,16 +1691,21 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
select/node_modules/@radix-ui/react-dismissable-lay
er"
:
{
"node_modules/@radix-ui/react-
popp
er"
:
{
"version"
:
"1.
1
.0"
,
"version"
:
"1.
2
.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
dismissable-layer/-/react-dismissable-layer-1.1
.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
popper/-/react-popper-1.2
.0.tgz"
,
"integrity"
:
"sha512-
/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2ji
g=="
,
"integrity"
:
"sha512-
ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7V
g=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/primitive"
:
"1.1.0"
,
"@floating-ui/react-dom"
:
"^2.0.0"
,
"@radix-ui/react-arrow"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
,
"@radix-ui/react-use-escape-keydown"
:
"1.1.0"
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
,
"@radix-ui/react-use-rect"
:
"1.1.0"
,
"@radix-ui/react-use-size"
:
"1.1.0"
,
"@radix-ui/rect"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -2509,10 +1722,10 @@
...
@@ -2509,10 +1722,10 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
select/node_modules/@radix-ui/react-focus-guards
"
:
{
"node_modules/@radix-ui/react-
popper/node_modules/@radix-ui/react-context
"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
focus-guards/-/react-focus-guards
-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
context/-/react-context
-1.1.0.tgz"
,
"integrity"
:
"sha512-
w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw
=="
,
"integrity"
:
"sha512-
OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A
=="
,
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -2523,14 +1736,13 @@
...
@@ -2523,14 +1736,13 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
select/node_modules/@radix-ui/react-focus-scope
"
:
{
"node_modules/@radix-ui/react-
portal
"
:
{
"version"
:
"1.1.
0
"
,
"version"
:
"1.1.
2
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
focus-scope/-/react-focus-scope-1.1.0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
portal/-/react-portal-1.1.2
.tgz"
,
"integrity"
:
"sha512-
200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA
=="
,
"integrity"
:
"sha512-
WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-
callback-ref
"
:
"1.1.0"
"@radix-ui/react-use-
layout-effect
"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -2547,30 +1759,35 @@
...
@@ -2547,30 +1759,35 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
select/node_modules/@radix-ui/react-id
"
:
{
"node_modules/@radix-ui/react-
presence
"
:
{
"version"
:
"1.1.
0
"
,
"version"
:
"1.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
id/-/react-id-1.1.0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
presence/-/react-presence-1.1.1
.tgz"
,
"integrity"
:
"sha512-
EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWM
A=="
,
"integrity"
:
"sha512-
IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/
A=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
}
}
},
},
"node_modules/@radix-ui/react-
select/node_modules/@radix-ui/react-portal
"
:
{
"node_modules/@radix-ui/react-
primitive
"
:
{
"version"
:
"
1.1.1
"
,
"version"
:
"
2.0.0
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-p
ortal/-/react-portal-1.1.1
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-p
rimitive/-/react-primitive-2.0.0
.tgz"
,
"integrity"
:
"sha512-
A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g
=="
,
"integrity"
:
"sha512-
ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-slot"
:
"1.1.0"
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -2587,12 +1804,32 @@
...
@@ -2587,12 +1804,32 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-select
/node_modules/@radix-ui/react-primitive
"
:
{
"node_modules/@radix-ui/react-select"
:
{
"version"
:
"2.
0.0
"
,
"version"
:
"2.
1.1
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
primitive/-/react-primitive-2.0.0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
select/-/react-select-2.1.1
.tgz"
,
"integrity"
:
"sha512-
ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw
=="
,
"integrity"
:
"sha512-
8iRDfyLtzxlprOo9IicnzvpsO1wNCkuwzzCM+Z5Rb5tNOpCdMvcc2AkzX0Fz+Tz9v6NJ5B/7EEgyZveo4FBRfQ
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-slot"
:
"1.1.0"
"@radix-ui/number"
:
"1.1.0"
,
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-collection"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-context"
:
"1.1.0"
,
"@radix-ui/react-direction"
:
"1.1.0"
,
"@radix-ui/react-dismissable-layer"
:
"1.1.0"
,
"@radix-ui/react-focus-guards"
:
"1.1.0"
,
"@radix-ui/react-focus-scope"
:
"1.1.0"
,
"@radix-ui/react-id"
:
"1.1.0"
,
"@radix-ui/react-popper"
:
"1.2.0"
,
"@radix-ui/react-portal"
:
"1.1.1"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-slot"
:
"1.1.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
,
"@radix-ui/react-use-controllable-state"
:
"1.1.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
,
"@radix-ui/react-use-previous"
:
"1.1.0"
,
"@radix-ui/react-visually-hidden"
:
"1.1.0"
,
"aria-hidden"
:
"^1.1.1"
,
"react-remove-scroll"
:
"2.5.7"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
...
@@ -2609,10 +1846,10 @@
...
@@ -2609,10 +1846,10 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-
use-callback-ref
"
:
{
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-
context
"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
use-callback-ref/-/react-use-callback-ref
-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
context/-/react-context
-1.1.0.tgz"
,
"integrity"
:
"sha512-
CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw
=="
,
"integrity"
:
"sha512-
OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A
=="
,
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -2623,30 +1860,36 @@
...
@@ -2623,30 +1860,36 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-
use-controllable-state
"
:
{
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-
dismissable-layer
"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
use-controllable-state/-/react-use-controllable-state
-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
dismissable-layer/-/react-dismissable-layer
-1.1.0.tgz"
,
"integrity"
:
"sha512-
MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw
=="
,
"integrity"
:
"sha512-
/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
"@radix-ui/primitive"
:
"1.1.0"
,
"@radix-ui/react-compose-refs"
:
"1.1.0"
,
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
,
"@radix-ui/react-use-escape-keydown"
:
"1.1.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
}
}
},
},
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-
use-escape-keydown
"
:
{
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-
focus-guards
"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.0.tgz"
,
"integrity"
:
"sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw=="
,
"integrity"
:
"sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw=="
,
"dependencies"
:
{
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -2657,17 +1900,26 @@
...
@@ -2657,17 +1900,26 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-layout-effect"
:
{
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-portal"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.1.tgz"
,
"integrity"
:
"sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="
,
"integrity"
:
"sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g=="
,
"dependencies"
:
{
"@radix-ui/react-primitive"
:
"2.0.0"
,
"@radix-ui/react-use-layout-effect"
:
"1.1.0"
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
"optional"
:
true
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
}
}
},
},
...
@@ -2717,28 +1969,6 @@
...
@@ -2717,28 +1969,6 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz"
,
"integrity"
:
"sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw=="
,
"dependencies"
:
{
"@radix-ui/react-slot"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-slot"
:
{
"node_modules/@radix-ui/react-slot"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz"
,
...
@@ -2756,10 +1986,10 @@
...
@@ -2756,10 +1986,10 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-
slot/node_modules/@radix-ui/react-compose-refs
"
:
{
"node_modules/@radix-ui/react-
use-callback-ref
"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
compose-refs/-/react-compose-refs
-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-
use-callback-ref/-/react-use-callback-ref
-1.1.0.tgz"
,
"integrity"
:
"sha512-
b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiq
w=="
,
"integrity"
:
"sha512-
CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vf
w=="
,
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
...
@@ -2770,34 +2000,16 @@
...
@@ -2770,34 +2000,16 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-use-callback-ref"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz"
,
"integrity"
:
"sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-use-controllable-state"
:
{
"node_modules/@radix-ui/react-use-controllable-state"
:
{
"version"
:
"1.
0.1
"
,
"version"
:
"1.
1.0
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.
0.1
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.
1.0
.tgz"
,
"integrity"
:
"sha512-
Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA
=="
,
"integrity"
:
"sha512-
MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
"@radix-ui/react-use-callback-ref"
:
"1.0.1"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
"react"
:
"^16.8 || ^17.0 || ^18.0
|| ^19.0 || ^19.0.0-rc
"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
...
@@ -2806,16 +2018,15 @@
...
@@ -2806,16 +2018,15 @@
}
}
},
},
"node_modules/@radix-ui/react-use-escape-keydown"
:
{
"node_modules/@radix-ui/react-use-escape-keydown"
:
{
"version"
:
"1.
0.3
"
,
"version"
:
"1.
1.0
"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.
0.3
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.
1.0
.tgz"
,
"integrity"
:
"sha512-
vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg
=="
,
"integrity"
:
"sha512-
L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw
=="
,
"dependencies"
:
{
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
,
"@radix-ui/react-use-callback-ref"
:
"1.1.0"
"@radix-ui/react-use-callback-ref"
:
"1.0.1"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
"react"
:
"^16.8 || ^17.0 || ^18.0
|| ^19.0 || ^19.0.0-rc
"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
...
@@ -2824,15 +2035,12 @@
...
@@ -2824,15 +2035,12 @@
}
}
},
},
"node_modules/@radix-ui/react-use-layout-effect"
:
{
"node_modules/@radix-ui/react-use-layout-effect"
:
{
"version"
:
"1.0.1"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz"
,
"integrity"
:
"sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ=="
,
"integrity"
:
"sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="
,
"dependencies"
:
{
"@babel/runtime"
:
"^7.13.10"
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0"
"react"
:
"^16.8 || ^17.0 || ^18.0
|| ^19.0 || ^19.0.0-rc
"
},
},
"peerDependenciesMeta"
:
{
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"@types/react"
:
{
...
@@ -2888,20 +2096,6 @@
...
@@ -2888,20 +2096,6 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-use-size/node_modules/@radix-ui/react-use-layout-effect"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz"
,
"integrity"
:
"sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="
,
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/react-visually-hidden"
:
{
"node_modules/@radix-ui/react-visually-hidden"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz"
,
...
@@ -2924,28 +2118,6 @@
...
@@ -2924,28 +2118,6 @@
}
}
}
}
},
},
"node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz"
,
"integrity"
:
"sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw=="
,
"dependencies"
:
{
"@radix-ui/react-slot"
:
"1.1.0"
},
"peerDependencies"
:
{
"@types/react"
:
"*"
,
"@types/react-dom"
:
"*"
,
"react"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
,
"react-dom"
:
"^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta"
:
{
"@types/react"
:
{
"optional"
:
true
},
"@types/react-dom"
:
{
"optional"
:
true
}
}
},
"node_modules/@radix-ui/rect"
:
{
"node_modules/@radix-ui/rect"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz"
,
...
@@ -3001,6 +2173,30 @@
...
@@ -3001,6 +2173,30 @@
"tslib"
:
"^2.4.0"
"tslib"
:
"^2.4.0"
}
}
},
},
"node_modules/@tanstack/query-core"
:
{
"version"
:
"5.59.0"
,
"resolved"
:
"https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.59.0.tgz"
,
"integrity"
:
"sha512-WGD8uIhX6/deH/tkZqPNcRyAhDUqs729bWKoByYHSogcshXfFbppOdTER5+qY7mFvu8KEFJwT0nxr8RfPTVh0Q=="
,
"funding"
:
{
"type"
:
"github"
,
"url"
:
"https://github.com/sponsors/tannerlinsley"
}
},
"node_modules/@tanstack/react-query"
:
{
"version"
:
"5.59.3"
,
"resolved"
:
"https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.59.3.tgz"
,
"integrity"
:
"sha512-FbzaQ6mQGQstj0z6B91yoUPzoc3nnU2tLkYZvmFSKWN5qj9kPTPsAbGGmQXn2NDj0nWhhAl+wOWWwSvsRqSN7Q=="
,
"dependencies"
:
{
"@tanstack/query-core"
:
"5.59.0"
},
"funding"
:
{
"type"
:
"github"
,
"url"
:
"https://github.com/sponsors/tannerlinsley"
},
"peerDependencies"
:
{
"react"
:
"^18 || ^19"
}
},
"node_modules/@types/json-schema"
:
{
"node_modules/@types/json-schema"
:
{
"version"
:
"7.0.15"
,
"version"
:
"7.0.15"
,
"resolved"
:
"https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz"
,
...
@@ -3607,9 +2803,9 @@
...
@@ -3607,9 +2803,9 @@
}
}
},
},
"node_modules/axios"
:
{
"node_modules/axios"
:
{
"version"
:
"1.7.
2
"
,
"version"
:
"1.7.
7
"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-1.7.
2
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-1.7.
7
.tgz"
,
"integrity"
:
"sha512-
2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw
=="
,
"integrity"
:
"sha512-
S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q
=="
,
"dependencies"
:
{
"dependencies"
:
{
"follow-redirects"
:
"^1.15.6"
,
"follow-redirects"
:
"^1.15.6"
,
"form-data"
:
"^4.0.0"
,
"form-data"
:
"^4.0.0"
,
...
@@ -6908,11 +6104,11 @@
...
@@ -6908,11 +6104,11 @@
"integrity"
:
"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
"integrity"
:
"sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
},
"node_modules/react-remove-scroll"
:
{
"node_modules/react-remove-scroll"
:
{
"version"
:
"2.
5.5
"
,
"version"
:
"2.
6.0
"
,
"resolved"
:
"https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.
5.5
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.
6.0
.tgz"
,
"integrity"
:
"sha512-I
mKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw
=="
,
"integrity"
:
"sha512-I
2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ
=="
,
"dependencies"
:
{
"dependencies"
:
{
"react-remove-scroll-bar"
:
"^2.3.
3
"
,
"react-remove-scroll-bar"
:
"^2.3.
6
"
,
"react-style-singleton"
:
"^2.2.1"
,
"react-style-singleton"
:
"^2.2.1"
,
"tslib"
:
"^2.1.0"
,
"tslib"
:
"^2.1.0"
,
"use-callback-ref"
:
"^1.3.0"
,
"use-callback-ref"
:
"^1.3.0"
,
...
@@ -7297,6 +6493,15 @@
...
@@ -7297,6 +6493,15 @@
"node"
:
">=8"
"node"
:
">=8"
}
}
},
},
"node_modules/sonner"
:
{
"version"
:
"1.5.0"
,
"resolved"
:
"https://registry.npmjs.org/sonner/-/sonner-1.5.0.tgz"
,
"integrity"
:
"sha512-FBjhG/gnnbN6FY0jaNnqZOMmB73R+5IiyYAw8yBj7L54ER7HB3fOSE5OFiQiE2iXWxeXKvg6fIP4LtVppHEdJA=="
,
"peerDependencies"
:
{
"react"
:
"^18.0.0"
,
"react-dom"
:
"^18.0.0"
}
},
"node_modules/source-map"
:
{
"node_modules/source-map"
:
{
"version"
:
"0.5.7"
,
"version"
:
"0.5.7"
,
"resolved"
:
"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
,
"resolved"
:
"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
,
...
...
package.json
View file @
4f7e1d0b
...
@@ -14,6 +14,7 @@
...
@@ -14,6 +14,7 @@
"
@hookform/resolvers
"
:
"
^3.9.0
"
,
"
@hookform/resolvers
"
:
"
^3.9.0
"
,
"
@mui/material
"
:
"
^5.16.4
"
,
"
@mui/material
"
:
"
^5.16.4
"
,
"
@radix-ui/react-accordion
"
:
"
^1.2.0
"
,
"
@radix-ui/react-accordion
"
:
"
^1.2.0
"
,
"
@radix-ui/react-alert-dialog
"
:
"
^1.1.2
"
,
"
@radix-ui/react-checkbox
"
:
"
^1.1.1
"
,
"
@radix-ui/react-checkbox
"
:
"
^1.1.1
"
,
"
@radix-ui/react-dialog
"
:
"
^1.0.5
"
,
"
@radix-ui/react-dialog
"
:
"
^1.0.5
"
,
"
@radix-ui/react-label
"
:
"
^2.1.0
"
,
"
@radix-ui/react-label
"
:
"
^2.1.0
"
,
...
@@ -21,7 +22,8 @@
...
@@ -21,7 +22,8 @@
"
@radix-ui/react-select
"
:
"
^2.1.1
"
,
"
@radix-ui/react-select
"
:
"
^2.1.1
"
,
"
@radix-ui/react-separator
"
:
"
^1.1.0
"
,
"
@radix-ui/react-separator
"
:
"
^1.1.0
"
,
"
@radix-ui/react-slot
"
:
"
^1.1.0
"
,
"
@radix-ui/react-slot
"
:
"
^1.1.0
"
,
"
axios
"
:
"
^1.7.2
"
,
"
@tanstack/react-query
"
:
"
^5.59.3
"
,
"
axios
"
:
"
^1.7.7
"
,
"
class-variance-authority
"
:
"
^0.7.0
"
,
"
class-variance-authority
"
:
"
^0.7.0
"
,
"
clsx
"
:
"
^2.1.1
"
,
"
clsx
"
:
"
^2.1.1
"
,
"
date-fns
"
:
"
^3.6.0
"
,
"
date-fns
"
:
"
^3.6.0
"
,
...
@@ -35,6 +37,7 @@
...
@@ -35,6 +37,7 @@
"
react-dom
"
:
"
^18
"
,
"
react-dom
"
:
"
^18
"
,
"
react-hook-form
"
:
"
^7.52.2
"
,
"
react-hook-form
"
:
"
^7.52.2
"
,
"
react-input-mask
"
:
"
^2.0.4
"
,
"
react-input-mask
"
:
"
^2.0.4
"
,
"
sonner
"
:
"
^1.5.0
"
,
"
tailwind-merge
"
:
"
^2.3.0
"
,
"
tailwind-merge
"
:
"
^2.3.0
"
,
"
tailwindcss-animate
"
:
"
^1.0.7
"
,
"
tailwindcss-animate
"
:
"
^1.0.7
"
,
"
zod
"
:
"
^3.23.8
"
"
zod
"
:
"
^3.23.8
"
...
...
src/api/areas.ts
0 → 100644
View file @
4f7e1d0b
import
{
api
}
from
'@/lib/axios'
interface
FileBanner
{
name
:
string
}
export
type
AreasProps
=
{
id
:
string
name
:
string
desktopBanner
?:
{
[
key
:
string
]:
FileBanner
}
mobileBanner
?:
{
[
key
:
string
]:
FileBanner
}
}
export
async
function
createAreas
({
name
,
desktopBanner
,
mobileBanner
,
}:
AreasProps
)
{
const
area
=
await
api
.
post
<
AreasProps
[]
>
(
'/areas'
,
{
name
,
desktopBanner
,
mobileBanner
,
})
return
area
}
export
async
function
editArea
({
id
,
name
,
desktopBanner
,
mobileBanner
,
}:
AreasProps
)
{
const
area
=
await
api
.
patch
<
AreasProps
[]
>
(
`/areas/
${
id
}
`
,
{
name
,
desktopBanner
,
mobileBanner
,
})
return
area
}
export
async
function
getAreas
()
{
const
areas
=
await
api
.
get
<
AreasProps
[]
>
(
'/areas'
)
return
areas
}
export
async
function
getAreasId
(
id
:
string
)
{
const
area
=
await
api
.
get
<
AreasProps
>
(
`/areas/
${
id
}
`
)
return
area
}
export
async
function
deleteArea
(
id
:
string
)
{
const
area
=
await
api
.
delete
(
`/areas/
${
id
}
`
)
return
area
}
\ No newline at end of file
src/api/audiences.ts
0 → 100644
View file @
4f7e1d0b
import
{
api
}
from
'@/lib/axios'
export
type
AudiencesProps
=
{
id
:
string
name
:
string
}
export
async
function
getAudiences
()
{
const
audiences
=
await
api
.
get
<
AudiencesProps
[]
>
(
'/audiences'
)
return
audiences
}
src/api/banners.ts
0 → 100644
View file @
4f7e1d0b
import
{
api
}
from
'@/lib/axios'
export
type
BannersProps
=
{
id
:
string
name
:
string
desktopBanner
?:
string
mobileBanner
?:
string
}
export
async
function
getBanners
()
{
const
banners
=
await
api
.
get
<
BannersProps
[]
>
(
'/banners'
)
return
banners
}
src/app/admin/area/[id]/page.tsx
View file @
4f7e1d0b
import
{
StyledInputs
}
from
'@/components/mui/styled-inputs'
'use client'
import
{
AreasProps
,
deleteArea
,
editArea
,
getAreasId
}
from
'@/api/areas'
import
BreadcrumbComponent
from
'@/components/breadcrumb-component'
import
InputFile
from
'@/components/input-file'
import
ModalDialog
from
'@/components/modal-dialog'
import
{
AlertDialog
,
AlertDialogTrigger
}
from
'@/components/ui/alert-dialog'
import
{
Button
}
from
'@/components/ui/button'
import
{
Button
}
from
'@/components/ui/button'
import
{
TextField
}
from
'@mui/material'
import
{
Input
}
from
'@/components/ui/input'
import
{
useMutation
,
useQuery
,
useQueryClient
}
from
'@tanstack/react-query'
import
{
Trash
}
from
'lucide-react'
import
{
Trash
}
from
'lucide-react'
import
{
useParams
,
useRouter
}
from
'next/navigation'
import
{
useForm
}
from
'react-hook-form'
import
{
toast
}
from
'sonner'
export
default
function
AreaId
()
{
export
default
function
AreaId
()
{
const
params
=
useParams
<
{
id
:
string
}
>
()
const
{
register
,
handleSubmit
,
watch
}
=
useForm
<
AreasProps
>
()
const
router
=
useRouter
()
const
data
=
watch
()
const
valueDesktopBanner
=
data
?.
desktopBanner
?.[
'0'
]?.
name
const
valueMobileBanner
=
data
?.
mobileBanner
?.[
'0'
]?.
name
const
queryClient
=
useQueryClient
()
const
{
data
:
area
,
isLoading
,
isPending
}
=
useQuery
({
queryKey
:
[
'area'
],
queryFn
:
()
=>
getAreasId
(
params
.
id
),
enabled
:
!!
params
.
id
,
})
const
mutationEdit
=
useMutation
({
mutationFn
:
editArea
,
onSuccess
:
()
=>
{
toast
.
success
(
'Área editada com sucesso!'
)
queryClient
.
invalidateQueries
({
queryKey
:
[
'areas'
]
})
router
.
push
(
'/admin'
)
},
})
const
mutationDelete
=
useMutation
({
mutationFn
:
deleteArea
,
onSuccess
:
()
=>
{
toast
.
success
(
'Área deletada com sucesso!'
)
queryClient
.
invalidateQueries
({
queryKey
:
[
'areas'
]
})
router
.
push
(
'/admin'
)
},
})
function
onSubmit
(
data
:
AreasProps
)
{
const
body
=
{
...
data
,
id
:
params
.
id
,
}
mutationEdit
.
mutate
(
body
)
}
function
handleDeleteArea
()
{
mutationDelete
.
mutate
(
params
.
id
)
}
if
(
isLoading
)
{
console
.
log
(
'isloading'
)
return
<
span
>
isLoading TEST...
</
span
>
}
if
(
isPending
)
{
console
.
log
(
'isPeding'
)
return
<
span
>
isPending TEST...
</
span
>
}
return
(
return
(
<
section
className=
"container py-10"
>
<
section
className=
"container py-20 space-y-10"
>
<
BreadcrumbComponent
/>
<
form
onSubmit=
{
handleSubmit
(
onSubmit
)
}
>
<
div
className=
"flex items-center gap-6"
>
<
div
className=
"flex items-center gap-6"
>
<
h1
className=
"text-green-700 text-3xl font-bold"
>
Editar Área
</
h1
>
<
h1
className=
"text-3xl font-bold"
>
Editar Área
</
h1
>
<
Button
variant=
"third"
className=
"uppercase"
>
<
Button
variant=
"secondary"
type=
'submit'
className=
"uppercase rounded-sm"
>
Salvar como rascunho
</
Button
>
<
Button
variant=
"secondary"
className=
"uppercase"
>
Salvar e publicar
Salvar e publicar
</
Button
>
</
Button
>
<
Button
<
AlertDialog
>
variant=
"ghost"
<>
className=
"uppercase flex items-center gap-2 text-orange-100 hover:text-orange-100"
<
AlertDialogTrigger
className=
"uppercase flex items-center gap-2 text-orange-100 border-none hover:bg-orange-100/10 hover:text-orange-100 h-10 px-5 rounded-sm"
type=
"button"
>
>
<
span
>
Apagar área
</
span
>
<
span
>
Apagar área
</
span
>
<
Trash
/>
<
Trash
/>
</
Button
>
</
AlertDialogTrigger
>
<
ModalDialog
title=
"Tem certeza que deseja deletar a área?"
description=
{
`Ao clicar em continue você irá deletar a área ${area?.data.name}`
}
handleClick=
{
handleDeleteArea
}
/>
</>
</
AlertDialog
>
</
div
>
</
div
>
<
div
className=
"w-full
"
>
<
div
className=
"w-full mt-16
"
>
<
TextField
<
Input
label=
"Nome da área"
label=
"Nome da área"
variant=
"standard"
className=
"border-green-400"
defaultValue=
{
area
?.
data
.
name
}
{
...
register
('
name
')}
type=
"text"
type=
"text"
className=
"flex"
sx=
{
StyledInputs
({
color
:
'#26AAA7'
})
}
/>
/>
<
div
className=
"flex justify-between flex-wrap gap
-6"
>
<
div
className=
"flex justify-between flex-wrap gap-6 py
-6"
>
<
div
className=
"flex flex-col flex-1 mt-6"
>
<
div
className=
"flex flex-col flex-1 mt-6"
>
<
h6
className=
"text-xl text-purple-100"
>
Banner Desktop
</
h6
>
<
h6
className=
"text-xl text-purple-100"
>
Banner Desktop
</
h6
>
<
span
className=
"mt-4"
>
Dimensões recomendadas:
</
span
>
<
span
className=
"mt-4"
>
Dimensões recomendadas: 1512 x 300
</
span
>
<
span
>
Formatos aceitos: .png, .jpg
</
span
>
<
span
>
Formatos aceitos: .png, .jpg
</
span
>
<
Button
<
InputFile
variant=
"third
"
id=
"desktopBanner
"
className=
"border border-dotted border-green-400 rounded-sm mt-6 mx-auto w-full"
values=
{
valueDesktopBanner
}
>
label=
"Adicionar banner"
Adicionar banner
{
...
register
('
desktopBanner
')}
</
Button
>
/
>
</
div
>
</
div
>
<
div
className=
"flex flex-col flex-1 mt-6"
>
<
div
className=
"flex flex-col flex-1 mt-6"
>
<
h6
className=
"text-xl text-purple-100"
>
Banner Mobile
</
h6
>
<
h6
className=
"text-xl text-purple-100"
>
Banner Mobile
</
h6
>
<
span
className=
"mt-4"
>
Dimensões recomendadas:
</
span
>
<
span
className=
"mt-4"
>
Dimensões recomendadas: 390 x 300
</
span
>
<
span
>
Formatos aceitos: .png, .jpg
</
span
>
<
span
>
Formatos aceitos: .png, .jpg
</
span
>
<
Button
<
InputFile
variant=
"third
"
id=
"mobileBanner
"
className=
"border border-dotted border-green-400 rounded-sm mt-6 mx-auto w-full"
values=
{
valueMobileBanner
}
>
label=
"Adicionar banner"
Adicionar banner
{
...
register
('
mobileBanner
')}
</
Button
>
/
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
form
>
</
section
>
</
section
>
)
)
}
}
src/app/admin/area/page.tsx
View file @
4f7e1d0b
'use client'
import
{
AreasProps
,
createAreas
}
from
'@/api/areas'
import
InputFile
from
'@/components/input-file'
import
{
StyledInputs
}
from
'@/components/mui/styled-inputs'
import
{
StyledInputs
}
from
'@/components/mui/styled-inputs'
import
{
Button
}
from
'@/components/ui/button'
import
{
Button
}
from
'@/components/ui/button'
import
{
TextField
}
from
'@mui/material'
import
{
TextField
}
from
'@mui/material'
import
{
Trash
}
from
'lucide-react'
import
{
useMutation
,
useQueryClient
}
from
'@tanstack/react-query'
import
{
useRouter
}
from
'next/navigation'
import
{
useForm
}
from
'react-hook-form'
import
{
toast
}
from
'sonner'
export
default
function
Area
()
{
export
default
function
Area
()
{
const
{
register
,
handleSubmit
,
watch
}
=
useForm
<
AreasProps
>
()
const
router
=
useRouter
()
const
data
=
watch
()
const
valueDesktopBanner
=
data
?.
desktopBanner
?.[
'0'
]?.
name
const
valueMobileBanner
=
data
?.
mobileBanner
?.[
'0'
]?.
name
const
queryClient
=
useQueryClient
()
const
mutation
=
useMutation
({
mutationFn
:
createAreas
,
onSuccess
:
()
=>
{
toast
.
success
(
'Área criada com sucesso!'
)
queryClient
.
invalidateQueries
({
queryKey
:
[
'areas'
]
})
router
.
push
(
'/admin'
)
},
})
function
onSubmit
(
data
:
AreasProps
)
{
mutation
.
mutate
(
data
)
}
return
(
return
(
<
section
className=
"container py-10"
>
<
section
className=
"container py-20 space-y-10"
>
<
form
onSubmit=
{
handleSubmit
(
onSubmit
)
}
>
<
div
className=
"flex items-center gap-6"
>
<
div
className=
"flex items-center gap-6"
>
<
h1
className=
"text-green-700 text-3xl font-bold"
>
Criar Área
</
h1
>
<
h1
className=
"text-3xl font-bold"
>
Criar Área
</
h1
>
<
Button
variant=
"third"
className=
"uppercase"
>
<
Button
variant=
"secondary"
className=
"uppercase rounded-sm"
>
Salvar como rascunho
</
Button
>
<
Button
variant=
"secondary"
className=
"uppercase"
>
Salvar e publicar
Salvar e publicar
</
Button
>
</
Button
>
<
Button
variant=
"ghost"
className=
"uppercase flex items-center gap-2 text-orange-100 hover:text-orange-100"
>
<
span
>
Apagar área
</
span
>
<
Trash
/>
</
Button
>
</
div
>
</
div
>
<
div
className=
"w-full
"
>
<
div
className=
"w-full mt-16
"
>
<
TextField
<
TextField
label=
"Nome da área"
label=
"Nome da área"
variant=
"standard"
variant=
"standard"
type=
"text"
type=
"text"
className=
"flex"
className=
"flex"
{
...
register
('
name
')}
sx=
{
StyledInputs
({
color
:
'#26AAA7'
})
}
sx=
{
StyledInputs
({
color
:
'#26AAA7'
})
}
/>
/>
<
div
className=
"flex justify-between flex-wrap gap
-6"
>
<
div
className=
"flex justify-between flex-wrap gap-6 py
-6"
>
<
div
className=
"flex flex-col flex-1 mt-6"
>
<
div
className=
"flex flex-col flex-1 mt-6"
>
<
h6
className=
"text-xl text-purple-100"
>
Banner Desktop
</
h6
>
<
h6
className=
"text-xl text-purple-100"
>
Banner Desktop
</
h6
>
<
span
className=
"mt-4"
>
Dimensões recomendadas:
</
span
>
<
span
className=
"mt-4"
>
Dimensões recomendadas: 1512 x 300
</
span
>
<
span
>
Formatos aceitos: .png, .jpg
</
span
>
<
span
>
Formatos aceitos: .png, .jpg
</
span
>
<
Button
<
InputFile
variant=
"third
"
id=
"desktopBanner
"
className=
"border border-dotted border-green-400 rounded-sm mt-6 mx-auto w-full"
values=
{
valueDesktopBanner
}
>
label=
"Adicionar banner"
Adicionar banner
{
...
register
('
desktopBanner
')}
</
Button
>
/
>
</
div
>
</
div
>
<
div
className=
"flex flex-col flex-1 mt-6"
>
<
div
className=
"flex flex-col flex-1 mt-6"
>
<
h6
className=
"text-xl text-purple-100"
>
Banner Mobile
</
h6
>
<
h6
className=
"text-xl text-purple-100"
>
Banner Mobile
</
h6
>
<
span
className=
"mt-4"
>
Dimensões recomendadas:
</
span
>
<
span
className=
"mt-4"
>
Dimensões recomendadas: 390 x 300
</
span
>
<
span
>
Formatos aceitos: .png, .jpg
</
span
>
<
span
>
Formatos aceitos: .png, .jpg
</
span
>
<
Button
<
InputFile
variant=
"third
"
id=
"mobileBanner
"
className=
"border border-dotted border-green-400 rounded-sm mt-6 mx-auto w-full"
values=
{
valueMobileBanner
}
>
label=
"Adicionar banner"
Adicionar banner
{
...
register
('
mobileBanner
')}
</
Button
>
/
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
form
>
</
section
>
</
section
>
)
)
}
}
src/app/admin/curso/[id]/page.tsx
View file @
4f7e1d0b
...
@@ -30,9 +30,9 @@ export default function EditCourse() {
...
@@ -30,9 +30,9 @@ export default function EditCourse() {
<
form
>
<
form
>
<
div
className=
"flex items-center gap-6"
>
<
div
className=
"flex items-center gap-6"
>
<
h1
className=
"text-green-700 text-3xl font-bold"
>
Editar curso
</
h1
>
<
h1
className=
"text-green-700 text-3xl font-bold"
>
Editar curso
</
h1
>
<
Button
variant=
"third"
className=
"uppercase"
>
{
/*
<Button variant="third" className="uppercase">
Salvar como rascunho
Salvar como rascunho
</
Button
>
</Button>
*/
}
<
Button
variant=
"secondary"
className=
"uppercase"
>
<
Button
variant=
"secondary"
className=
"uppercase"
>
Salvar e publicar
Salvar e publicar
</
Button
>
</
Button
>
...
...
src/app/admin/curso/page.tsx
View file @
4f7e1d0b
...
@@ -30,9 +30,9 @@ export default function Curso() {
...
@@ -30,9 +30,9 @@ export default function Curso() {
<
form
>
<
form
>
<
div
className=
"flex items-center gap-6"
>
<
div
className=
"flex items-center gap-6"
>
<
h1
className=
"text-green-700 text-3xl font-bold"
>
Criar curso
</
h1
>
<
h1
className=
"text-green-700 text-3xl font-bold"
>
Criar curso
</
h1
>
<
Button
variant=
"third"
className=
"uppercase"
>
{
/*
<Button variant="third" className="uppercase">
Salvar como rascunho
Salvar como rascunho
</
Button
>
</Button>
*/
}
<
Button
variant=
"secondary"
className=
"uppercase"
>
<
Button
variant=
"secondary"
className=
"uppercase"
>
Salvar e publicar
Salvar e publicar
</
Button
>
</
Button
>
...
...
src/app/admin/page.tsx
View file @
4f7e1d0b
'use client'
import
{
getAreas
}
from
'@/api/areas'
import
{
Card
}
from
'@/components/card'
import
{
Card
}
from
'@/components/card'
import
{
InputMui
}
from
'@/components/mui/inputs'
import
{
InputMui
}
from
'@/components/mui/inputs'
import
{
Button
}
from
'@/components/ui/button'
import
{
Button
}
from
'@/components/ui/button'
import
{
CoursesCard
}
from
'@/utils/courses-array'
import
{
CoursesCard
}
from
'@/utils/courses-array'
import
{
useQuery
}
from
'@tanstack/react-query'
import
{
Pencil
,
Search
}
from
'lucide-react'
import
{
Pencil
,
Search
}
from
'lucide-react'
import
Link
from
'next/link'
import
Link
from
'next/link'
const
areas
=
[
//
const areas = [
{
//
{
id
:
'1'
,
//
id: '1',
title
:
'Educação'
,
//
title: 'Educação',
},
//
},
{
//
{
id
:
'2'
,
//
id: '2',
title
:
'Negócios'
,
//
title: 'Negócios',
},
//
},
{
//
{
id
:
'3'
,
//
id: '3',
title
:
'Comunicação'
,
//
title: 'Comunicação',
},
//
},
{
//
{
id
:
'4'
,
//
id: '4',
title
:
'Saúde'
,
//
title: 'Saúde',
},
//
},
{
//
{
id
:
'5'
,
//
id: '5',
title
:
'Tecnologia'
,
//
title: 'Tecnologia',
},
//
},
{
//
{
id
:
'6'
,
//
id: '6',
title
:
'Teologia'
,
//
title: 'Teologia',
},
//
},
]
//
]
const
banners
=
[
const
banners
=
[
{
{
...
@@ -42,6 +46,21 @@ const banners = [
...
@@ -42,6 +46,21 @@ const banners = [
]
]
export
default
function
Admin
()
{
export
default
function
Admin
()
{
const
{
data
:
areas
,
error
,
isLoading
,
isError
,
}
=
useQuery
({
queryKey
:
[
'areas'
],
queryFn
:
getAreas
})
if
(
isLoading
)
{
return
<
span
>
Loading...
</
span
>
}
if
(
isError
)
{
return
<
span
>
Error:
{
error
.
message
}
</
span
>
}
return
(
return
(
<
section
className=
"container"
>
<
section
className=
"container"
>
<
h1
className=
"text-green-400 text-2xl"
>
Bem vindo, João da Silva,
</
h1
>
<
h1
className=
"text-green-400 text-2xl"
>
Bem vindo, João da Silva,
</
h1
>
...
@@ -55,13 +74,13 @@ export default function Admin() {
...
@@ -55,13 +74,13 @@ export default function Admin() {
<
nav
className=
"my-6"
>
<
nav
className=
"my-6"
>
<
ul
className=
"space-y-4"
>
<
ul
className=
"space-y-4"
>
{
areas
.
map
((
area
)
=>
(
{
areas
?.
data
.
map
((
area
)
=>
(
<
li
key=
{
area
.
title
}
className=
"border-b border-green-400"
>
<
li
key=
{
area
.
id
}
className=
"border-b border-green-400"
>
<
Link
<
Link
href=
{
`/admin/area/${area.id}`
}
href=
{
`/admin/area/${area.id}`
}
className=
"flex justify-between py-2 hover:bg-green-400/10"
className=
"flex justify-between py-2 hover:bg-green-400/10"
>
>
<
span
>
{
area
.
titl
e
}
</
span
>
<
span
>
{
area
.
nam
e
}
</
span
>
<
Pencil
className=
"text-green-400"
/>
<
Pencil
className=
"text-green-400"
/>
</
Link
>
</
Link
>
</
li
>
</
li
>
...
...
src/app/layout.tsx
View file @
4f7e1d0b
...
@@ -5,6 +5,9 @@ import '@/styles/globals.css'
...
@@ -5,6 +5,9 @@ import '@/styles/globals.css'
import
{
StyledEngineProvider
}
from
'@mui/material'
import
{
StyledEngineProvider
}
from
'@mui/material'
import
type
{
Metadata
}
from
'next'
import
type
{
Metadata
}
from
'next'
import
{
Poppins
}
from
'next/font/google'
import
{
Poppins
}
from
'next/font/google'
import
{
Toaster
}
from
'sonner'
import
ReactQueryProvider
from
'@/providers/react-query'
const
poppins
=
Poppins
({
subsets
:
[
'latin'
],
weight
:
[
'300'
,
'400'
,
'800'
]
})
const
poppins
=
Poppins
({
subsets
:
[
'latin'
],
weight
:
[
'300'
,
'400'
,
'800'
]
})
...
@@ -28,9 +31,12 @@ export default function RootLayout({
...
@@ -28,9 +31,12 @@ export default function RootLayout({
disableTransitionOnChange
disableTransitionOnChange
>
>
<
StyledEngineProvider
injectFirst
>
<
StyledEngineProvider
injectFirst
>
<
ReactQueryProvider
>
<
Toaster
richColors
/>
<
Header
/>
<
Header
/>
{
children
}
{
children
}
<
Footer
/>
<
Footer
/>
</
ReactQueryProvider
>
</
StyledEngineProvider
>
</
StyledEngineProvider
>
</
ThemeProvider
>
</
ThemeProvider
>
</
body
>
</
body
>
...
...
src/components/breadcrumb-component.tsx
0 → 100644
View file @
4f7e1d0b
import
{
Breadcrumb
,
BreadcrumbItem
,
BreadcrumbLink
,
BreadcrumbList
,
BreadcrumbPage
,
BreadcrumbSeparator
,
}
from
"@/components/ui/breadcrumb"
import
Link
from
"next/link"
export
default
function
BreadcrumbComponent
()
{
return
(
<
Breadcrumb
>
<
BreadcrumbList
>
<
BreadcrumbItem
>
<
BreadcrumbLink
asChild
>
<
Link
href=
"/admin"
>
Admin
</
Link
>
</
BreadcrumbLink
>
</
BreadcrumbItem
>
<
BreadcrumbSeparator
/>
<
BreadcrumbItem
>
<
BreadcrumbPage
>
Área
</
BreadcrumbPage
>
</
BreadcrumbItem
>
</
BreadcrumbList
>
</
Breadcrumb
>
)
}
src/components/input-file.tsx
0 → 100644
View file @
4f7e1d0b
import
{
forwardRef
}
from
'react'
interface
InputFileProps
extends
React
.
InputHTMLAttributes
<
HTMLInputElement
>
{
id
:
string
values
?:
string
label
:
string
}
const
InputFile
=
forwardRef
<
HTMLInputElement
,
InputFileProps
>
(
({
id
,
values
,
label
,
...
inputProps
},
ref
)
=>
{
return
(
<
label
htmlFor=
{
id
}
className=
"flex justify-center items-center border border-dotted rounded-sm border-green-400 bg-green-400/10 cursor-pointer hover:bg-green-400/5 text-green-400 text-sm h-10 mt-6"
>
{
values
||
label
}
<
input
id=
{
id
}
type=
"file"
className=
"hidden"
ref=
{
ref
}
{
...
inputProps
}
/>
</
label
>
)
},
)
InputFile
.
displayName
=
'InputFile'
export
default
InputFile
src/components/modal-dialog.tsx
0 → 100644
View file @
4f7e1d0b
import
{
AlertDialogAction
,
AlertDialogCancel
,
AlertDialogContent
,
AlertDialogDescription
,
AlertDialogFooter
,
AlertDialogHeader
,
AlertDialogTitle
,
}
from
'./ui/alert-dialog'
type
AlertDialogProps
=
{
title
:
string
description
:
string
handleClick
:
()
=>
void
}
export
default
function
ModalDialog
({
title
,
description
,
handleClick
,
}:
AlertDialogProps
)
{
return
(
<
AlertDialogContent
>
<
AlertDialogHeader
>
<
AlertDialogTitle
>
{
title
}
</
AlertDialogTitle
>
<
AlertDialogDescription
>
{
description
}
</
AlertDialogDescription
>
</
AlertDialogHeader
>
<
AlertDialogFooter
>
<
AlertDialogCancel
>
Cancelar
</
AlertDialogCancel
>
<
AlertDialogAction
onClick=
{
handleClick
}
>
Continue
</
AlertDialogAction
>
</
AlertDialogFooter
>
</
AlertDialogContent
>
)
}
src/components/ui/alert-dialog.tsx
0 → 100644
View file @
4f7e1d0b
"use client"
import
*
as
React
from
"react"
import
*
as
AlertDialogPrimitive
from
"@radix-ui/react-alert-dialog"
import
{
cn
}
from
"@/lib/utils"
import
{
buttonVariants
}
from
"@/components/ui/button"
const
AlertDialog
=
AlertDialogPrimitive
.
Root
const
AlertDialogTrigger
=
AlertDialogPrimitive
.
Trigger
const
AlertDialogPortal
=
AlertDialogPrimitive
.
Portal
const
AlertDialogOverlay
=
React
.
forwardRef
<
React
.
ElementRef
<
typeof
AlertDialogPrimitive
.
Overlay
>
,
React
.
ComponentPropsWithoutRef
<
typeof
AlertDialogPrimitive
.
Overlay
>
>
(({
className
,
...
props
},
ref
)
=>
(
<
AlertDialogPrimitive
.
Overlay
className=
{
cn
(
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
,
className
)
}
{
...
props
}
ref=
{
ref
}
/>
))
AlertDialogOverlay
.
displayName
=
AlertDialogPrimitive
.
Overlay
.
displayName
const
AlertDialogContent
=
React
.
forwardRef
<
React
.
ElementRef
<
typeof
AlertDialogPrimitive
.
Content
>
,
React
.
ComponentPropsWithoutRef
<
typeof
AlertDialogPrimitive
.
Content
>
>
(({
className
,
...
props
},
ref
)
=>
(
<
AlertDialogPortal
>
<
AlertDialogOverlay
/>
<
AlertDialogPrimitive
.
Content
ref=
{
ref
}
className=
{
cn
(
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg"
,
className
)
}
{
...
props
}
/>
</
AlertDialogPortal
>
))
AlertDialogContent
.
displayName
=
AlertDialogPrimitive
.
Content
.
displayName
const
AlertDialogHeader
=
({
className
,
...
props
}:
React
.
HTMLAttributes
<
HTMLDivElement
>
)
=>
(
<
div
className=
{
cn
(
"flex flex-col space-y-2 text-center sm:text-left"
,
className
)
}
{
...
props
}
/>
)
AlertDialogHeader
.
displayName
=
"AlertDialogHeader"
const
AlertDialogFooter
=
({
className
,
...
props
}:
React
.
HTMLAttributes
<
HTMLDivElement
>
)
=>
(
<
div
className=
{
cn
(
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2"
,
className
)
}
{
...
props
}
/>
)
AlertDialogFooter
.
displayName
=
"AlertDialogFooter"
const
AlertDialogTitle
=
React
.
forwardRef
<
React
.
ElementRef
<
typeof
AlertDialogPrimitive
.
Title
>
,
React
.
ComponentPropsWithoutRef
<
typeof
AlertDialogPrimitive
.
Title
>
>
(({
className
,
...
props
},
ref
)
=>
(
<
AlertDialogPrimitive
.
Title
ref=
{
ref
}
className=
{
cn
(
"text-lg font-semibold"
,
className
)
}
{
...
props
}
/>
))
AlertDialogTitle
.
displayName
=
AlertDialogPrimitive
.
Title
.
displayName
const
AlertDialogDescription
=
React
.
forwardRef
<
React
.
ElementRef
<
typeof
AlertDialogPrimitive
.
Description
>
,
React
.
ComponentPropsWithoutRef
<
typeof
AlertDialogPrimitive
.
Description
>
>
(({
className
,
...
props
},
ref
)
=>
(
<
AlertDialogPrimitive
.
Description
ref=
{
ref
}
className=
{
cn
(
"text-sm text-muted-foreground"
,
className
)
}
{
...
props
}
/>
))
AlertDialogDescription
.
displayName
=
AlertDialogPrimitive
.
Description
.
displayName
const
AlertDialogAction
=
React
.
forwardRef
<
React
.
ElementRef
<
typeof
AlertDialogPrimitive
.
Action
>
,
React
.
ComponentPropsWithoutRef
<
typeof
AlertDialogPrimitive
.
Action
>
>
(({
className
,
...
props
},
ref
)
=>
(
<
AlertDialogPrimitive
.
Action
ref=
{
ref
}
className=
{
cn
(
buttonVariants
(),
className
)
}
{
...
props
}
/>
))
AlertDialogAction
.
displayName
=
AlertDialogPrimitive
.
Action
.
displayName
const
AlertDialogCancel
=
React
.
forwardRef
<
React
.
ElementRef
<
typeof
AlertDialogPrimitive
.
Cancel
>
,
React
.
ComponentPropsWithoutRef
<
typeof
AlertDialogPrimitive
.
Cancel
>
>
(({
className
,
...
props
},
ref
)
=>
(
<
AlertDialogPrimitive
.
Cancel
ref=
{
ref
}
className=
{
cn
(
buttonVariants
({
variant
:
"outline"
}),
"mt-2 sm:mt-0"
,
className
)
}
{
...
props
}
/>
))
AlertDialogCancel
.
displayName
=
AlertDialogPrimitive
.
Cancel
.
displayName
export
{
AlertDialog
,
AlertDialogPortal
,
AlertDialogOverlay
,
AlertDialogTrigger
,
AlertDialogContent
,
AlertDialogHeader
,
AlertDialogFooter
,
AlertDialogTitle
,
AlertDialogDescription
,
AlertDialogAction
,
AlertDialogCancel
,
}
src/components/ui/breadcrumb.tsx
0 → 100644
View file @
4f7e1d0b
import
*
as
React
from
"react"
import
{
Slot
}
from
"@radix-ui/react-slot"
import
{
ChevronRight
,
MoreHorizontal
}
from
"lucide-react"
import
{
cn
}
from
"@/lib/utils"
const
Breadcrumb
=
React
.
forwardRef
<
HTMLElement
,
React
.
ComponentPropsWithoutRef
<
"nav"
>
&
{
separator
?:
React
.
ReactNode
}
>
(({
...
props
},
ref
)
=>
<
nav
ref=
{
ref
}
aria
-
label=
"breadcrumb"
{
...
props
}
/>)
Breadcrumb
.
displayName
=
"Breadcrumb"
const
BreadcrumbList
=
React
.
forwardRef
<
HTMLOListElement
,
React
.
ComponentPropsWithoutRef
<
"ol"
>
>
(({
className
,
...
props
},
ref
)
=>
(
<
ol
ref=
{
ref
}
className=
{
cn
(
"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5"
,
className
)
}
{
...
props
}
/>
))
BreadcrumbList
.
displayName
=
"BreadcrumbList"
const
BreadcrumbItem
=
React
.
forwardRef
<
HTMLLIElement
,
React
.
ComponentPropsWithoutRef
<
"li"
>
>
(({
className
,
...
props
},
ref
)
=>
(
<
li
ref=
{
ref
}
className=
{
cn
(
"inline-flex items-center gap-1.5"
,
className
)
}
{
...
props
}
/>
))
BreadcrumbItem
.
displayName
=
"BreadcrumbItem"
const
BreadcrumbLink
=
React
.
forwardRef
<
HTMLAnchorElement
,
React
.
ComponentPropsWithoutRef
<
"a"
>
&
{
asChild
?:
boolean
}
>
(({
asChild
,
className
,
...
props
},
ref
)
=>
{
const
Comp
=
asChild
?
Slot
:
"a"
return
(
<
Comp
ref=
{
ref
}
className=
{
cn
(
"transition-colors hover:text-foreground"
,
className
)
}
{
...
props
}
/>
)
})
BreadcrumbLink
.
displayName
=
"BreadcrumbLink"
const
BreadcrumbPage
=
React
.
forwardRef
<
HTMLSpanElement
,
React
.
ComponentPropsWithoutRef
<
"span"
>
>
(({
className
,
...
props
},
ref
)
=>
(
<
span
ref=
{
ref
}
role=
"link"
aria
-
disabled=
"true"
aria
-
current=
"page"
className=
{
cn
(
"font-normal text-foreground"
,
className
)
}
{
...
props
}
/>
))
BreadcrumbPage
.
displayName
=
"BreadcrumbPage"
const
BreadcrumbSeparator
=
({
children
,
className
,
...
props
}:
React
.
ComponentProps
<
"li"
>
)
=>
(
<
li
role=
"presentation"
aria
-
hidden=
"true"
className=
{
cn
(
"[&>svg]:size-3.5"
,
className
)
}
{
...
props
}
>
{
children
??
<
ChevronRight
/>
}
</
li
>
)
BreadcrumbSeparator
.
displayName
=
"BreadcrumbSeparator"
const
BreadcrumbEllipsis
=
({
className
,
...
props
}:
React
.
ComponentProps
<
"span"
>
)
=>
(
<
span
role=
"presentation"
aria
-
hidden=
"true"
className=
{
cn
(
"flex h-9 w-9 items-center justify-center"
,
className
)
}
{
...
props
}
>
<
MoreHorizontal
className=
"h-4 w-4"
/>
<
span
className=
"sr-only"
>
More
</
span
>
</
span
>
)
BreadcrumbEllipsis
.
displayName
=
"BreadcrumbElipssis"
export
{
Breadcrumb
,
BreadcrumbList
,
BreadcrumbItem
,
BreadcrumbLink
,
BreadcrumbPage
,
BreadcrumbSeparator
,
BreadcrumbEllipsis
,
}
src/components/ui/input.tsx
View file @
4f7e1d0b
import
{
cva
,
VariantProps
}
from
'class-variance-authority'
import
*
as
React
from
'react'
import
*
as
React
from
'react'
import
{
cn
}
from
'@/lib/utils'
import
{
cn
}
from
'@/lib/utils'
const
inputVariants
=
cva
(
'inline-flex items-center justify-center whitespace-nowrap ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-ring focus-visible:border-b-2 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none disabled:cursor-not-allowed'
,
{
variants
:
{
variant
:
{
default
:
'flex h-10 w-full border border-t-0 border-x-0 border-gray-300 px-2 py-2 text-md text-white bg-transparent file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-300'
,
secondary
:
'text-gray-50 bg-gradient-to-r from-purple-100 to-purple-200 hover:bg-purple-200 hover:opacity-75'
,
file
:
'border border-dotted rounded-sm border-green-400 bg-green-400/10 cursor-pointer hover:bg-green-400/5 text-green-400 text-sm h-10'
,
destructive
:
'bg-destructive text-destructive-foreground hover:bg-destructive/90'
,
outline
:
'border border-input bg-background hover:bg-accent hover:text-accent-foreground'
,
ghost
:
'dark:hover:bg-white/10 dark:hover:text-gray-50 hover:bg-gray-900/10'
,
link
:
'text-primary underline-offset-4 hover:underline'
,
},
},
defaultVariants
:
{
variant
:
'default'
,
},
},
)
export
interface
InputProps
export
interface
InputProps
extends
React
.
InputHTMLAttributes
<
HTMLInputElement
>
{}
extends
React
.
InputHTMLAttributes
<
HTMLInputElement
>
,
VariantProps
<
typeof
inputVariants
>
{
label
?:
string
}
const
Input
=
React
.
forwardRef
<
HTMLInputElement
,
InputProps
>
(
const
Input
=
React
.
forwardRef
<
HTMLInputElement
,
InputProps
>
(
({
className
,
type
,
...
props
},
ref
)
=>
{
({
className
,
variant
,
type
,
label
,
...
props
},
ref
)
=>
{
return
(
return
(
<
label
>
<
span
className=
"text-sm text-gray-400"
>
{
label
}
</
span
>
<
input
<
input
type=
{
type
}
type=
{
type
}
className=
{
cn
(
className=
{
cn
(
inputVariants
({
variant
,
className
}))
}
'flex h-10 w-full border border-t-0 border-x-0 border-gray-300 px-2 py-2 text-md text-white ile:border-0 bg-transparent file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-300 focus-visible:outline-none focus-visible:border-b-white focus-visible:border-b-2 disabled:cursor-not-allowed disabled:opacity-50'
,
className
,
)
}
ref=
{
ref
}
ref=
{
ref
}
{
...
props
}
{
...
props
}
/>
/>
</
label
>
)
)
},
},
)
)
Input
.
displayName
=
'Input'
Input
.
displayName
=
'Input'
export
{
Input
}
export
{
Input
,
inputVariants
}
src/lib/axios.ts
View file @
4f7e1d0b
import
axios
from
'axios'
import
axios
from
'axios'
export
const
api
=
axios
.
create
({
export
const
api
=
axios
.
create
({
baseURL
:
'
/api
'
,
baseURL
:
'
http://localhost:3000
'
,
})
})
src/providers/react-query.tsx
0 → 100644
View file @
4f7e1d0b
'use client'
import
{
QueryClient
,
QueryClientProvider
}
from
'@tanstack/react-query'
import
{
ReactNode
}
from
'react'
type
ReactQueryProps
=
{
children
:
ReactNode
}
const
queryClient
=
new
QueryClient
({
defaultOptions
:
{
queries
:
{
refetchOnWindowFocus
:
false
,
},
},
})
export
default
function
ReactQueryProvider
({
children
}:
ReactQueryProps
)
{
return
(
<
QueryClientProvider
client=
{
queryClient
}
>
{
children
}
</
QueryClientProvider
>
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment