diff --git a/Dockerfile b/Dockerfile index 2d950f7..6927c2b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -110,4 +110,4 @@ EXPOSE 80 HEALTHCHECK --start-period=10s --start-interval=2s --interval=30s --timeout=5s --retries=10 \ CMD wget --no-verbose --tries=1 --spider http://localhost:80/api/health_check || exit 1 -CMD ["java", "-Xms64M", "-Xmx1G", "-cp", "/application/application.jar", "org.kar.karusic.WebLauncher"] +CMD ["java", "-Xms64M", "-Xmx1G", "-cp", "/application/application.jar", "org.atriasoft.karusic.WebLauncher"] diff --git a/README.md b/README.md index a431fb4..846611b 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Changing the Log Level In a production environment, you can adjust the log level to help diagnose bugs more effectively. The available log levels are: -| **Log Level Tag** | **org.kar.karusic** | **org.kar.archidata** | **other** | +| **Log Level Tag** | **org.atriasoft.karusic** | **org.kar.archidata** | **other** | | ----------------- | ------------------- | --------------------- | --------- | | `prod` | INFO | INFO | INFO | | `prod-debug` | DEBUG | INFO | INFO | diff --git a/back/Dockerfile b/back/Dockerfile index 8a53a38..81f5a32 100644 --- a/back/Dockerfile +++ b/back/Dockerfile @@ -18,5 +18,5 @@ WORKDIR /application/ EXPOSE 18080 -CMD ["java", "-Xms64M", "-Xmx1G", "-cp", "/application/application.jar", "org.kar.karusic.WebLauncher"] +CMD ["java", "-Xms64M", "-Xmx1G", "-cp", "/application/application.jar", "org.atriasoft.karusic.WebLauncher"] diff --git a/back/README.md b/back/README.md index b3e5090..7153714 100644 --- a/back/README.md +++ b/back/README.md @@ -11,7 +11,7 @@ mvn package // download all dependency in out/maven/dependency mvn dependency:copy-dependencies -java -cp out/maven/kar-karusic-0.1.0.jar org.kar.karusic.WebLauncher +java -cp out/maven/kar-karusic-0.1.0.jar org.atriasoft.karusic.WebLauncher // create a single package jar @@ -19,7 +19,7 @@ mvn clean compile assembly:single -java -cp out/maven/karusic-0.1.0-jar-with-dependencies.jar org.kar.karusic.WebLauncher +java -cp out/maven/karusic-0.1.0-jar-with-dependencies.jar org.atriasoft.karusic.WebLauncher diff --git a/back/pom.xml b/back/pom.xml index 8b8679b..4eb8197 100644 --- a/back/pom.xml +++ b/back/pom.xml @@ -1,20 +1,14 @@ 4.0.0 - org.kar + org.atriasoft karusic 1.1.1-SNAPSHOT - - - gitea - https://gitea.atria-soft.org/api/packages/kangaroo-and-rabbit/maven - - - kangaroo-and-rabbit + org.atria-soft archidata - 0.25.6 + 0.28.0 @@ -106,7 +100,7 @@ java - org.kar.karusic.WebLauncher + org.atriasoft.karusic.WebLauncher @@ -115,7 +109,7 @@ java - org.kar.karusic.WebLauncherLocal + org.atriasoft.karusic.WebLauncherLocal @@ -124,7 +118,7 @@ java - org.kar.karusic.GenerateApi + org.atriasoft.karusic.GenerateApi diff --git a/back/release_karideo_back/propertyies.txt b/back/release_karideo_back/propertyies.txt index b9d43f2..ea3ab45 100644 --- a/back/release_karideo_back/propertyies.txt +++ b/back/release_karideo_back/propertyies.txt @@ -1,9 +1,9 @@ -org.kar.karideo.dataTmpFolder=/application/data/tmp -org.kar.karideo.dataTmpFolder=/application/data/media -org.kar.karideo.rest.oauth=http://192.168.1.156:21080/oauth/api/ -org.kar.karideo.db.host=1992.156.1.156 -org.kar.karideo.db.port=20306 -org.kar.karideo.db.login=root -org.kar.karideo.db.port=klkhj456gkgtkhjgvkujfhjgkjhgsdfhb3467465fgdhdesfgh -org.kar.karideo.db.name=karideo -org.kar.karideo.address=http://0.0.0.0:18080/karideo/api/ +org.atriasoft.karideo.dataTmpFolder=/application/data/tmp +org.atriasoft.karideo.dataTmpFolder=/application/data/media +org.atriasoft.karideo.rest.oauth=http://192.168.1.156:21080/oauth/api/ +org.atriasoft.karideo.db.host=1992.156.1.156 +org.atriasoft.karideo.db.port=20306 +org.atriasoft.karideo.db.login=root +org.atriasoft.karideo.db.port=klkhj456gkgtkhjgvkujfhjgkjhgsdfhb3467465fgdhdesfgh +org.atriasoft.karideo.db.name=karideo +org.atriasoft.karideo.address=http://0.0.0.0:18080/karideo/api/ diff --git a/back/src/org/kar/karusic/CodecBson/UUIDCodec.java b/back/src/org/atriasoft/karusic/CodecBson/UUIDCodec.java similarity index 93% rename from back/src/org/kar/karusic/CodecBson/UUIDCodec.java rename to back/src/org/atriasoft/karusic/CodecBson/UUIDCodec.java index 43fb5fb..e355f1c 100644 --- a/back/src/org/kar/karusic/CodecBson/UUIDCodec.java +++ b/back/src/org/atriasoft/karusic/CodecBson/UUIDCodec.java @@ -1,4 +1,4 @@ -package org.kar.karusic.CodecBson; +package org.atriasoft.karusic.CodecBson; import java.util.UUID; diff --git a/back/src/org/kar/karusic/GenerateApi.java b/back/src/org/atriasoft/karusic/GenerateApi.java similarity index 81% rename from back/src/org/kar/karusic/GenerateApi.java rename to back/src/org/atriasoft/karusic/GenerateApi.java index 2508d10..f6a4e3b 100644 --- a/back/src/org/kar/karusic/GenerateApi.java +++ b/back/src/org/atriasoft/karusic/GenerateApi.java @@ -1,6 +1,6 @@ -package org.kar.karusic; +package org.atriasoft.karusic; -import org.kar.karusic.migration.Initialization; +import org.atriasoft.karusic.migration.Initialization; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/back/src/org/kar/karusic/WebLauncher.java b/back/src/org/atriasoft/karusic/WebLauncher.java similarity index 81% rename from back/src/org/kar/karusic/WebLauncher.java rename to back/src/org/atriasoft/karusic/WebLauncher.java index 656c544..14e2cc2 100755 --- a/back/src/org/kar/karusic/WebLauncher.java +++ b/back/src/org/atriasoft/karusic/WebLauncher.java @@ -1,4 +1,4 @@ -package org.kar.karusic; +package org.atriasoft.karusic; import java.net.URI; import java.util.Iterator; @@ -8,38 +8,39 @@ import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.ImageWriter; +import org.atriasoft.archidata.UpdateJwtPublicKey; +import org.atriasoft.archidata.api.DataResource; +import org.atriasoft.archidata.api.ProxyResource; +import org.atriasoft.archidata.catcher.GenericCatcher; +import org.atriasoft.archidata.db.DbConfig; +import org.atriasoft.archidata.exception.DataAccessException; +import org.atriasoft.archidata.filter.CORSFilter; +import org.atriasoft.archidata.filter.OptionFilter; +import org.atriasoft.archidata.migration.MigrationEngine; +import org.atriasoft.archidata.tools.ConfigBaseVariable; +import org.atriasoft.archidata.tools.ContextGenericTools; +import org.atriasoft.karusic.api.AlbumResource; +import org.atriasoft.karusic.api.ArtistResource; +import org.atriasoft.karusic.api.Front; +import org.atriasoft.karusic.api.GenderResource; +import org.atriasoft.karusic.api.HealthCheck; +import org.atriasoft.karusic.api.PlaylistResource; +import org.atriasoft.karusic.api.TrackResource; +import org.atriasoft.karusic.api.UserResource; +import org.atriasoft.karusic.filter.KarusicAuthenticationFilter; +import org.atriasoft.karusic.migration.Initialization; +import org.atriasoft.karusic.migration.Migration20231126; +import org.atriasoft.karusic.migration.Migration20240225; +import org.atriasoft.karusic.migration.Migration20240226; +import org.atriasoft.karusic.migration.Migration20240907; +import org.atriasoft.karusic.migration.Migration20250104; +import org.atriasoft.karusic.migration.Migration20250414; import org.glassfish.grizzly.http.server.HttpServer; import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory; import org.glassfish.jersey.jackson.JacksonFeature; import org.glassfish.jersey.media.multipart.MultiPartFeature; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.server.validation.ValidationFeature; -import org.kar.archidata.UpdateJwtPublicKey; -import org.kar.archidata.api.DataResource; -import org.kar.archidata.api.ProxyResource; -import org.kar.archidata.catcher.GenericCatcher; -import org.kar.archidata.db.DbConfig; -import org.kar.archidata.exception.DataAccessException; -import org.kar.archidata.filter.CORSFilter; -import org.kar.archidata.filter.OptionFilter; -import org.kar.archidata.migration.MigrationEngine; -import org.kar.archidata.tools.ConfigBaseVariable; -import org.kar.archidata.tools.ContextGenericTools; -import org.kar.karusic.api.AlbumResource; -import org.kar.karusic.api.ArtistResource; -import org.kar.karusic.api.Front; -import org.kar.karusic.api.GenderResource; -import org.kar.karusic.api.HealthCheck; -import org.kar.karusic.api.PlaylistResource; -import org.kar.karusic.api.TrackResource; -import org.kar.karusic.api.UserResource; -import org.kar.karusic.filter.KarusicAuthenticationFilter; -import org.kar.karusic.migration.Initialization; -import org.kar.karusic.migration.Migration20231126; -import org.kar.karusic.migration.Migration20240225; -import org.kar.karusic.migration.Migration20240226; -import org.kar.karusic.migration.Migration20240907; -import org.kar.karusic.migration.Migration20250104; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.bridge.SLF4JBridgeHandler; @@ -70,6 +71,7 @@ public class WebLauncher { migrationEngine.add(new Migration20240226()); migrationEngine.add(new Migration20240907()); migrationEngine.add(new Migration20250104()); + migrationEngine.add(new Migration20250414()); WebLauncher.LOGGER.info("Migrate the DB [START]"); migrationEngine.migrateWaitAdmin(new DbConfig()); WebLauncher.LOGGER.info("Migrate the DB [STOP]"); diff --git a/back/src/org/kar/karusic/WebLauncherLocal.java b/back/src/org/atriasoft/karusic/WebLauncherLocal.java similarity index 88% rename from back/src/org/kar/karusic/WebLauncherLocal.java rename to back/src/org/atriasoft/karusic/WebLauncherLocal.java index ca5ec7f..3a268ff 100755 --- a/back/src/org/kar/karusic/WebLauncherLocal.java +++ b/back/src/org/atriasoft/karusic/WebLauncherLocal.java @@ -1,10 +1,10 @@ -package org.kar.karusic; +package org.atriasoft.karusic; import java.util.logging.LogManager; -import org.kar.archidata.exception.DataAccessException; -import org.kar.archidata.tools.ConfigBaseVariable; -import org.kar.karusic.migration.Initialization; +import org.atriasoft.archidata.exception.DataAccessException; +import org.atriasoft.archidata.tools.ConfigBaseVariable; +import org.atriasoft.karusic.migration.Initialization; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.bridge.SLF4JBridgeHandler; diff --git a/back/src/org/kar/karusic/api/AlbumResource.java b/back/src/org/atriasoft/karusic/api/AlbumResource.java similarity index 82% rename from back/src/org/kar/karusic/api/AlbumResource.java rename to back/src/org/atriasoft/karusic/api/AlbumResource.java index ec42067..321e136 100644 --- a/back/src/org/kar/karusic/api/AlbumResource.java +++ b/back/src/org/atriasoft/karusic/api/AlbumResource.java @@ -1,31 +1,29 @@ -package org.kar.karusic.api; +package org.atriasoft.karusic.api; import java.io.InputStream; import java.util.List; -import java.util.UUID; +import org.atriasoft.archidata.annotation.apiGenerator.ApiInputOptional; +import org.atriasoft.archidata.annotation.apiGenerator.ApiTypeScriptProgress; +import org.atriasoft.archidata.dataAccess.DBAccess; +import org.atriasoft.archidata.dataAccess.DataAccess; +import org.atriasoft.archidata.dataAccess.addOnSQL.AddOnDataJson; +import org.atriasoft.archidata.tools.DataTools; +import org.atriasoft.karusic.model.Album; +import org.bson.types.ObjectId; import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.glassfish.jersey.media.multipart.FormDataParam; -import org.kar.archidata.annotation.apiGenerator.ApiAsyncType; -import org.kar.archidata.annotation.apiGenerator.ApiInputOptional; -import org.kar.archidata.annotation.apiGenerator.ApiTypeScriptProgress; -import org.kar.archidata.dataAccess.DBAccess; -import org.kar.archidata.dataAccess.DataAccess; -import org.kar.archidata.dataAccess.addOnSQL.AddOnDataJson; -import org.kar.archidata.dataAccess.options.CheckFunction; -import org.kar.archidata.tools.DataTools; -import org.kar.karusic.model.Album; -import org.kar.karusic.model.Album.AlbumChecker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import io.swagger.v3.oas.annotations.Operation; import jakarta.annotation.security.RolesAllowed; +import jakarta.validation.Valid; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; -import jakarta.ws.rs.PATCH; import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; @@ -35,7 +33,6 @@ import jakarta.ws.rs.core.MediaType; @Produces({ MediaType.APPLICATION_JSON }) public class AlbumResource { private static final Logger LOGGER = LoggerFactory.getLogger(AlbumResource.class); - static final AlbumChecker CHECKER = new AlbumChecker(); @GET @Path("{id}") @@ -59,29 +56,29 @@ public class AlbumResource { @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) @Operation(description = "Add an album (when all the data already exist)") - public Album post(final Album data) throws Exception { + public Album post(@Valid final Album data) throws Exception { // TODO: how to manage the checker ??? // final Album ret = this.morphiaService.getDatastore().save(data); // return ret; /* final MongoCollection trackCollection = db.getCollection("TTRACLK", Track.class); final InsertOneResult res = trackCollection.insertOne(plop); LOGGER.warn("plpop {}", res); final * ObjectId ploppppp = res.getInsertedId().asObjectId().getValue(); LOGGER.warn("plpop 2522 {}", res.getInsertedId().asObjectId().getValue()); final Track ret = * trackCollection.find(Filters.eq("_id", res.getInsertedId().asObjectId().getValue())) .first(); System.out.println("Grade found:\t" + ret); */ - return DataAccess.insert(data, new CheckFunction(CHECKER)); + return DataAccess.insert(data); } - @PATCH + @PUT @Path("{id}") @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) @Operation(description = "Update a specific album") - public Album patch(@PathParam("id") final Long id, @ApiAsyncType(Album.class) final String jsonRequest) throws Exception { + public Album put(@PathParam("id") final Long id, @Valid final Album album) throws Exception { // final Query query = this.morphiaService.getDatastore().find(Album.class).filter(Filters.eq("id", id)); // final UpdateOperations ops = this.morphiaService.getDatastore().createUpdateOperations(Album.class) // .set("name", master.getName()); // this.morphiaService.getDatastore().update(query, ops); // return Response.ok(master).build(); - - DataAccess.updateWithJson(Album.class, id, jsonRequest, new CheckFunction(CHECKER)); + album.id = id; + DataAccess.update(album, id); return DataAccess.get(Album.class, id); } @@ -136,7 +133,7 @@ public class AlbumResource { @Path("{id}/cover/{coverId}") @RolesAllowed("ADMIN") @Operation(description = "Remove a cover on a specific album") - public Album removeCover(@PathParam("id") final Long id, @PathParam("coverId") final UUID coverId) throws Exception { + public Album removeCover(@PathParam("id") final Long id, @PathParam("coverId") final ObjectId coverId) throws Exception { try (DBAccess db = DBAccess.createInterface()) { AddOnDataJson.removeLink(db, Album.class, "id", id, "covers", coverId); return db.get(Album.class, id); diff --git a/back/src/org/kar/karusic/api/ArtistResource.java b/back/src/org/atriasoft/karusic/api/ArtistResource.java similarity index 74% rename from back/src/org/kar/karusic/api/ArtistResource.java rename to back/src/org/atriasoft/karusic/api/ArtistResource.java index 4cfd6f0..c7ef614 100644 --- a/back/src/org/kar/karusic/api/ArtistResource.java +++ b/back/src/org/atriasoft/karusic/api/ArtistResource.java @@ -1,20 +1,18 @@ -package org.kar.karusic.api; +package org.atriasoft.karusic.api; import java.io.InputStream; import java.util.List; +import org.atriasoft.archidata.annotation.apiGenerator.ApiInputOptional; +import org.atriasoft.archidata.annotation.apiGenerator.ApiTypeScriptProgress; +import org.atriasoft.archidata.dataAccess.DBAccess; +import org.atriasoft.archidata.dataAccess.DataAccess; +import org.atriasoft.archidata.dataAccess.addOnSQL.AddOnDataJson; +import org.atriasoft.archidata.tools.DataTools; +import org.atriasoft.karusic.model.Artist; import org.bson.types.ObjectId; import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.glassfish.jersey.media.multipart.FormDataParam; -import org.kar.archidata.annotation.apiGenerator.ApiInputOptional; -import org.kar.archidata.annotation.apiGenerator.ApiTypeScriptProgress; -import org.kar.archidata.dataAccess.DBAccess; -import org.kar.archidata.dataAccess.DataAccess; -import org.kar.archidata.dataAccess.addOnSQL.AddOnDataJson; -import org.kar.archidata.dataAccess.options.CheckFunction; -import org.kar.archidata.tools.DataTools; -import org.kar.karusic.model.Artist; -import org.kar.karusic.model.Artist.ArtistChecker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,7 +32,6 @@ import jakarta.ws.rs.core.MediaType; @Produces({ MediaType.APPLICATION_JSON }) public class ArtistResource { private static final Logger LOGGER = LoggerFactory.getLogger(ArtistResource.class); - static final ArtistChecker CHECKER = new ArtistChecker(); @GET @Path("{id}") @@ -52,17 +49,17 @@ public class ArtistResource { @POST @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) - public Artist post(final Artist data) throws Exception { - return DataAccess.insert(data, new CheckFunction(CHECKER)); + public Artist post(@Valid final Artist data) throws Exception { + return DataAccess.insert(data); } @PUT @Path("{id}") @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) - public Artist patch(@PathParam("id") final Long id, @Valid final Artist jsonRequest) throws Exception { - // new CheckFunction(CHECKER) - DataAccess.update(id, jsonRequest); + public Artist put(@PathParam("id") final Long id, @Valid final Artist artist) throws Exception { + artist.id = id; + DataAccess.update(artist, id); return DataAccess.get(Artist.class, id); } diff --git a/back/src/org/kar/karusic/api/Front.java b/back/src/org/atriasoft/karusic/api/Front.java similarity index 55% rename from back/src/org/kar/karusic/api/Front.java rename to back/src/org/atriasoft/karusic/api/Front.java index ed978c7..d7c3fbd 100644 --- a/back/src/org/kar/karusic/api/Front.java +++ b/back/src/org/atriasoft/karusic/api/Front.java @@ -1,7 +1,7 @@ -package org.kar.karusic.api; +package org.atriasoft.karusic.api; -import org.kar.archidata.api.FrontGeneric; -import org.kar.karusic.util.ConfigVariable; +import org.atriasoft.archidata.api.FrontGeneric; +import org.atriasoft.karusic.util.ConfigVariable; import jakarta.ws.rs.Path; diff --git a/back/src/org/kar/karusic/api/GenderResource.java b/back/src/org/atriasoft/karusic/api/GenderResource.java similarity index 70% rename from back/src/org/kar/karusic/api/GenderResource.java rename to back/src/org/atriasoft/karusic/api/GenderResource.java index 37e5eab..db44f6b 100644 --- a/back/src/org/kar/karusic/api/GenderResource.java +++ b/back/src/org/atriasoft/karusic/api/GenderResource.java @@ -1,30 +1,28 @@ -package org.kar.karusic.api; +package org.atriasoft.karusic.api; import java.io.InputStream; import java.util.List; +import org.atriasoft.archidata.annotation.apiGenerator.ApiInputOptional; +import org.atriasoft.archidata.annotation.apiGenerator.ApiTypeScriptProgress; +import org.atriasoft.archidata.dataAccess.DBAccess; +import org.atriasoft.archidata.dataAccess.DataAccess; +import org.atriasoft.archidata.dataAccess.addOnSQL.AddOnDataJson; +import org.atriasoft.archidata.tools.DataTools; +import org.atriasoft.karusic.model.Gender; import org.bson.types.ObjectId; import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.glassfish.jersey.media.multipart.FormDataParam; -import org.kar.archidata.annotation.apiGenerator.ApiAsyncType; -import org.kar.archidata.annotation.apiGenerator.ApiInputOptional; -import org.kar.archidata.annotation.apiGenerator.ApiTypeScriptProgress; -import org.kar.archidata.dataAccess.DBAccess; -import org.kar.archidata.dataAccess.DataAccess; -import org.kar.archidata.dataAccess.addOnSQL.AddOnDataJson; -import org.kar.archidata.dataAccess.options.CheckFunction; -import org.kar.archidata.tools.DataTools; -import org.kar.karusic.model.Gender; -import org.kar.karusic.model.Gender.GenderChecker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import jakarta.annotation.security.RolesAllowed; +import jakarta.validation.Valid; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; -import jakarta.ws.rs.PATCH; import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; @@ -34,7 +32,6 @@ import jakarta.ws.rs.core.MediaType; @Produces({ MediaType.APPLICATION_JSON }) public class GenderResource { private static final Logger LOGGER = LoggerFactory.getLogger(GenderResource.class); - static final GenderChecker CHECKER = new GenderChecker(); @GET @Path("{id}") @@ -52,16 +49,17 @@ public class GenderResource { @POST @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) - public Gender post(final Gender data) throws Exception { - return DataAccess.insert(data, new CheckFunction(CHECKER)); + public Gender post(@Valid final Gender data) throws Exception { + return DataAccess.insert(data); } - @PATCH + @PUT @Path("{id}") @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) - public Gender patch(@PathParam("id") final Long id, @ApiAsyncType(Gender.class) final String jsonRequest) throws Exception { - DataAccess.updateWithJson(Gender.class, id, jsonRequest, new CheckFunction(CHECKER)); + public Gender patch(@PathParam("id") final Long id, @Valid final Gender gender) throws Exception { + gender.id = id; + DataAccess.update(gender, id); return DataAccess.get(Gender.class, id); } diff --git a/back/src/org/kar/karusic/api/HealthCheck.java b/back/src/org/atriasoft/karusic/api/HealthCheck.java similarity index 76% rename from back/src/org/kar/karusic/api/HealthCheck.java rename to back/src/org/atriasoft/karusic/api/HealthCheck.java index 0d73b4f..f330d25 100644 --- a/back/src/org/kar/karusic/api/HealthCheck.java +++ b/back/src/org/atriasoft/karusic/api/HealthCheck.java @@ -1,8 +1,8 @@ -package org.kar.karusic.api; +package org.atriasoft.karusic.api; -import org.kar.archidata.exception.FailException; -import org.kar.archidata.tools.ConfigBaseVariable; -import org.kar.archidata.tools.JWTWrapper; +import org.atriasoft.archidata.exception.FailException; +import org.atriasoft.archidata.tools.ConfigBaseVariable; +import org.atriasoft.archidata.tools.JWTWrapper; import jakarta.annotation.security.PermitAll; import jakarta.ws.rs.GET; diff --git a/back/src/org/kar/karusic/api/PlaylistResource.java b/back/src/org/atriasoft/karusic/api/PlaylistResource.java similarity index 57% rename from back/src/org/kar/karusic/api/PlaylistResource.java rename to back/src/org/atriasoft/karusic/api/PlaylistResource.java index 6d25dc4..86121b8 100644 --- a/back/src/org/kar/karusic/api/PlaylistResource.java +++ b/back/src/org/atriasoft/karusic/api/PlaylistResource.java @@ -1,28 +1,27 @@ -package org.kar.karusic.api; +package org.atriasoft.karusic.api; import java.io.InputStream; import java.util.List; +import org.atriasoft.archidata.annotation.apiGenerator.ApiAsyncType; +import org.atriasoft.archidata.dataAccess.DBAccess; +import org.atriasoft.archidata.dataAccess.DataAccess; +import org.atriasoft.archidata.dataAccess.addOnSQL.AddOnDataJson; +import org.atriasoft.archidata.tools.DataTools; +import org.atriasoft.karusic.model.Playlist; import org.bson.types.ObjectId; import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.glassfish.jersey.media.multipart.FormDataParam; -import org.kar.archidata.annotation.apiGenerator.ApiAsyncType; -import org.kar.archidata.dataAccess.DBAccess; -import org.kar.archidata.dataAccess.DataAccess; -import org.kar.archidata.dataAccess.addOnSQL.AddOnDataJson; -import org.kar.archidata.dataAccess.options.CheckFunction; -import org.kar.archidata.tools.DataTools; -import org.kar.karusic.model.Playlist; -import org.kar.karusic.model.Track.TrackChecker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import jakarta.annotation.security.RolesAllowed; +import jakarta.validation.Valid; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; -import jakarta.ws.rs.PATCH; import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; @@ -32,7 +31,6 @@ import jakarta.ws.rs.core.MediaType; @Produces({ MediaType.APPLICATION_JSON }) public class PlaylistResource { private static final Logger LOGGER = LoggerFactory.getLogger(PlaylistResource.class); - static final TrackChecker CHECKER = new TrackChecker(); @GET @Path("{id}") @@ -50,16 +48,17 @@ public class PlaylistResource { @POST @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) - public Playlist post(final Playlist data) throws Exception { - return DataAccess.insert(data, new CheckFunction(CHECKER)); + public Playlist post(@Valid final Playlist data) throws Exception { + return DataAccess.insert(data); } - @PATCH + @PUT @Path("{id}") @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) - public Playlist patch(@PathParam("id") final Long id, @ApiAsyncType(Playlist.class) final String jsonRequest) throws Exception { - DataAccess.updateWithJson(Playlist.class, id, jsonRequest, new CheckFunction(CHECKER)); + public Playlist put(@PathParam("id") final Long id, @Valid final Playlist playlist) throws Exception { + playlist.id = id; + DataAccess.update(playlist, id); return DataAccess.get(Playlist.class, id); } @@ -70,27 +69,6 @@ public class PlaylistResource { DataAccess.delete(Playlist.class, id); } - @POST - @Path("{id}/track/{trackId}") - @RolesAllowed("ADMIN") - @Consumes({ MediaType.MULTIPART_FORM_DATA }) - public Playlist addTrack(@PathParam("id") final Long id, @PathParam("trackId") final Long trackId) throws Exception { - try (DBAccess db = DBAccess.createInterface()) { - AddOnDataJson.removeLink(db, Playlist.class, "id", id, "track", trackId); - return db.get(Playlist.class, id); - } - } - - @DELETE - @Path("{id}/track/{trackId}") - @RolesAllowed("ADMIN") - public Playlist removeTrack(@PathParam("id") final Long id, @PathParam("trackId") final Long trackId) throws Exception { - try (DBAccess db = DBAccess.createInterface()) { - AddOnDataJson.removeLink(db, Playlist.class, "id", id, "track", trackId); - return db.get(Playlist.class, id); - } - } - @POST @Path("{id}/cover") @RolesAllowed("ADMIN") diff --git a/back/src/org/kar/karusic/api/TrackResource.java b/back/src/org/atriasoft/karusic/api/TrackResource.java similarity index 76% rename from back/src/org/kar/karusic/api/TrackResource.java rename to back/src/org/atriasoft/karusic/api/TrackResource.java index 23deffe..8a65b71 100644 --- a/back/src/org/kar/karusic/api/TrackResource.java +++ b/back/src/org/atriasoft/karusic/api/TrackResource.java @@ -1,4 +1,4 @@ -package org.kar.karusic.api; +package org.atriasoft.karusic.api; import java.io.IOException; import java.io.InputStream; @@ -6,29 +6,28 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; +import org.atriasoft.archidata.annotation.apiGenerator.ApiAsyncType; +import org.atriasoft.archidata.annotation.apiGenerator.ApiInputOptional; +import org.atriasoft.archidata.annotation.apiGenerator.ApiTypeScriptProgress; +import org.atriasoft.archidata.dataAccess.DBAccess; +import org.atriasoft.archidata.dataAccess.DataAccess; +import org.atriasoft.archidata.dataAccess.addOnSQL.AddOnDataJson; +import org.atriasoft.archidata.model.Data; +import org.atriasoft.archidata.tools.DataTools; +import org.atriasoft.karusic.model.Track; import org.bson.types.ObjectId; import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.glassfish.jersey.media.multipart.FormDataParam; -import org.kar.archidata.annotation.apiGenerator.ApiAsyncType; -import org.kar.archidata.annotation.apiGenerator.ApiInputOptional; -import org.kar.archidata.annotation.apiGenerator.ApiTypeScriptProgress; -import org.kar.archidata.dataAccess.DBAccess; -import org.kar.archidata.dataAccess.DataAccess; -import org.kar.archidata.dataAccess.addOnSQL.AddOnDataJson; -import org.kar.archidata.dataAccess.options.CheckFunction; -import org.kar.archidata.model.Data; -import org.kar.archidata.tools.DataTools; -import org.kar.karusic.model.Track; -import org.kar.karusic.model.Track.TrackChecker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import jakarta.annotation.security.RolesAllowed; +import jakarta.validation.Valid; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; -import jakarta.ws.rs.PATCH; import jakarta.ws.rs.POST; +import jakarta.ws.rs.PUT; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; @@ -39,7 +38,6 @@ import jakarta.ws.rs.core.Response; @Produces({ MediaType.APPLICATION_JSON }) public class TrackResource { private static final Logger LOGGER = LoggerFactory.getLogger(TrackResource.class); - static final TrackChecker CHECKER = new TrackChecker(); @GET @Path("{id}") @@ -57,16 +55,17 @@ public class TrackResource { @POST @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) - public Track post(final Track data) throws Exception { - return DataAccess.insert(data, new CheckFunction(CHECKER)); + public Track post(@Valid final Track data) throws Exception { + return DataAccess.insert(data); } - @PATCH + @PUT @Path("{id}") @RolesAllowed("ADMIN") @Consumes(MediaType.APPLICATION_JSON) - public Track patch(@PathParam("id") final Long id, @ApiAsyncType(Track.class) final String jsonRequest) throws Exception { - DataAccess.updateWithJson(Track.class, id, jsonRequest, new CheckFunction(CHECKER)); + public Track put(@PathParam("id") final Long id, @Valid final Track track) throws Exception { + track.id = id; + DataAccess.update(track, id); return DataAccess.get(Track.class, id); } @@ -77,27 +76,6 @@ public class TrackResource { DataAccess.delete(Track.class, id); } - @POST - @Path("{id}/artist/{artistId}") - @RolesAllowed("ADMIN") - @Consumes({ MediaType.MULTIPART_FORM_DATA }) - public Track addTrack(@PathParam("id") final Long id, @PathParam("artistId") final Long artistId) throws Exception { - try (DBAccess db = DBAccess.createInterface()) { - AddOnDataJson.removeLink(db, Track.class, "id", id, "artist", artistId); - return DataAccess.get(Track.class, id); - } - } - - @DELETE - @Path("{id}/artist/{trackId}") - @RolesAllowed("ADMIN") - public Track removeTrack(@PathParam("id") final Long id, @PathParam("artistId") final Long artistId) throws Exception { - try (DBAccess db = DBAccess.createInterface()) { - AddOnDataJson.removeLink(db, Track.class, "id", id, "artist", artistId); - return DataAccess.get(Track.class, id); - } - } - @POST @Path("{id}/cover") @RolesAllowed("ADMIN") @@ -196,7 +174,9 @@ public class TrackResource { trackElem.artists = new ArrayList<>(); trackElem.artists.add(artistId != null ? Long.parseLong(artistId) : null); } - trackElem = DataAccess.insert(trackElem, new CheckFunction(CHECKER)); + // TODO: maybe validate here .... + + trackElem = DataAccess.insert(trackElem); /* Old mode of artist insertion (removed due to the slowlest request of getting value if (artistElem != null) { this.dam.addLink(Track.class, trackElem.id, "artist", artistElem.id); } */ return Response.ok(trackElem).build(); } catch (final Exception ex) { diff --git a/back/src/org/kar/karusic/api/UserResource.java b/back/src/org/atriasoft/karusic/api/UserResource.java similarity index 88% rename from back/src/org/kar/karusic/api/UserResource.java rename to back/src/org/atriasoft/karusic/api/UserResource.java index 6750303..d84c160 100755 --- a/back/src/org/kar/karusic/api/UserResource.java +++ b/back/src/org/atriasoft/karusic/api/UserResource.java @@ -1,13 +1,13 @@ -package org.kar.karusic.api; +package org.atriasoft.karusic.api; import java.util.List; import java.util.Map; -import org.kar.archidata.dataAccess.DataAccess; -import org.kar.archidata.filter.GenericContext; -import org.kar.karusic.api.UserResourceModel.PartRight; -import org.kar.karusic.api.UserResourceModel.UserMe; -import org.kar.karusic.model.UserKarusic; +import org.atriasoft.archidata.dataAccess.DataAccess; +import org.atriasoft.archidata.filter.GenericContext; +import org.atriasoft.karusic.api.UserResourceModel.PartRight; +import org.atriasoft.karusic.api.UserResourceModel.UserMe; +import org.atriasoft.karusic.model.UserKarusic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/back/src/org/kar/karusic/api/UserResourceModel/ModuleAuthorizations.java b/back/src/org/atriasoft/karusic/api/UserResourceModel/ModuleAuthorizations.java similarity index 77% rename from back/src/org/kar/karusic/api/UserResourceModel/ModuleAuthorizations.java rename to back/src/org/atriasoft/karusic/api/UserResourceModel/ModuleAuthorizations.java index f77c095..6e3e248 100644 --- a/back/src/org/kar/karusic/api/UserResourceModel/ModuleAuthorizations.java +++ b/back/src/org/atriasoft/karusic/api/UserResourceModel/ModuleAuthorizations.java @@ -1,4 +1,4 @@ -package org.kar.karusic.api.UserResourceModel; +package org.atriasoft.karusic.api.UserResourceModel; import java.util.HashMap; diff --git a/back/src/org/kar/karusic/api/UserResourceModel/PartRight.java b/back/src/org/atriasoft/karusic/api/UserResourceModel/PartRight.java similarity index 90% rename from back/src/org/kar/karusic/api/UserResourceModel/PartRight.java rename to back/src/org/atriasoft/karusic/api/UserResourceModel/PartRight.java index 8bbded0..7bcb25e 100644 --- a/back/src/org/kar/karusic/api/UserResourceModel/PartRight.java +++ b/back/src/org/atriasoft/karusic/api/UserResourceModel/PartRight.java @@ -1,4 +1,4 @@ -package org.kar.karusic.api.UserResourceModel; +package org.atriasoft.karusic.api.UserResourceModel; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/back/src/org/kar/karusic/api/UserResourceModel/UserMe.java b/back/src/org/atriasoft/karusic/api/UserResourceModel/UserMe.java similarity index 89% rename from back/src/org/kar/karusic/api/UserResourceModel/UserMe.java rename to back/src/org/atriasoft/karusic/api/UserResourceModel/UserMe.java index 4f7b64f..499aa99 100644 --- a/back/src/org/kar/karusic/api/UserResourceModel/UserMe.java +++ b/back/src/org/atriasoft/karusic/api/UserResourceModel/UserMe.java @@ -1,4 +1,4 @@ -package org.kar.karusic.api.UserResourceModel; +package org.atriasoft.karusic.api.UserResourceModel; import java.util.Map; diff --git a/back/src/org/kar/karusic/filter/KarusicAuthenticationFilter.java b/back/src/org/atriasoft/karusic/filter/KarusicAuthenticationFilter.java similarity index 82% rename from back/src/org/kar/karusic/filter/KarusicAuthenticationFilter.java rename to back/src/org/atriasoft/karusic/filter/KarusicAuthenticationFilter.java index e90b5a8..8bd7708 100644 --- a/back/src/org/kar/karusic/filter/KarusicAuthenticationFilter.java +++ b/back/src/org/atriasoft/karusic/filter/KarusicAuthenticationFilter.java @@ -1,6 +1,6 @@ -package org.kar.karusic.filter; +package org.atriasoft.karusic.filter; -import org.kar.archidata.filter.AuthenticationFilter; +import org.atriasoft.archidata.filter.AuthenticationFilter; import jakarta.ws.rs.Priorities; import jakarta.ws.rs.ext.Provider; diff --git a/back/src/org/kar/karusic/migration/Initialization.java b/back/src/org/atriasoft/karusic/migration/Initialization.java similarity index 74% rename from back/src/org/kar/karusic/migration/Initialization.java rename to back/src/org/atriasoft/karusic/migration/Initialization.java index 506ccbf..a379e5e 100644 --- a/back/src/org/kar/karusic/migration/Initialization.java +++ b/back/src/org/atriasoft/karusic/migration/Initialization.java @@ -1,29 +1,30 @@ -package org.kar.karusic.migration; +package org.atriasoft.karusic.migration; import java.util.List; -import org.kar.archidata.api.DataResource; -import org.kar.archidata.api.ProxyResource; -import org.kar.archidata.dataAccess.DBAccess; -import org.kar.archidata.externalRestApi.AnalyzeApi; -import org.kar.archidata.externalRestApi.TsGenerateApi; -import org.kar.archidata.migration.MigrationSqlStep; -import org.kar.archidata.model.Data; -import org.kar.archidata.model.User; -import org.kar.archidata.model.token.JwtToken; -import org.kar.karusic.api.AlbumResource; -import org.kar.karusic.api.ArtistResource; -import org.kar.karusic.api.Front; -import org.kar.karusic.api.GenderResource; -import org.kar.karusic.api.HealthCheck; -import org.kar.karusic.api.PlaylistResource; -import org.kar.karusic.api.TrackResource; -import org.kar.karusic.api.UserResource; -import org.kar.karusic.model.Album; -import org.kar.karusic.model.Artist; -import org.kar.karusic.model.Gender; -import org.kar.karusic.model.Playlist; -import org.kar.karusic.model.Track; +import org.atriasoft.archidata.api.DataResource; +import org.atriasoft.archidata.api.ProxyResource; +import org.atriasoft.archidata.dataAccess.DBAccess; +import org.atriasoft.archidata.externalRestApi.AnalyzeApi; +import org.atriasoft.archidata.externalRestApi.TsGenerateApi; +import org.atriasoft.archidata.filter.PartRight; +import org.atriasoft.archidata.migration.MigrationSqlStep; +import org.atriasoft.archidata.model.Data; +import org.atriasoft.archidata.model.User; +import org.atriasoft.archidata.model.token.JwtToken; +import org.atriasoft.karusic.api.AlbumResource; +import org.atriasoft.karusic.api.ArtistResource; +import org.atriasoft.karusic.api.Front; +import org.atriasoft.karusic.api.GenderResource; +import org.atriasoft.karusic.api.HealthCheck; +import org.atriasoft.karusic.api.PlaylistResource; +import org.atriasoft.karusic.api.TrackResource; +import org.atriasoft.karusic.api.UserResource; +import org.atriasoft.karusic.model.Album; +import org.atriasoft.karusic.model.Artist; +import org.atriasoft.karusic.model.Gender; +import org.atriasoft.karusic.model.Playlist; +import org.atriasoft.karusic.model.Track; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,6 +46,7 @@ public class Initialization extends MigrationSqlStep { final AnalyzeApi api = new AnalyzeApi(); api.addAllApi(listOfResources); api.addModel(JwtToken.class); + api.addModel(PartRight.class); TsGenerateApi.generateApi(api, "../front/src/back-api/"); LOGGER.info("Generate APIs (DONE)"); } diff --git a/back/src/org/kar/karusic/migration/Migration20231126.java b/back/src/org/atriasoft/karusic/migration/Migration20231126.java similarity index 71% rename from back/src/org/kar/karusic/migration/Migration20231126.java rename to back/src/org/atriasoft/karusic/migration/Migration20231126.java index 2ceaf06..28a82e5 100644 --- a/back/src/org/kar/karusic/migration/Migration20231126.java +++ b/back/src/org/atriasoft/karusic/migration/Migration20231126.java @@ -1,6 +1,6 @@ -package org.kar.karusic.migration; +package org.atriasoft.karusic.migration; -import org.kar.archidata.migration.MigrationSqlStep; +import org.atriasoft.archidata.migration.MigrationSqlStep; public class Migration20231126 extends MigrationSqlStep { diff --git a/back/src/org/kar/karusic/migration/Migration20240225.java b/back/src/org/atriasoft/karusic/migration/Migration20240225.java similarity index 70% rename from back/src/org/kar/karusic/migration/Migration20240225.java rename to back/src/org/atriasoft/karusic/migration/Migration20240225.java index 399f07f..e10be61 100644 --- a/back/src/org/kar/karusic/migration/Migration20240225.java +++ b/back/src/org/atriasoft/karusic/migration/Migration20240225.java @@ -1,6 +1,6 @@ -package org.kar.karusic.migration; +package org.atriasoft.karusic.migration; -import org.kar.archidata.migration.MigrationSqlStep; +import org.atriasoft.archidata.migration.MigrationSqlStep; public class Migration20240225 extends MigrationSqlStep { diff --git a/back/src/org/kar/karusic/migration/Migration20240226.java b/back/src/org/atriasoft/karusic/migration/Migration20240226.java similarity index 78% rename from back/src/org/kar/karusic/migration/Migration20240226.java rename to back/src/org/atriasoft/karusic/migration/Migration20240226.java index 2f06735..faad2fc 100644 --- a/back/src/org/kar/karusic/migration/Migration20240226.java +++ b/back/src/org/atriasoft/karusic/migration/Migration20240226.java @@ -1,6 +1,6 @@ -package org.kar.karusic.migration; +package org.atriasoft.karusic.migration; -import org.kar.archidata.migration.MigrationSqlStep; +import org.atriasoft.archidata.migration.MigrationSqlStep; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/back/src/org/kar/karusic/migration/Migration20240907.java b/back/src/org/atriasoft/karusic/migration/Migration20240907.java similarity index 87% rename from back/src/org/kar/karusic/migration/Migration20240907.java rename to back/src/org/atriasoft/karusic/migration/Migration20240907.java index 40bc3d1..a52df31 100644 --- a/back/src/org/kar/karusic/migration/Migration20240907.java +++ b/back/src/org/atriasoft/karusic/migration/Migration20240907.java @@ -1,6 +1,6 @@ -package org.kar.karusic.migration; +package org.atriasoft.karusic.migration; -import org.kar.archidata.migration.MigrationSqlStep; +import org.atriasoft.archidata.migration.MigrationSqlStep; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/back/src/org/kar/karusic/migration/Migration20250104.java b/back/src/org/atriasoft/karusic/migration/Migration20250104.java similarity index 90% rename from back/src/org/kar/karusic/migration/Migration20250104.java rename to back/src/org/atriasoft/karusic/migration/Migration20250104.java index 87f5de7..63eb87d 100644 --- a/back/src/org/kar/karusic/migration/Migration20250104.java +++ b/back/src/org/atriasoft/karusic/migration/Migration20250104.java @@ -1,4 +1,4 @@ -package org.kar.karusic.migration; +package org.atriasoft.karusic.migration; import java.nio.file.Files; import java.nio.file.NoSuchFileException; @@ -9,14 +9,14 @@ import java.util.List; import java.util.UUID; import org.bson.types.ObjectId; -import org.kar.archidata.api.DataResource; -import org.kar.archidata.dataAccess.DBAccess; -import org.kar.archidata.dataAccess.options.AccessDeletedItems; -import org.kar.archidata.dataAccess.options.OverrideTableName; -import org.kar.archidata.migration.MigrationSqlStep; -import org.kar.karusic.migration.model.CoverConversion; -import org.kar.karusic.migration.model.MediaConversion; -import org.kar.karusic.migration.model.OIDConversion; +import org.atriasoft.archidata.api.DataResource; +import org.atriasoft.archidata.dataAccess.DBAccess; +import org.atriasoft.archidata.dataAccess.options.AccessDeletedItems; +import org.atriasoft.archidata.dataAccess.options.OverrideTableName; +import org.atriasoft.archidata.migration.MigrationSqlStep; +import org.atriasoft.karusic.migration.model.CoverConversion; +import org.atriasoft.karusic.migration.model.MediaConversion; +import org.atriasoft.karusic.migration.model.OIDConversion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/back/src/org/atriasoft/karusic/migration/Migration20250414.java b/back/src/org/atriasoft/karusic/migration/Migration20250414.java new file mode 100644 index 0000000..6fc5611 --- /dev/null +++ b/back/src/org/atriasoft/karusic/migration/Migration20250414.java @@ -0,0 +1,30 @@ +package org.atriasoft.karusic.migration; + +import org.atriasoft.archidata.migration.MigrationSqlStep; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class Migration20250414 extends MigrationSqlStep { + private static final Logger LOGGER = LoggerFactory.getLogger(Migration20240226.class); + + public static final int KARSO_INITIALISATION_ID = 1; + + @Override + public String getName() { + return "migration-2025-04-14: update constraints"; + } + + @Override + public void generateStep() throws Exception { + addAction(""" + ALTER TABLE `artist` + CHANGE `birth` `birth` timestamp(3) NULL AFTER `surname`, + CHANGE `death` `death` timestamp(3) NULL AFTER `birth`; + """); + addAction(""" + ALTER TABLE `album` + CHANGE `publication` `publication` timestamp(3) NULL AFTER `description`; + """); + } + +} diff --git a/back/src/org/kar/karusic/migration/model/CoverConversion.java b/back/src/org/atriasoft/karusic/migration/model/CoverConversion.java similarity index 73% rename from back/src/org/kar/karusic/migration/model/CoverConversion.java rename to back/src/org/atriasoft/karusic/migration/model/CoverConversion.java index e003398..b85c600 100644 --- a/back/src/org/kar/karusic/migration/model/CoverConversion.java +++ b/back/src/org/atriasoft/karusic/migration/model/CoverConversion.java @@ -1,10 +1,10 @@ -package org.kar.karusic.migration.model; +package org.atriasoft.karusic.migration.model; import java.util.List; import java.util.UUID; import org.bson.types.ObjectId; -import org.kar.archidata.annotation.DataJson; +import org.atriasoft.archidata.annotation.DataJson; import jakarta.persistence.Id; diff --git a/back/src/org/kar/karusic/migration/model/MediaConversion.java b/back/src/org/atriasoft/karusic/migration/model/MediaConversion.java similarity index 81% rename from back/src/org/kar/karusic/migration/model/MediaConversion.java rename to back/src/org/atriasoft/karusic/migration/model/MediaConversion.java index 00cd5d8..117b410 100644 --- a/back/src/org/kar/karusic/migration/model/MediaConversion.java +++ b/back/src/org/atriasoft/karusic/migration/model/MediaConversion.java @@ -1,4 +1,4 @@ -package org.kar.karusic.migration.model; +package org.atriasoft.karusic.migration.model; import java.util.UUID; diff --git a/back/src/org/kar/karusic/migration/model/OIDConversion.java b/back/src/org/atriasoft/karusic/migration/model/OIDConversion.java similarity index 79% rename from back/src/org/kar/karusic/migration/model/OIDConversion.java rename to back/src/org/atriasoft/karusic/migration/model/OIDConversion.java index 387256d..fb34509 100644 --- a/back/src/org/kar/karusic/migration/model/OIDConversion.java +++ b/back/src/org/atriasoft/karusic/migration/model/OIDConversion.java @@ -1,4 +1,4 @@ -package org.kar.karusic.migration.model; +package org.atriasoft.karusic.migration.model; import java.util.UUID; diff --git a/back/src/org/atriasoft/karusic/model/Album.java b/back/src/org/atriasoft/karusic/model/Album.java new file mode 100644 index 0000000..945a31c --- /dev/null +++ b/back/src/org/atriasoft/karusic/model/Album.java @@ -0,0 +1,48 @@ +package org.atriasoft.karusic.model; + +import java.util.Date; +import java.util.List; + +import org.atriasoft.archidata.annotation.DataIfNotExists; +import org.atriasoft.archidata.annotation.DataJson; +import org.atriasoft.archidata.annotation.apiGenerator.ApiAccessLimitation; +import org.atriasoft.archidata.annotation.apiGenerator.ApiGenerationMode; +import org.atriasoft.archidata.annotation.checker.CheckForeignKey; +import org.atriasoft.archidata.annotation.checker.CollectionNotEmpty; +import org.atriasoft.archidata.model.Data; +import org.atriasoft.archidata.model.GenericDataSoftDelete; +import org.bson.types.ObjectId; +import org.hibernate.validator.constraints.UniqueElements; + +import com.fasterxml.jackson.annotation.JsonInclude; + +import dev.morphia.annotations.Entity; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.annotation.Nullable; +import jakarta.persistence.Column; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; + +@Entity("Album") +@Table(name = "album") +@DataIfNotExists +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiGenerationMode(create = true, update = true) +public class Album extends GenericDataSoftDelete { + @Column(length = 256) + @Size(min = 1, max = 256) + public String name = null; + @Column(length = 0) + @Size(min = 0, max = 8192) + public String description = null; + @Schema(description = "List of Id of the specific covers") + @DataJson() + @Nullable + @CollectionNotEmpty + @UniqueElements + @ApiAccessLimitation(readable = true, creatable = false, updatable = false) + public List<@CheckForeignKey(target = Data.class) @NotNull ObjectId> covers = null; + + public Date publication; +} diff --git a/back/src/org/kar/karusic/model/Artist.java b/back/src/org/atriasoft/karusic/model/Artist.java similarity index 50% rename from back/src/org/kar/karusic/model/Artist.java rename to back/src/org/atriasoft/karusic/model/Artist.java index cb2d641..d783129 100644 --- a/back/src/org/kar/karusic/model/Artist.java +++ b/back/src/org/atriasoft/karusic/model/Artist.java @@ -1,15 +1,18 @@ -package org.kar.karusic.model; +package org.atriasoft.karusic.model; -import java.time.LocalDate; +import java.util.Date; import java.util.List; +import org.atriasoft.archidata.annotation.DataIfNotExists; +import org.atriasoft.archidata.annotation.DataJson; +import org.atriasoft.archidata.annotation.apiGenerator.ApiAccessLimitation; +import org.atriasoft.archidata.annotation.apiGenerator.ApiGenerationMode; +import org.atriasoft.archidata.annotation.checker.CheckForeignKey; +import org.atriasoft.archidata.annotation.checker.CollectionNotEmpty; +import org.atriasoft.archidata.model.Data; +import org.atriasoft.archidata.model.GenericDataSoftDelete; import org.bson.types.ObjectId; -import org.kar.archidata.annotation.DataIfNotExists; -import org.kar.archidata.annotation.DataJson; -import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode; -import org.kar.archidata.checker.CheckJPA; -import org.kar.archidata.model.Data; -import org.kar.archidata.model.GenericDataSoftDelete; +import org.hibernate.validator.constraints.UniqueElements; import com.fasterxml.jackson.annotation.JsonInclude; @@ -18,6 +21,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import jakarta.annotation.Nullable; import jakarta.persistence.Column; import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; @Entity("Artist") @Table(name = "artist") @@ -25,26 +30,27 @@ import jakarta.persistence.Table; @JsonInclude(JsonInclude.Include.NON_NULL) @ApiGenerationMode(create = true, update = true) public class Artist extends GenericDataSoftDelete { - public static class ArtistChecker extends CheckJPA { - public ArtistChecker() { - super(Artist.class); - } - } - @Column(length = 256) + @Size(min = 1, max = 256) public String name = null; @Column(length = 0) + @Size(min = 0, max = 8192) public String description = null; @Schema(description = "List of Id of the specific covers") - @DataJson(targetEntity = Data.class) + @DataJson() @Nullable - public List covers = null; + @CollectionNotEmpty + @UniqueElements + @ApiAccessLimitation(readable = true, creatable = false, updatable = false) + public List<@CheckForeignKey(target = Data.class) @NotNull ObjectId> covers = null; @Column(length = 256) + @Size(min = 1, max = 256) public String firstName = null; @Column(length = 256) + @Size(min = 1, max = 256) public String surname = null; - public LocalDate birth = null; - public LocalDate death = null; + public Date birth = null; + public Date death = null; @Override public String toString() { diff --git a/back/src/org/kar/karusic/model/Gender.java b/back/src/org/atriasoft/karusic/model/Gender.java similarity index 58% rename from back/src/org/kar/karusic/model/Gender.java rename to back/src/org/atriasoft/karusic/model/Gender.java index 80e5df4..e053fe5 100644 --- a/back/src/org/kar/karusic/model/Gender.java +++ b/back/src/org/atriasoft/karusic/model/Gender.java @@ -1,4 +1,4 @@ -package org.kar.karusic.model; +package org.atriasoft.karusic.model; /* CREATE TABLE `node` ( `id` bigint NOT NULL COMMENT 'table ID' AUTO_INCREMENT PRIMARY KEY, @@ -14,13 +14,16 @@ CREATE TABLE `node` ( import java.util.List; +import org.atriasoft.archidata.annotation.DataIfNotExists; +import org.atriasoft.archidata.annotation.DataJson; +import org.atriasoft.archidata.annotation.apiGenerator.ApiAccessLimitation; +import org.atriasoft.archidata.annotation.apiGenerator.ApiGenerationMode; +import org.atriasoft.archidata.annotation.checker.CheckForeignKey; +import org.atriasoft.archidata.annotation.checker.CollectionNotEmpty; +import org.atriasoft.archidata.model.Data; +import org.atriasoft.archidata.model.GenericDataSoftDelete; import org.bson.types.ObjectId; -import org.kar.archidata.annotation.DataIfNotExists; -import org.kar.archidata.annotation.DataJson; -import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode; -import org.kar.archidata.checker.CheckJPA; -import org.kar.archidata.model.Data; -import org.kar.archidata.model.GenericDataSoftDelete; +import org.hibernate.validator.constraints.UniqueElements; import com.fasterxml.jackson.annotation.JsonInclude; @@ -29,6 +32,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import jakarta.annotation.Nullable; import jakarta.persistence.Column; import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; @Entity("Gender") @Table(name = "gender") @@ -36,20 +41,19 @@ import jakarta.persistence.Table; @JsonInclude(JsonInclude.Include.NON_NULL) @ApiGenerationMode(create = true, update = true) public class Gender extends GenericDataSoftDelete { - public static class GenderChecker extends CheckJPA { - public GenderChecker() { - super(Gender.class); - } - } - @Column(length = 256) + @Size(min = 1, max = 256) public String name = null; @Column(length = 0) + @Size(min = 0, max = 8192) public String description = null; @Schema(description = "List of Id of the specific covers") - @DataJson(targetEntity = Data.class) + @DataJson() @Nullable - public List covers = null; + @CollectionNotEmpty + @UniqueElements + @ApiAccessLimitation(readable = true, creatable = false, updatable = false) + public List<@CheckForeignKey(target = Data.class) @NotNull ObjectId> covers = null; public Gender() {} diff --git a/back/src/org/kar/karusic/model/Playlist.java b/back/src/org/atriasoft/karusic/model/Playlist.java similarity index 54% rename from back/src/org/kar/karusic/model/Playlist.java rename to back/src/org/atriasoft/karusic/model/Playlist.java index 31d6ac2..1a95eaf 100644 --- a/back/src/org/kar/karusic/model/Playlist.java +++ b/back/src/org/atriasoft/karusic/model/Playlist.java @@ -1,4 +1,4 @@ -package org.kar.karusic.model; +package org.atriasoft.karusic.model; /* CREATE TABLE `node` ( `id` bigint NOT NULL COMMENT 'table ID' AUTO_INCREMENT PRIMARY KEY, @@ -14,13 +14,16 @@ CREATE TABLE `node` ( import java.util.List; +import org.atriasoft.archidata.annotation.DataIfNotExists; +import org.atriasoft.archidata.annotation.DataJson; +import org.atriasoft.archidata.annotation.apiGenerator.ApiAccessLimitation; +import org.atriasoft.archidata.annotation.apiGenerator.ApiGenerationMode; +import org.atriasoft.archidata.annotation.checker.CheckForeignKey; +import org.atriasoft.archidata.annotation.checker.CollectionNotEmpty; +import org.atriasoft.archidata.model.Data; +import org.atriasoft.archidata.model.GenericDataSoftDelete; import org.bson.types.ObjectId; -import org.kar.archidata.annotation.DataIfNotExists; -import org.kar.archidata.annotation.DataJson; -import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode; -import org.kar.archidata.checker.CheckJPA; -import org.kar.archidata.model.Data; -import org.kar.archidata.model.GenericDataSoftDelete; +import org.hibernate.validator.constraints.UniqueElements; import com.fasterxml.jackson.annotation.JsonInclude; @@ -28,9 +31,9 @@ import dev.morphia.annotations.Entity; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.annotation.Nullable; import jakarta.persistence.Column; -import jakarta.persistence.FetchType; -import jakarta.persistence.ManyToMany; import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; @Entity("Playlist") @Table(name = "playlist") @@ -38,20 +41,19 @@ import jakarta.persistence.Table; @JsonInclude(JsonInclude.Include.NON_NULL) @ApiGenerationMode(create = true, update = true) public class Playlist extends GenericDataSoftDelete { - public static class PlaylistChecker extends CheckJPA { - public PlaylistChecker() { - super(Playlist.class); - } - } - @Column(length = 256) + @Size(min = 1, max = 256) public String name = null; @Column(length = 0) + @Size(min = 0, max = 8192) public String description = null; @Schema(description = "List of Id of the specific covers") - @DataJson(targetEntity = Data.class) + @DataJson() @Nullable - public List covers = null; - @ManyToMany(fetch = FetchType.LAZY, targetEntity = Track.class) - public List tracks = null; + @CollectionNotEmpty + @UniqueElements + @ApiAccessLimitation(readable = true, creatable = false, updatable = false) + public List<@CheckForeignKey(target = Data.class) @NotNull ObjectId> covers = null; + @DataJson() + public List<@CheckForeignKey(target = Track.class) @NotNull Long> tracks = null; } diff --git a/back/src/org/kar/karusic/model/State.java b/back/src/org/atriasoft/karusic/model/State.java similarity index 78% rename from back/src/org/kar/karusic/model/State.java rename to back/src/org/atriasoft/karusic/model/State.java index 8a20397..d92faea 100644 --- a/back/src/org/kar/karusic/model/State.java +++ b/back/src/org/atriasoft/karusic/model/State.java @@ -1,4 +1,4 @@ -package org.kar.karusic.model; +package org.atriasoft.karusic.model; public enum State { // User has remove his account diff --git a/back/src/org/kar/karusic/model/Track.java b/back/src/org/atriasoft/karusic/model/Track.java similarity index 60% rename from back/src/org/kar/karusic/model/Track.java rename to back/src/org/atriasoft/karusic/model/Track.java index eea14fa..9631a33 100644 --- a/back/src/org/kar/karusic/model/Track.java +++ b/back/src/org/atriasoft/karusic/model/Track.java @@ -1,4 +1,4 @@ -package org.kar.karusic.model; +package org.atriasoft.karusic.model; /* CREATE TABLE `node` ( `id` bigint NOT NULL COMMENT 'table ID' AUTO_INCREMENT PRIMARY KEY, @@ -14,13 +14,16 @@ CREATE TABLE `node` ( import java.util.List; +import org.atriasoft.archidata.annotation.DataIfNotExists; +import org.atriasoft.archidata.annotation.DataJson; +import org.atriasoft.archidata.annotation.apiGenerator.ApiAccessLimitation; +import org.atriasoft.archidata.annotation.apiGenerator.ApiGenerationMode; +import org.atriasoft.archidata.annotation.checker.CheckForeignKey; +import org.atriasoft.archidata.annotation.checker.CollectionNotEmpty; +import org.atriasoft.archidata.model.Data; +import org.atriasoft.archidata.model.GenericDataSoftDelete; import org.bson.types.ObjectId; -import org.kar.archidata.annotation.DataIfNotExists; -import org.kar.archidata.annotation.DataJson; -import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode; -import org.kar.archidata.checker.CheckJPA; -import org.kar.archidata.model.Data; -import org.kar.archidata.model.GenericDataSoftDelete; +import org.hibernate.validator.constraints.UniqueElements; import com.fasterxml.jackson.annotation.JsonInclude; @@ -29,6 +32,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import jakarta.annotation.Nullable; import jakarta.persistence.Column; import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PositiveOrZero; +import jakarta.validation.constraints.Size; @Entity("Track") @Table(name = "track") @@ -37,28 +43,31 @@ import jakarta.persistence.Table; @ApiGenerationMode(create = true, update = true) public class Track extends GenericDataSoftDelete { - public static class TrackChecker extends CheckJPA { - public TrackChecker() { - super(Track.class); - } - } - @Column(length = 256) + @Size(min = 1, max = 256) public String name = null; @Column(length = 0) + @Size(min = 0, max = 8192) public String description = null; @Schema(description = "List of Id of the specific covers") - @DataJson(targetEntity = Data.class) + @DataJson() @Nullable - public List covers = null; + @CollectionNotEmpty + @UniqueElements + @ApiAccessLimitation(readable = true, creatable = false, updatable = false) + public List<@CheckForeignKey(target = Data.class) @NotNull ObjectId> covers = null; + @CheckForeignKey(target = Gender.class) public Long genderId = null; + @CheckForeignKey(target = Album.class) public Long albumId = null; + @PositiveOrZero public Long track = null; + @CheckForeignKey(target = Data.class) public ObjectId dataId = null; // @ManyToMany(fetch = FetchType.LAZY, targetEntity = Artist.class) @DataJson @Column(length = 0) - public List artists = null; + public List<@CheckForeignKey(target = Artist.class) @NotNull Long> artists = null; @Override public String toString() { diff --git a/back/src/org/kar/karusic/model/UserKarusic.java b/back/src/org/atriasoft/karusic/model/UserKarusic.java similarity index 60% rename from back/src/org/kar/karusic/model/UserKarusic.java rename to back/src/org/atriasoft/karusic/model/UserKarusic.java index 43da152..abee57a 100644 --- a/back/src/org/kar/karusic/model/UserKarusic.java +++ b/back/src/org/atriasoft/karusic/model/UserKarusic.java @@ -1,7 +1,7 @@ -package org.kar.karusic.model; +package org.atriasoft.karusic.model; -import org.kar.archidata.annotation.DataIfNotExists; -import org.kar.archidata.model.User; +import org.atriasoft.archidata.annotation.DataIfNotExists; +import org.atriasoft.archidata.model.User; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/back/src/org/kar/karusic/util/ConfigVariable.java b/back/src/org/atriasoft/karusic/util/ConfigVariable.java similarity index 88% rename from back/src/org/kar/karusic/util/ConfigVariable.java rename to back/src/org/atriasoft/karusic/util/ConfigVariable.java index c916627..8b0eca6 100644 --- a/back/src/org/kar/karusic/util/ConfigVariable.java +++ b/back/src/org/atriasoft/karusic/util/ConfigVariable.java @@ -1,4 +1,4 @@ -package org.kar.karusic.util; +package org.atriasoft.karusic.util; public class ConfigVariable { public static final String BASE_NAME = "ORG_KARUSIC_"; diff --git a/back/src/org/kar/karusic/model/Album.java b/back/src/org/kar/karusic/model/Album.java deleted file mode 100644 index 174577e..0000000 --- a/back/src/org/kar/karusic/model/Album.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.kar.karusic.model; - -import java.time.LocalDate; -import java.util.List; - -import org.bson.types.ObjectId; -import org.kar.archidata.annotation.DataIfNotExists; -import org.kar.archidata.annotation.DataJson; -import org.kar.archidata.annotation.apiGenerator.ApiGenerationMode; -import org.kar.archidata.checker.CheckJPA; -import org.kar.archidata.model.Data; -import org.kar.archidata.model.GenericDataSoftDelete; - -import com.fasterxml.jackson.annotation.JsonInclude; - -import dev.morphia.annotations.Entity; -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.annotation.Nullable; -import jakarta.persistence.Column; -import jakarta.persistence.Table; - -@Entity("Album") -@Table(name = "album") -@DataIfNotExists -@JsonInclude(JsonInclude.Include.NON_NULL) -@ApiGenerationMode(create = true, update = true) -public class Album extends GenericDataSoftDelete { - public static class AlbumChecker extends CheckJPA { - public AlbumChecker() { - super(Album.class); - } - } - - @Column(length = 256) - public String name = null; - @Column(length = 0) - public String description = null; - @Schema(description = "List of Id of the specific covers") - @DataJson(targetEntity = Data.class) - @Nullable - public List covers = null; - public LocalDate publication = null; -} diff --git a/back/src/resources/logback.xml b/back/src/resources/logback.xml index 63a901b..dce7a91 100644 --- a/back/src/resources/logback.xml +++ b/back/src/resources/logback.xml @@ -10,8 +10,8 @@ %green(%d{HH:mm:ss.SSS}) %highlight(%-5level) %-30((%file:%line\)): %msg%n - - + + @@ -32,19 +32,19 @@ - + - - + + - - + + \ No newline at end of file diff --git a/back/test/src/test/kar/karusic/Common.java b/back/test/src/test/atriasoft/karusic/Common.java similarity index 75% rename from back/test/src/test/kar/karusic/Common.java rename to back/test/src/test/atriasoft/karusic/Common.java index 2776441..667286a 100644 --- a/back/test/src/test/kar/karusic/Common.java +++ b/back/test/src/test/atriasoft/karusic/Common.java @@ -1,9 +1,9 @@ -package test.kar.karusic; +package test.atriasoft.karusic; import java.util.Map; -import org.kar.archidata.filter.PartRight; -import org.kar.archidata.tools.JWTWrapper; +import org.atriasoft.archidata.filter.PartRight; +import org.atriasoft.archidata.tools.JWTWrapper; public class Common { static String USER_TOKEN = JWTWrapper.createJwtTestToken(16512, "test_user_login", "KarAuth", "karusic", Map.of("karusic", Map.of("USER", PartRight.READ))); diff --git a/back/test/src/test/kar/karusic/ConfigureDb.java b/back/test/src/test/atriasoft/karusic/ConfigureDb.java similarity index 83% rename from back/test/src/test/kar/karusic/ConfigureDb.java rename to back/test/src/test/atriasoft/karusic/ConfigureDb.java index 3d7ae5f..879c4c6 100644 --- a/back/test/src/test/kar/karusic/ConfigureDb.java +++ b/back/test/src/test/atriasoft/karusic/ConfigureDb.java @@ -1,19 +1,19 @@ -package test.kar.karusic; +package test.atriasoft.karusic; import java.io.IOException; import java.util.List; -import org.kar.archidata.dataAccess.DBAccess; -import org.kar.archidata.db.DbConfig; -import org.kar.archidata.db.DbIoFactory; -import org.kar.archidata.exception.DataAccessException; -import org.kar.archidata.tools.ConfigBaseVariable; -import org.kar.karusic.model.Album; -import org.kar.karusic.model.Artist; -import org.kar.karusic.model.Gender; -import org.kar.karusic.model.Playlist; -import org.kar.karusic.model.Track; -import org.kar.karusic.model.UserKarusic; +import org.atriasoft.archidata.dataAccess.DBAccess; +import org.atriasoft.archidata.db.DbConfig; +import org.atriasoft.archidata.db.DbIoFactory; +import org.atriasoft.archidata.exception.DataAccessException; +import org.atriasoft.archidata.tools.ConfigBaseVariable; +import org.atriasoft.karusic.model.Album; +import org.atriasoft.karusic.model.Artist; +import org.atriasoft.karusic.model.Gender; +import org.atriasoft.karusic.model.Playlist; +import org.atriasoft.karusic.model.Track; +import org.atriasoft.karusic.model.UserKarusic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -59,15 +59,15 @@ public class ConfigureDb { ConfigBaseVariable.dbKeepConnected = "true"; } else if ("MY-SQL".equalsIgnoreCase(modeTest)) { ConfigBaseVariable.dbType = "mysql"; - ConfigBaseVariable.bdDatabase = "test_karusic_db"; + ConfigBaseVariable.bdDatabase = "test.atriasoftusic_db"; ConfigBaseVariable.dbPort = "3906"; ConfigBaseVariable.dbUser = "root"; } else if ("MONGO".equalsIgnoreCase(modeTest)) { ConfigBaseVariable.dbType = "mongo"; - ConfigBaseVariable.bdDatabase = "test_karusic_db"; + ConfigBaseVariable.bdDatabase = "test.atriasoftusic_db"; } else { // User local modification ... - ConfigBaseVariable.bdDatabase = "test_karusic_db"; + ConfigBaseVariable.bdDatabase = "test.atriasoftusic_db"; ConfigBaseVariable.dbPort = "3906"; ConfigBaseVariable.dbUser = "root"; } diff --git a/back/test/src/test/kar/karusic/ResourceUtils.java b/back/test/src/test/atriasoft/karusic/ResourceUtils.java similarity index 93% rename from back/test/src/test/kar/karusic/ResourceUtils.java rename to back/test/src/test/atriasoft/karusic/ResourceUtils.java index 330b808..f6ad5c0 100644 --- a/back/test/src/test/kar/karusic/ResourceUtils.java +++ b/back/test/src/test/atriasoft/karusic/ResourceUtils.java @@ -1,4 +1,4 @@ -package test.kar.karusic; +package test.atriasoft.karusic; import java.io.File; import java.io.IOException; diff --git a/back/test/src/test/kar/karusic/StepwiseExtension.java b/back/test/src/test/atriasoft/karusic/StepwiseExtension.java similarity index 98% rename from back/test/src/test/kar/karusic/StepwiseExtension.java rename to back/test/src/test/atriasoft/karusic/StepwiseExtension.java index fb0c9a4..59551a0 100644 --- a/back/test/src/test/kar/karusic/StepwiseExtension.java +++ b/back/test/src/test/atriasoft/karusic/StepwiseExtension.java @@ -1,4 +1,4 @@ -package test.kar.karusic; +package test.atriasoft.karusic; import org.junit.jupiter.api.extension.ConditionEvaluationResult; import org.junit.jupiter.api.extension.ExecutionCondition; diff --git a/back/test/src/test/kar/karusic/TestHealthCheck.java b/back/test/src/test/atriasoft/karusic/TestHealthCheck.java similarity index 86% rename from back/test/src/test/kar/karusic/TestHealthCheck.java rename to back/test/src/test/atriasoft/karusic/TestHealthCheck.java index c260c2d..ab1cf76 100644 --- a/back/test/src/test/kar/karusic/TestHealthCheck.java +++ b/back/test/src/test/atriasoft/karusic/TestHealthCheck.java @@ -1,4 +1,4 @@ -package test.kar.karusic; +package test.atriasoft.karusic; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; @@ -8,10 +8,10 @@ import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; import org.junit.jupiter.api.extension.ExtendWith; -import org.kar.archidata.exception.RESTErrorResponseException; -import org.kar.archidata.tools.ConfigBaseVariable; -import org.kar.archidata.tools.RESTApi; -import org.kar.karusic.api.HealthCheck.HealthResult; +import org.atriasoft.archidata.exception.RESTErrorResponseException; +import org.atriasoft.archidata.tools.ConfigBaseVariable; +import org.atriasoft.archidata.tools.RESTApi; +import org.atriasoft.karusic.api.HealthCheck.HealthResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/back/test/src/test/kar/karusic/TestTrack.java b/back/test/src/test/atriasoft/karusic/TestTrack.java similarity index 95% rename from back/test/src/test/kar/karusic/TestTrack.java rename to back/test/src/test/atriasoft/karusic/TestTrack.java index 1d66d2e..cebb9aa 100644 --- a/back/test/src/test/kar/karusic/TestTrack.java +++ b/back/test/src/test/atriasoft/karusic/TestTrack.java @@ -1,4 +1,4 @@ -package test.kar.karusic; +package test.atriasoft.karusic; import java.io.File; import java.io.IOException; @@ -15,9 +15,9 @@ import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; import org.junit.jupiter.api.extension.ExtendWith; -import org.kar.archidata.tools.ConfigBaseVariable; -import org.kar.archidata.tools.RESTApi; -import org.kar.karusic.model.Track; +import org.atriasoft.archidata.tools.ConfigBaseVariable; +import org.atriasoft.archidata.tools.RESTApi; +import org.atriasoft.karusic.model.Track; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/back/test/src/test/kar/karusic/WebLauncherTest.java b/back/test/src/test/atriasoft/karusic/WebLauncherTest.java similarity index 75% rename from back/test/src/test/kar/karusic/WebLauncherTest.java rename to back/test/src/test/atriasoft/karusic/WebLauncherTest.java index 10de3a8..df585fe 100755 --- a/back/test/src/test/kar/karusic/WebLauncherTest.java +++ b/back/test/src/test/atriasoft/karusic/WebLauncherTest.java @@ -1,7 +1,7 @@ -package test.kar.karusic; +package test.atriasoft.karusic; -import org.kar.karusic.WebLauncher; +import org.atriasoft.karusic.WebLauncher; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/front/package.json b/front/package.json index 36d3843..90acd32 100644 --- a/front/package.json +++ b/front/package.json @@ -32,19 +32,19 @@ "react-speech-recognition": "4.0.0", "regenerator-runtime": "0.14.1", "@trivago/prettier-plugin-sort-imports": "5.2.2", - "@chakra-ui/cli": "3.13.0", - "@chakra-ui/react": "3.13.0", + "@chakra-ui/cli": "3.16.0", + "@chakra-ui/react": "3.16.0", "@emotion/react": "11.14.0", "allotment": "1.20.3", "css-mediaquery": "0.1.2", "dayjs": "1.11.13", "history": "5.3.0", "next-themes": "^0.4.6", - "react": "19.0.0", - "react-dom": "19.0.0", + "react": "19.1.0", + "react-dom": "19.1.0", "react-error-boundary": "5.0.0", "react-icons": "5.5.0", - "react-router-dom": "7.4.0", + "react-router-dom": "7.5.0", "react-select": "5.10.1", "react-use": "17.6.0", "zod": "3.24.2", @@ -53,41 +53,41 @@ "devDependencies": { "@chakra-ui/styled-system": "^2.12.0", "@playwright/test": "1.51.1", - "@storybook/addon-actions": "8.6.8", - "@storybook/addon-essentials": "8.6.8", - "@storybook/addon-links": "8.6.8", - "@storybook/addon-mdx-gfm": "8.6.8", - "@storybook/react": "8.6.8", - "@storybook/react-vite": "8.6.8", - "@storybook/theming": "8.6.8", + "@storybook/addon-actions": "8.6.12", + "@storybook/addon-essentials": "8.6.12", + "@storybook/addon-links": "8.6.12", + "@storybook/addon-mdx-gfm": "8.6.12", + "@storybook/react": "8.6.12", + "@storybook/react-vite": "8.6.12", + "@storybook/theming": "8.6.12", "@testing-library/jest-dom": "6.6.3", - "@testing-library/react": "16.2.0", + "@testing-library/react": "16.3.0", "@testing-library/user-event": "14.6.1", "@trivago/prettier-plugin-sort-imports": "5.2.2", "@types/jest": "29.5.14", - "@types/node": "22.13.11", - "@types/react": "19.0.12", - "@types/react-dom": "19.0.4", - "@typescript-eslint/eslint-plugin": "8.27.0", - "@typescript-eslint/parser": "8.27.0", + "@types/node": "22.14.1", + "@types/react": "19.1.1", + "@types/react-dom": "19.1.2", + "@typescript-eslint/eslint-plugin": "8.30.0", + "@typescript-eslint/parser": "8.30.0", "@vitejs/plugin-react": "4.3.4", - "eslint": "9.23.0", + "eslint": "9.24.0", "eslint-plugin-import": "2.31.0", - "eslint-plugin-react": "7.37.4", + "eslint-plugin-react": "7.37.5", "eslint-plugin-react-hooks": "5.2.0", - "eslint-plugin-storybook": "0.11.6", + "eslint-plugin-storybook": "0.12.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "knip": "5.46.0", - "lint-staged": "15.5.0", - "npm-check-updates": "^17.1.16", + "knip": "5.50.3", + "lint-staged": "15.5.1", + "npm-check-updates": "^17.1.18", "prettier": "3.5.3", - "puppeteer": "24.4.0", - "react-is": "19.0.0", - "storybook": "8.6.8", + "puppeteer": "24.6.1", + "react-is": "19.1.0", + "storybook": "8.6.12", "ts-node": "10.9.2", - "typescript": "5.8.2", - "vite": "6.2.2", - "vitest": "3.0.9" + "typescript": "5.8.3", + "vite": "6.2.6", + "vitest": "3.1.1" } } diff --git a/front/pnpm-lock.yaml b/front/pnpm-lock.yaml index 62a33cb..ac0b33e 100644 --- a/front/pnpm-lock.yaml +++ b/front/pnpm-lock.yaml @@ -9,20 +9,20 @@ importers: .: dependencies: '@chakra-ui/cli': - specifier: 3.13.0 - version: 3.13.0(@chakra-ui/react@3.13.0(@emotion/react@11.14.0(@types/react@19.0.12)(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) + specifier: 3.16.0 + version: 3.16.0(@chakra-ui/react@3.16.0(@emotion/react@11.14.0(@types/react@19.1.1)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) '@chakra-ui/react': - specifier: 3.13.0 - version: 3.13.0(@emotion/react@11.14.0(@types/react@19.0.12)(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 3.16.0 + version: 3.16.0(@emotion/react@11.14.0(@types/react@19.1.1)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@emotion/react': specifier: 11.14.0 - version: 11.14.0(@types/react@19.0.12)(react@19.0.0) + version: 11.14.0(@types/react@19.1.1)(react@19.1.0) '@trivago/prettier-plugin-sort-imports': specifier: 5.2.2 version: 5.2.2(prettier@3.5.3) allotment: specifier: 1.20.3 - version: 1.20.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.20.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) css-mediaquery: specifier: 0.1.2 version: 0.1.2 @@ -34,31 +34,31 @@ importers: version: 5.3.0 next-themes: specifier: ^0.4.6 - version: 0.4.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.1.0 + version: 19.1.0 react-dom: - specifier: 19.0.0 - version: 19.0.0(react@19.0.0) + specifier: 19.1.0 + version: 19.1.0(react@19.1.0) react-error-boundary: specifier: 5.0.0 - version: 5.0.0(react@19.0.0) + version: 5.0.0(react@19.1.0) react-icons: specifier: 5.5.0 - version: 5.5.0(react@19.0.0) + version: 5.5.0(react@19.1.0) react-router-dom: - specifier: 7.4.0 - version: 7.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 7.5.0 + version: 7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-select: specifier: 5.10.1 - version: 5.10.1(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 5.10.1(@types/react@19.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-speech-recognition: specifier: 4.0.0 - version: 4.0.0(react@19.0.0) + version: 4.0.0(react@19.1.0) react-use: specifier: 17.6.0 - version: 17.6.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 17.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) regenerator-runtime: specifier: 0.14.1 version: 0.14.1 @@ -67,41 +67,41 @@ importers: version: 3.24.2 zustand: specifier: 5.0.3 - version: 5.0.3(@types/react@19.0.12)(react@19.0.0) + version: 5.0.3(@types/react@19.1.1)(react@19.1.0) devDependencies: '@chakra-ui/styled-system': specifier: ^2.12.0 - version: 2.12.0(react@19.0.0) + version: 2.12.0(react@19.1.0) '@playwright/test': specifier: 1.51.1 version: 1.51.1 '@storybook/addon-actions': - specifier: 8.6.8 - version: 8.6.8(storybook@8.6.8(prettier@3.5.3)) + specifier: 8.6.12 + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/addon-essentials': - specifier: 8.6.8 - version: 8.6.8(@types/react@19.0.12)(storybook@8.6.8(prettier@3.5.3)) + specifier: 8.6.12 + version: 8.6.12(@types/react@19.1.1)(storybook@8.6.12(prettier@3.5.3)) '@storybook/addon-links': - specifier: 8.6.8 - version: 8.6.8(react@19.0.0)(storybook@8.6.8(prettier@3.5.3)) + specifier: 8.6.12 + version: 8.6.12(react@19.1.0)(storybook@8.6.12(prettier@3.5.3)) '@storybook/addon-mdx-gfm': - specifier: 8.6.8 - version: 8.6.8(storybook@8.6.8(prettier@3.5.3)) + specifier: 8.6.12 + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/react': - specifier: 8.6.8 - version: 8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.8(prettier@3.5.3))(typescript@5.8.2) + specifier: 8.6.12 + version: 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.8.3) '@storybook/react-vite': - specifier: 8.6.8 - version: 8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.34.6)(storybook@8.6.8(prettier@3.5.3))(typescript@5.8.2)(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) + specifier: 8.6.12 + version: 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.34.6)(storybook@8.6.12(prettier@3.5.3))(typescript@5.8.3)(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) '@storybook/theming': - specifier: 8.6.8 - version: 8.6.8(storybook@8.6.8(prettier@3.5.3)) + specifier: 8.6.12 + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@testing-library/jest-dom': specifier: 6.6.3 version: 6.6.3 '@testing-library/react': - specifier: 16.2.0 - version: 16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 16.3.0 + version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.2(@types/react@19.1.1))(@types/react@19.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@testing-library/user-event': specifier: 14.6.1 version: 14.6.1(@testing-library/dom@10.4.0) @@ -109,77 +109,77 @@ importers: specifier: 29.5.14 version: 29.5.14 '@types/node': - specifier: 22.13.11 - version: 22.13.11 + specifier: 22.14.1 + version: 22.14.1 '@types/react': - specifier: 19.0.12 - version: 19.0.12 + specifier: 19.1.1 + version: 19.1.1 '@types/react-dom': - specifier: 19.0.4 - version: 19.0.4(@types/react@19.0.12) + specifier: 19.1.2 + version: 19.1.2(@types/react@19.1.1) '@typescript-eslint/eslint-plugin': - specifier: 8.27.0 - version: 8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + specifier: 8.30.0 + version: 8.30.0(@typescript-eslint/parser@8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': - specifier: 8.27.0 - version: 8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + specifier: 8.30.0 + version: 8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) '@vitejs/plugin-react': specifier: 4.3.4 - version: 4.3.4(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) + version: 4.3.4(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) eslint: - specifier: 9.23.0 - version: 9.23.0(jiti@2.4.2) + specifier: 9.24.0 + version: 9.24.0(jiti@2.4.2) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)) + version: 2.31.0(@typescript-eslint/parser@8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)) eslint-plugin-react: - specifier: 7.37.4 - version: 7.37.4(eslint@9.23.0(jiti@2.4.2)) + specifier: 7.37.5 + version: 7.37.5(eslint@9.24.0(jiti@2.4.2)) eslint-plugin-react-hooks: specifier: 5.2.0 - version: 5.2.0(eslint@9.23.0(jiti@2.4.2)) + version: 5.2.0(eslint@9.24.0(jiti@2.4.2)) eslint-plugin-storybook: - specifier: 0.11.6 - version: 0.11.6(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + specifier: 0.12.0 + version: 0.12.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)) + version: 29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 knip: - specifier: 5.46.0 - version: 5.46.0(@types/node@22.13.11)(typescript@5.8.2) + specifier: 5.50.3 + version: 5.50.3(@types/node@22.14.1)(typescript@5.8.3) lint-staged: - specifier: 15.5.0 - version: 15.5.0 + specifier: 15.5.1 + version: 15.5.1 npm-check-updates: - specifier: ^17.1.16 - version: 17.1.16 + specifier: ^17.1.18 + version: 17.1.18 prettier: specifier: 3.5.3 version: 3.5.3 puppeteer: - specifier: 24.4.0 - version: 24.4.0(typescript@5.8.2) + specifier: 24.6.1 + version: 24.6.1(typescript@5.8.3) react-is: - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.1.0 + version: 19.1.0 storybook: - specifier: 8.6.8 - version: 8.6.8(prettier@3.5.3) + specifier: 8.6.12 + version: 8.6.12(prettier@3.5.3) ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@22.13.11)(typescript@5.8.2) + version: 10.9.2(@types/node@22.14.1)(typescript@5.8.3) typescript: - specifier: 5.8.2 - version: 5.8.2 + specifier: 5.8.3 + version: 5.8.3 vite: - specifier: 6.2.2 - version: 6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) + specifier: 6.2.6 + version: 6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) vitest: - specifier: 3.0.9 - version: 3.0.9(@types/debug@4.1.12)(@types/node@22.13.11)(jiti@2.4.2)(jsdom@20.0.3)(terser@5.39.0)(yaml@2.7.0) + specifier: 3.1.1 + version: 3.1.1(@types/debug@4.1.12)(@types/node@22.14.1)(jiti@2.4.2)(jsdom@20.0.3)(terser@5.39.0)(yaml@2.7.0) packages: @@ -190,8 +190,8 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@ark-ui/react@4.9.2': - resolution: {integrity: sha512-LJnz8nwXgGRszlkU2AiH3yLsAeXiXeQl4JBjMA7d8klZJBiBUp7URwLhBSWmoAIWRH7bW6fSPjhRAEkJLmD8gA==} + '@ark-ui/react@5.5.0': + resolution: {integrity: sha512-zLERNKOrf77K0OMOLoo5+jZQn9uXxYck56gBzx/zhW2SjFe0M2lE6VyaIiwgKGIqbGre59gD9/tyTsqO6bqARQ==} peerDependencies: react: '>=18.0.0' react-dom: '>=18.0.0' @@ -373,14 +373,14 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@chakra-ui/cli@3.13.0': - resolution: {integrity: sha512-MbtkzhmDc/tjyzXjRg3l5SvIbLjI+y3s1WiFWLMnzXKpsmHQYi7Ud0rUCUvVj10Pip+asHKzw4lw/ZYx936mjg==} + '@chakra-ui/cli@3.16.0': + resolution: {integrity: sha512-hQVsWWhGzgUF+KZGquVqhxlSoq28Dlv5w6+UheAOS9rXow0UKBzlvD/utUfMQeUcTp6P0rE54epV5tSQT13hDw==} hasBin: true peerDependencies: '@chakra-ui/react': '>=3.0.0-next.0' - '@chakra-ui/react@3.13.0': - resolution: {integrity: sha512-HqFXuVhiQCftQT5+/9F6w0aZufHgvaSr7jJoMP+BUxihF6uaSSW2YHy2eKK4a5SWNLMOnZHYQbUUrC3WSGcYxg==} + '@chakra-ui/react@3.16.0': + resolution: {integrity: sha512-NZLGQgIPr/hLeyBoQyUqzaru+RGrs4Zy1kGpnBNGnL2UrCLZryHvax/pdfqId8cJjhWPGxokJUTVcTTMPnN3Gg==} peerDependencies: '@emotion/react': '>=11' react: '>=18' @@ -394,11 +394,11 @@ packages: peerDependencies: react: '>=16.8.0' - '@clack/core@0.4.1': - resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} + '@clack/core@0.4.2': + resolution: {integrity: sha512-NYQfcEy8MWIxrT5Fj8nIVchfRFA26yYKJcvBS7WlUIlw2OmQOY9DhGGXMovyI5J5PpxrCPGkgUi207EBrjpBvg==} - '@clack/prompts@0.10.0': - resolution: {integrity: sha512-H3rCl6CwW1NdQt9rE3n373t7o5cthPv7yUoxF2ytZvyvlJv89C5RYMJu83Hed8ODgys5vpBU0GKxIRG83jd8NQ==} + '@clack/prompts@0.10.1': + resolution: {integrity: sha512-Q0T02vx8ZM9XSv9/Yde0jTmmBQufZhPJfYAg2XrrrxWWaZgq1rr8nU8Hv710BQ1dhoP8rtY7YUdpGej2Qza/cw==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -448,438 +448,150 @@ packages: '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} - '@esbuild/aix-ppc64@0.20.2': - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.24.2': - resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.25.1': resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.20.2': - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.24.2': - resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.25.1': resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.20.2': - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.24.2': - resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.25.1': resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.20.2': - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.24.2': - resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.25.1': resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.20.2': - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.24.2': - resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.25.1': resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.20.2': - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.24.2': - resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.25.1': resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.20.2': - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.24.2': - resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.25.1': resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.20.2': - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.24.2': - resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.25.1': resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.20.2': - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.24.2': - resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.25.1': resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.20.2': - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.24.2': - resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.25.1': resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.20.2': - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.24.2': - resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.25.1': resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.20.2': - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.24.2': - resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.25.1': resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.20.2': - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.24.2': - resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.25.1': resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.20.2': - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.24.2': - resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.25.1': resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.20.2': - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.24.2': - resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.25.1': resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.20.2': - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.24.2': - resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.25.1': resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.20.2': - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.24.2': - resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.25.1': resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.24.2': - resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.25.1': resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.20.2': - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.24.2': - resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.25.1': resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.24.2': - resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.25.1': resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.20.2': - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.24.2': - resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.25.1': resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.20.2': - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.24.2': - resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.25.1': resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.20.2': - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.24.2': - resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.25.1': resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.20.2': - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.24.2': - resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.25.1': resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.20.2': - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.24.2': - resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.25.1': resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==} engines: {node: '>=18'} @@ -896,8 +608,8 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.19.2': - resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + '@eslint/config-array@0.20.0': + resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/config-helpers@0.2.0': @@ -912,8 +624,8 @@ packages: resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.23.0': - resolution: {integrity: sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==} + '@eslint/js@9.24.0': + resolution: {integrity: sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': @@ -1083,26 +795,14 @@ packages: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - '@nodelib/fs.scandir@4.0.1': - resolution: {integrity: sha512-vAkI715yhnmiPupY+dq+xenu5Tdf2TBQ66jLvBIcCddtz+5Q8LbMKaf9CIJJreez8fQ8fgaY+RaywQx8RJIWpw==} - engines: {node: '>=18.18.0'} - '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - '@nodelib/fs.stat@4.0.0': - resolution: {integrity: sha512-ctr6bByzksKRCV0bavi8WoQevU6plSp2IkllIsEqaiKe2mwNNnaluhnRhcsgGZHrrHk57B3lf95MkLMO3STYcg==} - engines: {node: '>=18.18.0'} - '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nodelib/fs.walk@3.0.1': - resolution: {integrity: sha512-nIh/M6Kh3ZtOmlY00DaUYB4xeeV6F3/ts1l29iwl3/cfyY/OuCfUx+v08zgx8TKPTifXRcjjqVQ4KB2zOYSbyw==} - engines: {node: '>=18.18.0'} - '@pandacss/is-valid-prop@0.41.0': resolution: {integrity: sha512-BE6h6CsJk14ugIRrsazJtN3fcg+KDFRat1Bs93YFKH6jd4DOb1yUyVvC70jKqPVvg70zEcV8acZ7VdcU5TLu+w==} @@ -1115,8 +815,8 @@ packages: engines: {node: '>=18'} hasBin: true - '@puppeteer/browsers@2.8.0': - resolution: {integrity: sha512-yTwt2KWRmCQAfhvbCRjebaSX8pV1//I0Y3g+A7f/eS7gf0l4eRJoUCvcYdVtboeU4CTOZQuqYbZNS8aBYb8ROQ==} + '@puppeteer/browsers@2.10.0': + resolution: {integrity: sha512-HdHF4rny4JCvIcm7V1dpvpctIGqM3/Me255CB44vW7hDG1zYMmcBMjpNqZEDxdCfXGLkx5kP0+Jz5DUS+ukqtA==} engines: {node: '>=18'} hasBin: true @@ -1240,110 +940,105 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - '@snyk/github-codeowners@1.1.0': - resolution: {integrity: sha512-lGFf08pbkEac0NYgVf4hdANpAgApRjNByLXB+WBip3qj1iendOIyAwP2GKkKbQMNVy2r1xxDf0ssfWscoiC+Vw==} - engines: {node: '>=8.10'} - hasBin: true - - '@storybook/addon-actions@8.6.8': - resolution: {integrity: sha512-ZTlbWMTosU6kyBeJmZUA3gsMl5iiztAJ2+hE/KhxBTdEpPl2xVWxmkv8iLFmmic6MW4WIvCzVg5Qth+rJlFMzw==} + '@storybook/addon-actions@8.6.12': + resolution: {integrity: sha512-B5kfiRvi35oJ0NIo53CGH66H471A3XTzrfaa6SxXEJsgxxSeKScG5YeXcCvLiZfvANRQ7QDsmzPUgg0o3hdMXw==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-backgrounds@8.6.8': - resolution: {integrity: sha512-ciXOb9u9Te5XXAnE65ByaTmWfDRvMerYTZZLen1ekzN0bZonL9G3/ptkz6vzuWFv1tjytq6cbea1QZlBVBGd0A==} + '@storybook/addon-backgrounds@8.6.12': + resolution: {integrity: sha512-lmIAma9BiiCTbJ8YfdZkXjpnAIrOUcgboLkt1f6XJ78vNEMnLNzD9gnh7Tssz1qrqvm34v9daDjIb+ggdiKp3Q==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-controls@8.6.8': - resolution: {integrity: sha512-rgV0EdxmqL7HWm8W8ractgcB7WjLktWPgruDJTcHMvdVbpPDP7y3+xNivZs1IqTFV4uA6GS2pPuhzBjwppwtKQ==} + '@storybook/addon-controls@8.6.12': + resolution: {integrity: sha512-9VSRPJWQVb9wLp21uvpxDGNctYptyUX0gbvxIWOHMH3R2DslSoq41lsC/oQ4l4zSHVdL+nq8sCTkhBxIsjKqdQ==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-docs@8.6.8': - resolution: {integrity: sha512-grtXbIzkgypOuHqeVUIhInBNogDDjTSQ9G2EHnH6EYv7lLII6cX3crZp5Ugxax3M0UX1KnQxcKb7LfUpl0Ev/g==} + '@storybook/addon-docs@8.6.12': + resolution: {integrity: sha512-kEezQjAf/p3SpDzLABgg4fbT48B6dkT2LiZCKTRmCrJVtuReaAr4R9MMM6Jsph6XjbIj/SvOWf3CMeOPXOs9sg==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-essentials@8.6.8': - resolution: {integrity: sha512-+lv8gSvwMTjjJRjHKIEdifVciB2/9nZ9x6HBwQRhuwVaalIzEV7od6MGJGI6g7uDiTW/hARSM8tCgw1hCzsP0g==} + '@storybook/addon-essentials@8.6.12': + resolution: {integrity: sha512-Y/7e8KFlttaNfv7q2zoHMPdX6hPXHdsuQMAjYl5NG9HOAJREu4XBy4KZpbcozRe4ApZ78rYsN/MO1EuA+bNMIA==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-highlight@8.6.8': - resolution: {integrity: sha512-RBsnz7oquZtZMhXr8lqVYu7oU4RNslwhz69IOj6iM+WIgT0ZB51gxCWH/zxibivwb/zDb2LNeAYc2n8u53LyYw==} + '@storybook/addon-highlight@8.6.12': + resolution: {integrity: sha512-9FITVxdoycZ+eXuAZL9ElWyML/0fPPn9UgnnAkrU7zkMi+Segq/Tx7y+WWanC5zfWZrXAuG6WTOYEXeWQdm//w==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-links@8.6.8': - resolution: {integrity: sha512-vj2+PPjEddSCpctPc6i5PIyAW8Ff470neoOIVX7qKc8XdhGB83yp9+qQmEBkZ1T2BI0Eu3Z+u4cqx7kjmrf2nw==} + '@storybook/addon-links@8.6.12': + resolution: {integrity: sha512-AfKujFHoAxhxq4yu+6NwylltS9lf5MPs1eLLXvOlwo3l7Y/c68OdxJ7j68vLQhs9H173WVYjKyjbjFxJWf/YYg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.8 + storybook: ^8.6.12 peerDependenciesMeta: react: optional: true - '@storybook/addon-mdx-gfm@8.6.8': - resolution: {integrity: sha512-6yheJU88VrJEbuq0ES1TAfzAV3GCovYOHyU+kFDaCsyCT2BVD1mXdrLu/HkFO6uxbmOePZqF2SJSJN0qe0gyPg==} + '@storybook/addon-mdx-gfm@8.6.12': + resolution: {integrity: sha512-OKI5+O8xyK8axGPFwkl38NGJ6Rjf7kyhiBPxw5NuHOjOnU/FL4Pw3QmY47TT96TVws27vP3gF5+FX8lj3Dd3rQ==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-measure@8.6.8': - resolution: {integrity: sha512-cRnxYhAuEOGPzfxaggOQr7cpOrqMfM73hozH1TvgnYTuCaiqGHyQLCv4DD1a5ikomKhhEsgmANVI2NfwNp9dCg==} + '@storybook/addon-measure@8.6.12': + resolution: {integrity: sha512-tACmwqqOvutaQSduw8SMb62wICaT1rWaHtMN3vtWXuxgDPSdJQxLP+wdVyRYMAgpxhLyIO7YRf++Hfha9RHgFg==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-outline@8.6.8': - resolution: {integrity: sha512-Zz+/ctGgp8qbml9yB4D/KrBYaHl51TJ733bfhdCWcs2vGySUDMP+FV0f5AFr6kL2mAO1ECkppBboP8cUvAPslw==} + '@storybook/addon-outline@8.6.12': + resolution: {integrity: sha512-1ylwm+n1s40S91No0v9T4tCjZORu3GbnjINlyjYTDLLhQHyBQd3nWR1Y1eewU4xH4cW9SnSLcMQFS/82xHqU6A==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-toolbars@8.6.8': - resolution: {integrity: sha512-E848JdbXO6CKNN/cHyovbB7OU+FxMaQy6s3xTF4yEx9zoFgaaC+Gm3AZnFdOdfZx6tuy2wvzzIrKBCEiAZktGA==} + '@storybook/addon-toolbars@8.6.12': + resolution: {integrity: sha512-HEcSzo1DyFtIu5/ikVOmh5h85C1IvK9iFKSzBR6ice33zBOaehVJK+Z5f487MOXxPsZ63uvWUytwPyViGInj+g==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/addon-viewport@8.6.8': - resolution: {integrity: sha512-SWhuPBYkZi5ReMvXfE+qu+trydkXz83XqDwjC8cCa/yi2SjQFxcJC66paHjPM+3SNIShVZhw3gnB9mbzZ4Yohg==} + '@storybook/addon-viewport@8.6.12': + resolution: {integrity: sha512-EXK2LArAnABsPP0leJKy78L/lbMWow+EIJfytEP5fHaW4EhMR6h7Hzaqzre6U0IMMr/jVFa1ci+m0PJ0eQc2bw==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/blocks@8.6.8': - resolution: {integrity: sha512-m52Xyb/bKlbkwJ8KwhHLI8lKVs9rjYciAbIq6L0OLvK6k9b+uRDLaNihvp2W45YkGea1M8259uhZu1toNgK49w==} + '@storybook/blocks@8.6.12': + resolution: {integrity: sha512-DohlTq6HM1jDbHYiXL4ZvZ00VkhpUp5uftzj/CZDLY1fYHRjqtaTwWm2/OpceivMA8zDitLcq5atEZN+f+siTg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^8.6.8 + storybook: ^8.6.12 peerDependenciesMeta: react: optional: true react-dom: optional: true - '@storybook/builder-vite@8.6.8': - resolution: {integrity: sha512-I/lmoCWvbkCSa//nnWn75Hbp+D/+JddhSk7y4W4Of0Tq7o6GqKsj7dzH2w1JN4v8ItEZSlz5dXFJksLZBz0mbg==} + '@storybook/builder-vite@8.6.12': + resolution: {integrity: sha512-Gju21ud/3Qw4v2vLNaa5SuJECsI9ICNRr2G0UyCCzRvCHg8jpA9lDReu2NqhLDyFIuDG+ZYT38gcaHEUoNQ8KQ==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 vite: ^4.0.0 || ^5.0.0 || ^6.0.0 - '@storybook/components@8.6.8': - resolution: {integrity: sha512-zfJcNEDrhJYFMKw6fPeeOVYqDh9cUl7Og3p+mVtMFA31ShPIlz8JFXEmMOODGalT4yLakZgFHWcp9MZn9TFUXg==} + '@storybook/components@8.6.12': + resolution: {integrity: sha512-FiaE8xvCdvKC2arYusgtlDNZ77b8ysr8njAYQZwwaIHjy27TbR2tEpLDCmUwSbANNmivtc/xGEiDDwcNppMWlQ==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/core@8.6.8': - resolution: {integrity: sha512-CZhLIAGNRJlmf9eQ70ATgNc/MNXKIS/nvN3jiGWkp5oN69OSiqzdLukxsuZdCPUtj7gtF0XTESQ7wkkZgkYXoQ==} + '@storybook/core@8.6.12': + resolution: {integrity: sha512-t+ZuDzAlsXKa6tLxNZT81gEAt4GNwsKP/Id2wluhmUWD/lwYW0uum1JiPUuanw8xD6TdakCW/7ULZc7aQUBLCQ==} peerDependencies: prettier: ^2 || ^3 peerDependenciesMeta: prettier: optional: true - '@storybook/csf-plugin@8.6.8': - resolution: {integrity: sha512-0HEZgtk1bbWRJSFI4LZFgVW+WFI9ZTvnmtgrWysqXd/+CFJCSaAKaO+0eR/8UAAtNmkI7fM1N5BhIwJuPYnVOQ==} + '@storybook/csf-plugin@8.6.12': + resolution: {integrity: sha512-6s8CnP1aoKPb3XtC0jRLUp8M5vTA8RhGAwQDKUsFpCC7g89JR9CaKs9FY2ZSzsNbjR15uASi7b3K8BzeYumYQg==} peerDependencies: - storybook: ^8.6.8 + storybook: ^8.6.12 '@storybook/csf@0.1.13': resolution: {integrity: sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==} @@ -1358,44 +1053,44 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - '@storybook/manager-api@8.6.8': - resolution: {integrity: sha512-MTyMYRXSP0iRE5xaFCNdD8ZBrhtJXTDNhQTWsjZQBmYgA94mf6FHSzsgGgOQp/sqTPzONZpBCrw7Y0aY8zxHKw==} + '@storybook/manager-api@8.6.12': + resolution: {integrity: sha512-O0SpISeJLNTQvhSBOsWzzkCgs8vCjOq1578rwqHlC6jWWm4QmtfdyXqnv7rR1Hk08kQ+Dzqh0uhwHx0nfwy4nQ==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/preview-api@8.6.8': - resolution: {integrity: sha512-c5Hc6Knmun+aBEesEjD+5LPuqFTQMCSLg+zS41JncH7B+agrUiihX3opma4OVZ4GibWIIq1YvIeXBLqj1MoIUw==} + '@storybook/preview-api@8.6.12': + resolution: {integrity: sha512-84FE3Hrs0AYKHqpDZOwx1S/ffOfxBdL65lhCoeI8GoWwCkzwa9zEP3kvXBo/BnEDO7nAfxvMhjASTZXbKRJh5Q==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/react-dom-shim@8.6.8': - resolution: {integrity: sha512-wp+3z5j8QJkFMVGqyE0FKcf61TL6LKLiIDxxQGxprSHKOE0RqNLGzQUTVZHWBbC3LfE018uFbGlLt02dVpUXKg==} + '@storybook/react-dom-shim@8.6.12': + resolution: {integrity: sha512-51QvoimkBzYs8s3rCYnY5h0cFqLz/Mh0vRcughwYaXckWzDBV8l67WBO5Xf5nBsukCbWyqBVPpEQLww8s7mrLA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.8 + storybook: ^8.6.12 - '@storybook/react-vite@8.6.8': - resolution: {integrity: sha512-JcL4GhD1xGEPRuKmZOs+CL9N/xcR+bEOfa8S/FHBTbue3FAq47vSbv7xU89IFI2wwO6aFiSLlLSqa3GcdOpiHw==} + '@storybook/react-vite@8.6.12': + resolution: {integrity: sha512-UA2Kule99oyFgHdhcuhrRwCKyWu/yMbqbl9U7NwowFHNwWWFjVMMir/AmfShb/H1C1DQ3LqOad6/QwJyPLjP8g==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.6.8 + '@storybook/test': 8.6.12 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.8 + storybook: ^8.6.12 vite: ^4.0.0 || ^5.0.0 || ^6.0.0 peerDependenciesMeta: '@storybook/test': optional: true - '@storybook/react@8.6.8': - resolution: {integrity: sha512-UVP+vuVrgC9CgUp2ZKQs3ch2JzImGAUbVUpmb+GMAOGD3DGAf9iP7qldIZc5rrNw/jNyTFTo4oX6XnXrWgOCVg==} + '@storybook/react@8.6.12': + resolution: {integrity: sha512-NzxlHLA5DkDgZM/dMwTYinuzRs6rsUPmlqP+NIv6YaciQ4NGnTYyOC7R/SqI6HHFm8ZZ5eMYvpfiFmhZ9rU+rQ==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.6.8 + '@storybook/test': 8.6.12 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.8 + storybook: ^8.6.12 typescript: '>= 4.2.x' peerDependenciesMeta: '@storybook/test': @@ -1403,8 +1098,8 @@ packages: typescript: optional: true - '@storybook/theming@8.6.8': - resolution: {integrity: sha512-Lgtmjudkd8s5wTxCbMvZNIY7iWOwnsWI04zejpubxbuNLFvOIvJnICVzrEzxuMYPIDg9cvPVYT3AkuE2NucUVg==} + '@storybook/theming@8.6.12': + resolution: {integrity: sha512-6VjZg8HJ2Op7+KV7ihJpYrDnFtd9D1jrQnUS8LckcpuBXrIEbaut5+34ObY8ssQnSqkk2GwIZBBBQYQBCVvkOw==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 @@ -1419,8 +1114,8 @@ packages: resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/react@16.2.0': - resolution: {integrity: sha512-2cSskAvA1QNtKc8Y9VJQRv0tm3hLVgxRGDB+KYhIaPQJ1I+RHbhIXcM+zClKXzMes/wshsMVzf4B9vS4IZpqDQ==} + '@testing-library/react@16.3.0': + resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==} engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 @@ -1550,14 +1245,14 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@22.13.11': - resolution: {integrity: sha512-iEUCUJoU0i3VnrCmgoWCXttklWcvoCIx4jzcP22fioIVSdTmjgoEvmAO/QPw6TcS9k5FrNgn4w7q5lGOd1CT5g==} + '@types/node@22.14.1': + resolution: {integrity: sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/react-dom@19.0.4': - resolution: {integrity: sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==} + '@types/react-dom@19.1.2': + resolution: {integrity: sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==} peerDependencies: '@types/react': ^19.0.0 @@ -1566,8 +1261,8 @@ packages: peerDependencies: '@types/react': '*' - '@types/react@19.0.12': - resolution: {integrity: sha512-V6Ar115dBDrjbtXSrS+/Oruobc+qVbbUxDFC1RSbRqLt5SYvxxyIDrSC85RWml54g+jfNeEMZhEj7wW07ONQhA==} + '@types/react@19.1.1': + resolution: {integrity: sha512-ePapxDL7qrgqSF67s0h9m412d9DbXyC1n59O2st+9rjuuamWsZuD2w55rqY12CbzsZ7uVXb5Nw0gEp9Z8MMutQ==} '@types/resolve@1.20.6': resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} @@ -1593,49 +1288,43 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.27.0': - resolution: {integrity: sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA==} + '@typescript-eslint/eslint-plugin@8.30.0': + resolution: {integrity: sha512-3LOb8q0E1kazkeON2awh5oWnsn+KO9pPvzSWZNCYeXOZw81yXeq0WfOB22kVCHESHFgQST6LFmkISvjaE9V5kw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.27.0': - resolution: {integrity: sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA==} + '@typescript-eslint/parser@8.30.0': + resolution: {integrity: sha512-5w64ZeRCgWOA/2ADPoFYmDYdPnEeEkUiFx5Sez7MQpQuxVazHO9wwl+wElokaY5hMKVVor1N13z/tZeWYfVaUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.24.0': - resolution: {integrity: sha512-HZIX0UByphEtdVBKaQBgTDdn9z16l4aTUz8e8zPQnyxwHBtf5vtl1L+OhH+m1FGV9DrRmoDuYKqzVrvWDcDozw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.27.0': resolution: {integrity: sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.27.0': - resolution: {integrity: sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA==} + '@typescript-eslint/scope-manager@8.30.0': + resolution: {integrity: sha512-TTkN0Sjk3SxpfW3lvSteOUxcTxnviQKsD1wgf+sk30Aj7UrHjVNFPTosir3+/3eaxpRMau4U/NY6PAw6cmj7hg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.30.0': + resolution: {integrity: sha512-8ryZsrZwEuTuC2IBPsb8H5iGQJDdXhHWNc1oNHOp60wGb04/XAG0QU9kUpu0/2hdBPR4/00/Hz4ep+GzpTgDkg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.24.0': - resolution: {integrity: sha512-VacJCBTyje7HGAw7xp11q439A+zeGG0p0/p2zsZwpnMzjPB5WteaWqt4g2iysgGFafrqvyLWqq6ZPZAOCoefCw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.27.0': resolution: {integrity: sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.24.0': - resolution: {integrity: sha512-ITjYcP0+8kbsvT9bysygfIfb+hBj6koDsu37JZG7xrCiy3fPJyNmfVtaGsgTUSEuTzcvME5YI5uyL5LD1EV5ZQ==} + '@typescript-eslint/types@8.30.0': + resolution: {integrity: sha512-UQXFVF+8t4YhbU3nxabQL3/uyUEVw9kiVc+V0kZzblElC5MTvzvjJVhmrvI0xya1C1lqhIykWY7CeKioK9RMRw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.8.0' '@typescript-eslint/typescript-estree@8.27.0': resolution: {integrity: sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==} @@ -1643,12 +1332,11 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.24.0': - resolution: {integrity: sha512-07rLuUBElvvEb1ICnafYWr4hk8/U7X9RDCOqd9JcAMtjh/9oRmcfN4yGzbPVirgMR0+HLVHehmu19CWeh7fsmQ==} + '@typescript-eslint/typescript-estree@8.30.0': + resolution: {integrity: sha512-/5n4GS/8koPkRx0XBl9OCFf9N80u+0h05QBU/z5cDBCUXnPpDmSzQ2FXC7JGvU777GOzE6mUAOx2ABtswgzWgQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/utils@8.27.0': resolution: {integrity: sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==} @@ -1657,14 +1345,21 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@8.24.0': - resolution: {integrity: sha512-kArLq83QxGLbuHrTMoOEWO+l2MwsNS2TGISEdx8xgqpkbytB07XmlQyQdNDrCc1ecSqx0cnmhGvpX+VBwqqSkg==} + '@typescript-eslint/utils@8.30.0': + resolution: {integrity: sha512-TmrXlhwFWpfUBhJE7NJSyru26XrU/foccGTOFvLGcci38/ZnKXgq2IUtAUqE9ILVNjM4Zm3TccGuvl2QANhjag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/visitor-keys@8.27.0': resolution: {integrity: sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.30.0': + resolution: {integrity: sha512-oj82UQEi0fcYmpQpVISEOUM/icPNJiRh+E6svAtwNP58QpAQnnFigEoeGADm8H7t2bolxSb7+kRYzykbBdA47w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@visulima/boxen@1.0.30': resolution: {integrity: sha512-izo776RvDFeipY7tJspA0wFrcq/Ih0Qhe/zu6v7O4OlURy2ViFmy+2ZSUYTHSSwKrmVeZWrUUJSpaepZPLPMMQ==} engines: {node: '>=18.0.0 <=23.x'} @@ -1676,11 +1371,11 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 - '@vitest/expect@3.0.9': - resolution: {integrity: sha512-5eCqRItYgIML7NNVgJj6TVCmdzE7ZVgJhruW0ziSQV4V7PvLkDL1bBkBdcTs/VuIz0IxPb5da1IDSqc1TR9eig==} + '@vitest/expect@3.1.1': + resolution: {integrity: sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==} - '@vitest/mocker@3.0.9': - resolution: {integrity: sha512-ryERPIBOnvevAkTq+L1lD+DTFBRcjueL9lOUfXsLfwP92h4e+Heb+PjiqS3/OURWPtywfafK0kj++yDFjWUmrA==} + '@vitest/mocker@3.1.1': + resolution: {integrity: sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -1690,224 +1385,233 @@ packages: vite: optional: true - '@vitest/pretty-format@3.0.9': - resolution: {integrity: sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==} + '@vitest/pretty-format@3.1.1': + resolution: {integrity: sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==} - '@vitest/runner@3.0.9': - resolution: {integrity: sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==} + '@vitest/runner@3.1.1': + resolution: {integrity: sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==} - '@vitest/snapshot@3.0.9': - resolution: {integrity: sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==} + '@vitest/snapshot@3.1.1': + resolution: {integrity: sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==} - '@vitest/spy@3.0.9': - resolution: {integrity: sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==} + '@vitest/spy@3.1.1': + resolution: {integrity: sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==} - '@vitest/utils@3.0.9': - resolution: {integrity: sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==} + '@vitest/utils@3.1.1': + resolution: {integrity: sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==} '@xobotyi/scrollbar-width@1.9.5': resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} - '@zag-js/accordion@0.82.2': - resolution: {integrity: sha512-w8+oFbSEbW0otT6LG1boO5Iy9UP5K+NalLhoD5XxP/FHS6Rp4R4zk3iolOxxtOh6JXHnghXzG7VZbDQN9R8OWw==} + '@zag-js/accordion@1.8.2': + resolution: {integrity: sha512-JszESCOvftl3dG6lEPjZp2p3+0VN0fwMnW+1jhWwMEe5MZ0y0IrcXww2dxet1ln+w5ViRdOTeDR07idbDKYAYg==} - '@zag-js/anatomy@0.82.2': - resolution: {integrity: sha512-WHGKs5O443T2RSQQvUzYhEV5SNJxO5ysAnHxHdFLWBrMdLjLwLDnvyY7w30kzxeXR9/Z+2yxkgDipxRsC+qC8w==} + '@zag-js/anatomy@1.8.2': + resolution: {integrity: sha512-F88Q+Bo1KOFZPHLffOqiuemkgZJbtspQuyOJcWb0bL7Lc1pYC4DIpIj26bcXT8xICDNcwR877hI0Wko//ZgTVA==} - '@zag-js/aria-hidden@0.82.2': - resolution: {integrity: sha512-V+PjbCABKM4yxFnq9M/t3W1hvwLMVe/0Sj9VyOiAAJDICfSDudGzO+5EfJBTJt59z2Gr4r55X+wtH1uBOtTF7w==} + '@zag-js/aria-hidden@1.8.2': + resolution: {integrity: sha512-/SV23qfCWMbGdsNZ2pgmVqOv6a4yd/2+FAIRy/6bjZ8axBzhm7NvfDhqjZciN4JuMch82uafeTBZ7pObk/fU1g==} - '@zag-js/auto-resize@0.82.2': - resolution: {integrity: sha512-93HhdycOkQMzn4g5MRWRgb5QKk03KwIiTkaU1jhx5eAatT/yYFDvrzNbAXQvr0WePcDNPnPrFS5lAY/85p0eew==} + '@zag-js/auto-resize@1.8.2': + resolution: {integrity: sha512-Z+94iR/vbPixiifjF+pmOa1UtuM5TTnJqM7D+Ol3WenRrm+Urp4JWAcyaf76NRVWK51KwMwWLljeA6J0H3V6gQ==} - '@zag-js/avatar@0.82.2': - resolution: {integrity: sha512-rGlZno6S9lm/wWLC12sLj7nyFjUXZ/76hOvpcg5d+e2bmysu+chKz1Z08ecLBVVLWkk4JRq9M3v9Jgji0EgaDQ==} + '@zag-js/avatar@1.8.2': + resolution: {integrity: sha512-PWhYVvXyOt+kdi2Vd6GfqGQQruh1TNylw6TzNbhPt3B6Fj6uNvQqfEsh6yNErfnCeaa4b/Q+48rM4b/t3DzM0g==} - '@zag-js/carousel@0.82.2': - resolution: {integrity: sha512-GMbGnoDFwWS8hDUk2unlg3Selmo6JvnTaI5DKEVmwIgp0MGT8zqUk4eAClsLNiS/JunEeK6tyER7K3b4dhYz8Q==} + '@zag-js/carousel@1.8.2': + resolution: {integrity: sha512-ViPcVQFQfw8ry3i4m2HYixTfN5Km979TWtMnDKdDM3csXLOQJvfCIHtZ/08wWn1302zaDMQe72+p9jDqzqntMg==} - '@zag-js/checkbox@0.82.2': - resolution: {integrity: sha512-9gE4P21YsrY+sFJaJOGG84jW64aAxl7M9S+wsmRruKmzNAwri30bOviMV11qZH2isJ44HxPuJ3iezXsLMN+Thg==} + '@zag-js/checkbox@1.8.2': + resolution: {integrity: sha512-KWVKo2Cofs9bjKf9QN9d9UJ6jQFuKfTPT4smDIqhXo4MIFa5eOd6yxvwbgvLvBlvvr9I6Amm9T4e9XxFbyrHdA==} - '@zag-js/clipboard@0.82.2': - resolution: {integrity: sha512-FU2SEHP0KthhtYJNtKU98Aw21ugHyX3CT3a75C9wJKGp5gSUDQ6FMIUT3K7GSFR8JGBQ7f/VI8AgE9gNiRpmdg==} + '@zag-js/clipboard@1.8.2': + resolution: {integrity: sha512-KwyFxLDPkEwjiI6zxRKG1gQk1q+lL1HN6nvGCMKRxoDtYVaY9VRxQ6mVNg2VUIecM8uuhRnkM1WHGrSTUcaFcQ==} - '@zag-js/collapsible@0.82.2': - resolution: {integrity: sha512-SWOy9ANjO8vbkYwX8AvEOntkPOAXiT9b4Cg3YT5QALPEB2UMUk0CzxJXw+ilbDoRMWWus2nqgx2g6D+IAabjLQ==} + '@zag-js/collapsible@1.8.2': + resolution: {integrity: sha512-rtvR4WaMnjv0cW6f+wYqIKkRGhckqlY7nVYBUjGqIzlKq0VNzRgugS8qWpoqdupQJ9wyjusb/GXLOudqpdl1lw==} - '@zag-js/collection@0.82.2': - resolution: {integrity: sha512-moWCnb2F8nfnzYpyLPnCNd10pFSIqrBJrnB4ME0C3QydYIxxwmZsnVLPzTPtnDKGT3uVfL4QX2+nsBoeu1LXrw==} + '@zag-js/collection@1.8.2': + resolution: {integrity: sha512-GQ6bMscyX3R5wXct6pIMFNd9vm/Ofux7bAwdavp1RrYu/iMKRg/tLbJIOYMQ9VXpjbiOB+6f2GVtHAM0eYLb6A==} - '@zag-js/color-picker@0.82.2': - resolution: {integrity: sha512-BRxnToGNyg1HzkWfQquQM8/xg7Jd8HpJeXWQMT9hIh/XqLiz9HRsGN90I6Avv9vYXYJChw1VdSExdfR2HjlqlA==} + '@zag-js/color-picker@1.8.2': + resolution: {integrity: sha512-WFuU5T99GPtqiD1MBZlurBjNMpHZQmbzaTgO6mdKQv3IKa2+I2jqXlnTnJbjTRmsF2DhAo45mEyGOvLwlTfTNA==} - '@zag-js/color-utils@0.82.2': - resolution: {integrity: sha512-tBVocNpmWWBPOla0NPj5yMKefg36X176BsvhItlls3/4TB4We8Cad5Wi9G4SGm0ClYaUGPtQUK/E7UEUhfUjxA==} + '@zag-js/color-utils@1.8.2': + resolution: {integrity: sha512-6oB+oxCSQoJu8sw1POQNzFLRN1wFDR5b+DSincqBR1QoKLr5K4iYmwJZ7UySvDF8uZATaShvB/qVVxniUpZ17w==} - '@zag-js/combobox@0.82.2': - resolution: {integrity: sha512-SVLcfJNqY17MqDL4i3QbxyjEDD/t0xUB37QjgsrKzvnq6IviM6FDh6UfsTX6/NHqy28HL0Aty6NIn2NNM7WyjQ==} + '@zag-js/combobox@1.8.2': + resolution: {integrity: sha512-jQo1cDtsUlBMPmBv/P7pUBHpxu19L+Pd5zXWOcdYXXMyFQg/KrW+PLS84G3yk2UCoH7ywKY25wFdMcOrqrTdUw==} - '@zag-js/core@0.82.2': - resolution: {integrity: sha512-yj4trnU4RzO4duiZJ7uvxECg+6MPVkEbTvTwf2TynotXBYX65LGMTqvMzZP062wvdu0jvTgZ/IbCpN1gc3hmsQ==} + '@zag-js/core@1.8.2': + resolution: {integrity: sha512-vZDvvXuoxKnVXqBS6H6ZGbfxRWaQ9DStVS/a+tLdP0pz05NJwyJIPSWOOHZo9XPDiN4j1mRaTVcSvNpuOSEDTw==} - '@zag-js/date-picker@0.82.2': - resolution: {integrity: sha512-6thJ3ou3u49k4mnnYMecbw0JHvHiaF2nPyToaq/Hsf5grqSijgyZtfkHoDSNFiNN4DKcv1GXErM0N0MiY0dc4A==} + '@zag-js/date-picker@1.8.2': + resolution: {integrity: sha512-SnZgQOxUajnuQUDIcq73Gxy+fifm3/F0H4tokE8LAbbkcf5kr/Pyin+2amhiXBkbDiUbeCttx34TlD4HXwmjyQ==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/date-utils@0.82.2': - resolution: {integrity: sha512-e2jZ6AFMzwJBNgoOdmATKRH5/Mgr6EqlZmmhI061JzB3uteVOv4x2k5je+g8kWS1IADC5D2OMFQHI/bXSJ5ZFQ==} + '@zag-js/date-utils@1.8.2': + resolution: {integrity: sha512-KFMcZMb7xC7XypH1VDQIiYv4dpxB+1JEG2QX7zbYos+QKd41A8tNtaDnfJX+iePVsJV156gqiOrtogNvz4rJ8A==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/dialog@0.82.2': - resolution: {integrity: sha512-p0E6m28HXQMFj+l0MHJcoh326+p/iMocDFOSL1JT3h/U7JLDeW3kNJvpVGK+6vCLngJ/jnAszgQQYhlaz5smJg==} + '@zag-js/dialog@1.8.2': + resolution: {integrity: sha512-1XJIb0/YNBV5LgcRQ7ZwS/GvJiIy1e/iaZvYea6RRAInxcNH6KFon9U1Hm1Lfdz9GryCMs32WDhlFcYQoeGlKw==} - '@zag-js/dismissable@0.82.2': - resolution: {integrity: sha512-oi2wLiWEll9vhgFgE4FIH9aWPwId8QExO6kcnfeZPSkytnTRetKlyhj5xsOCygElZK994JRkFP3lpGrGCET+kg==} + '@zag-js/dismissable@1.8.2': + resolution: {integrity: sha512-YGQB60pr/jbldJlt0LtToriJEMX8ds8uxienPModMgzEPo7yEDf30VMo4Ix8Sm38E6CJBOcm87vKHrrD8aEfnw==} - '@zag-js/dom-query@0.82.2': - resolution: {integrity: sha512-4gI1A7Rh9/vZhOuuWzUldP3+2PIiOyR91TBDA0an1VICzHRKBelntlkBR6cZMtjH9gGxhSVxeKN2b060kJ8VQw==} + '@zag-js/dom-query@1.8.1': + resolution: {integrity: sha512-+2DYAW9riWnAAf7etTkaVqpaTHjYSHYGExJtBmZ6KurmYsc7Uw46mAcIImakZhrg69AI0cpL4b2YJHMQz8GGZA==} - '@zag-js/editable@0.82.2': - resolution: {integrity: sha512-BHheMo+gRo72GCqc8rowtg8yGg7fg39AdiwIrXUQ4PU2oI+jKkxAKamLXFgu19Ne+1keLcGjNAtVWRZkqszjzw==} + '@zag-js/dom-query@1.8.2': + resolution: {integrity: sha512-bn6Pxga19PJzpDb+Oh326kn1sgVfO97mxRzRFqzrKz9NuANGlCblmv2NTYmhfppqE1nt9QyLLhyQ2BLbzwouLg==} - '@zag-js/element-rect@0.82.2': - resolution: {integrity: sha512-VdHlu9fLWhKxHFL5vCQXgzqEmxhSBgzTOU0SidR3hsGLcO6dgioz86bJ7i8uPFU+uZDHhyv9Q7lBQQoO76Cr7g==} + '@zag-js/editable@1.8.2': + resolution: {integrity: sha512-NFg5qp2IzE0nvDFf+UyFIIHGFBCyB5r74YIVBb0oJnVcIzrYa1+HA2ZrNMzTnjpZdx7B5lE/99VAsvk2Mb+GtA==} - '@zag-js/element-size@0.82.2': - resolution: {integrity: sha512-33sCUNJITNAqlNOP+KdMRh8R10s8MPwH+XrxucUBi2R55vWRVs9G3gcA/2uSf1mo/2us74Z4U+/KLnI5FkZycg==} + '@zag-js/file-upload@1.8.2': + resolution: {integrity: sha512-b+xt9W5CqFG0NCB4F6C29FcFPlV0q5LC7m7mj7iMhk+dRkWPVhxr9o5SFPtjXLZlncFNgHfMkBU7Ktx5JY8CSA==} - '@zag-js/file-upload@0.82.2': - resolution: {integrity: sha512-r1618x7BkYLh3qaKQOabD838lwM1ARP4aVbzBb5om1cNUjWgy9wCBU1PCNjsqyFzm/bTmHTXgiWdTz06NFpbTg==} + '@zag-js/file-utils@1.8.1': + resolution: {integrity: sha512-IdulHjOzPeZWNURY1rM/FbltdnXIOjUsOA7wWAped6oMMtDmWlrfpKtFs2emnXd04mZLnZN9yBO5WtHI7TTWeg==} - '@zag-js/file-utils@0.82.2': - resolution: {integrity: sha512-cjmG+HUBXS+hYsgOfdpNOe/xIYPAQ6CyFDGvuqr4wBnhOd9YyCtn7/M+O4VfodVA9rnVQ67RQsbI/eBBZTQ+/A==} + '@zag-js/file-utils@1.8.2': + resolution: {integrity: sha512-VBn2PeVtfj4c4snVcvp9oVFFiOVwJQ1OvS44CXv2xl9u4hRnDVSHalNmdj5jOqspNmTy9xNCKQWPK73ef26msQ==} - '@zag-js/focus-trap@0.82.2': - resolution: {integrity: sha512-TZNSAqqoml6avv6puO8afMJ0ttfYQC4BvIuA/Z8yjMVPvXHcUUeVyP5mgwp2tadMWY2TJ4Bv0/xxJJvvbwNNXQ==} + '@zag-js/focus-trap@1.8.2': + resolution: {integrity: sha512-GzKdicdiVjlOOsNzmmRAZVccs902PXnoyO+qkzXlIsr8+RPRgtPlZthIp6wtr4CJ2vLOMByvrEt7wCNSIoDzxA==} - '@zag-js/focus-visible@0.82.2': - resolution: {integrity: sha512-fwmNDVHulJ+L6sOFavDhAMYOIZYwo/ivhkPkko2pah6pYYQDwyp4bjsmpofW/VkCgdXgClpcElCC8aoQ83A6Jg==} + '@zag-js/focus-visible@1.8.2': + resolution: {integrity: sha512-YXkB4ClgEf/gTRGUrTDThvxfThpey41dDKcuQIPTA6F76ji4jLQiDYLnw4KDxLW8uLL21jZgctO5FFdIMoxJeg==} - '@zag-js/highlight-word@0.82.2': - resolution: {integrity: sha512-9sN//8j+TZFTrYIhuSSIJ0rMREVAV8xkJ8250zH///cYfVDuFLCbJp69E613ZfevipemlTQJWP1vTJ1HZGZ5vg==} + '@zag-js/highlight-word@1.8.2': + resolution: {integrity: sha512-yI65t4bFxTUkZbHuntRCdBPOEQdpO8G4nkoY8WznBetQ1LLhqOd+7KXelzq+Vot2RbXzop54xEBvgKeTQbGOgg==} - '@zag-js/hover-card@0.82.2': - resolution: {integrity: sha512-11xb3BzVxMvhSGEx9k/umq4/gt7wbjKB/TVEn2dYTdZ2NTyAa+PLXkZ60VBPnprEZ3Or3AzuWJw68uaSdqxh0A==} + '@zag-js/hover-card@1.8.2': + resolution: {integrity: sha512-GwYGsojbVpyhOCz+XUnEtxA9ZmUlnfPrnE71j/Gc2+oLtOFwvnhINtBTZPCUXO5ec95uG9QFwxc63x1upB/PIA==} - '@zag-js/i18n-utils@0.82.2': - resolution: {integrity: sha512-ANmNMA7f5Hrhd0ZXVASTV62HRIJut/ioQ6lm/L6PL1+QW+o60j5wJv4HSslQuWWsdyzEpq05u2Sy9ndbcSQ5RA==} + '@zag-js/i18n-utils@1.8.1': + resolution: {integrity: sha512-Epj/VOsJppsHlo2YwGV718CsZEneH9OVZtD8LB7j/zGXjQr/LALErCQQVOJXlBO6Ky2G/ZE/vK4LyO5GIjkTKw==} - '@zag-js/interact-outside@0.82.2': - resolution: {integrity: sha512-9AB7S6NpOr49oSh+nIl+X8wEiKj2YfXtW2Qk/GOTQ0eP9boXK45Y1pqjWvBpDF0rQYofnWPgoldw9B+rZa+lZQ==} + '@zag-js/i18n-utils@1.8.2': + resolution: {integrity: sha512-Zhiw2U14kkYRPru/5nWYei0l0eiQOkTu2VDCc/mn9jd7+zDEIYNp3b1CvMQ3/ES21i1HH6uBuKKujuktH/f6Iw==} - '@zag-js/live-region@0.82.2': - resolution: {integrity: sha512-q6j4qggfyUFgpAWBe48cRiaByrJVrOf3x6gHWhK7EsLu45D/0HPkvZjmDgwoRoIISoJVLeT9YquaNsh7rFKFrQ==} + '@zag-js/interact-outside@1.8.2': + resolution: {integrity: sha512-7N0v/vdsJO5a7AjwWofZ99AP5/hzFfCShSgEfg4GpRk7gPOdFanm7U3Zy9LtVvM9gwRncqGwjo4yd6O5G7SCnA==} - '@zag-js/menu@0.82.2': - resolution: {integrity: sha512-vPRLdv9ZcQYgzgtZimXY0LKj7Rs+3EPowc2GEWcMe5ergzhKRlmG/2eRn/mSgESnLmMNx6CaYAYQdNcndd+ksA==} + '@zag-js/live-region@1.8.2': + resolution: {integrity: sha512-QkowjTQj9C6ZFSCB+E7QNU5yjWMA58cAR5TcWgdLLKAP+SJwaTdtptpyFq71VH+jT85sNvvBZVya1aWZrbGopg==} - '@zag-js/number-input@0.82.2': - resolution: {integrity: sha512-gVJZny2MS3ptOpP5W+DGnY7igOCyO9I+Z+dDWlKiLNvHM8v6GlMtxtiPuV8kL1u7TqL8HEGQENA1NZYSr+rcKQ==} + '@zag-js/menu@1.8.2': + resolution: {integrity: sha512-kEz1FJ0kgkutN1XDpS27GAkk1T/v3fUctBHrj0Wvt7TvQfPyzudyjmj35UEP5e8AglJAoQt2Am93YPSQ2deJwg==} - '@zag-js/pagination@0.82.2': - resolution: {integrity: sha512-xPMhYQOb/QoVwQm8TTchameMsrKR6VhZmcCMzjR0KlBIf7WG4Z5H3Rfzw3HXoQaNTipY2k56YH5p4PEirGYvzA==} + '@zag-js/number-input@1.8.2': + resolution: {integrity: sha512-oyxXI/FDDj40BMkkLHDu84me3TgLIZizQhMj51R3ZM5Qg5BucYbamQKDgcGbb2CI6BUPo+6jklO0QZmy8/2cTQ==} - '@zag-js/pin-input@0.82.2': - resolution: {integrity: sha512-8omi7JeA2UXMOeuMdcE2qNk86AfnA19CpY7pQ0GVKuqsxF4zSniC+4SC7uAOUymNtkdv6xVheJF696bRIoChRw==} + '@zag-js/pagination@1.8.2': + resolution: {integrity: sha512-+Ummfw6r0Ll4oFVRvoVhPSvox8y2vvIocjGip0e6ze8zaUuHgUYzNkcK7OalZ3pZkh9y0+9MlnqtsQwxZhMJPw==} - '@zag-js/popover@0.82.2': - resolution: {integrity: sha512-OD0hBCasb8gJU97uWE3m8bAL8XqPrIDkQF4mJ0clAC9puusDdKgRS9W5kCQzgzei3JYdZbK81Bnx5X0gOGWKwQ==} + '@zag-js/pin-input@1.8.2': + resolution: {integrity: sha512-TME6Maud8Z78ZxFru7WvBGf5EQAuMoPQfdTMpd8os24srtO+HwiFN1wbeBsV/6BmbOeA9gFuB4K8O8rqNn3uqg==} - '@zag-js/popper@0.82.2': - resolution: {integrity: sha512-hrc9WtFge+m8zVgrxFxOPpBRvqf4YhWoJSnhPfjruBSJDrvrgBkozjCsazM3618b7bB+jpw4Pzj0H+lSsv4Ygw==} + '@zag-js/popover@1.8.2': + resolution: {integrity: sha512-c3uk6t5MG3xluf2LR1adOGnCsKchfRqzB7K9/fyBvWXBFyFiV5DWXdc2NpnzvB0Z5fQVJMrBiMnpvmzqbVovAA==} - '@zag-js/presence@0.82.2': - resolution: {integrity: sha512-N818BC/PBkdh/yQBECrBONoN9DcYT/PNIblgHic3mG8IIfI49jnAC103gDFbROVJoI/38bk4gwMMOWesZtX/IA==} + '@zag-js/popper@1.8.2': + resolution: {integrity: sha512-OfZS5KKQZsaENZG1SliM8/shtAKmKrprJuWpn3/kzcOAO/obNZfApld4oa1N5FoePLLTY96qVfdC5W9xygKRDQ==} - '@zag-js/progress@0.82.2': - resolution: {integrity: sha512-YxQXBHLUXF8BOG68sZCXkthKrZPebt02cSinafpjYXIOwauSBeMdmd8rAjsrAIFWhonaXcqxCs+jqlZRn18tEA==} + '@zag-js/presence@1.8.2': + resolution: {integrity: sha512-aT9PPQAY28HeAxiSeIhnOmlkI+tw0ippxtUWenxQ6B3yyU/ZOGVqc4f7eY418z65lF2yziYvUkZgOdWc6E4kZA==} - '@zag-js/qr-code@0.82.2': - resolution: {integrity: sha512-dotI3wXTGArwxKnqaLWrgNfXZGq2oe0Ur3KT8JPxHy9Kv6JWYGkge5AmtiGkwXFQR/ZxnRYE1vF1RNjFG50OKQ==} + '@zag-js/progress@1.8.2': + resolution: {integrity: sha512-QUzPe5Xj0zSexKJ1+JCmQnJ+pZ5EeRjMLWSn4cdeUJtzEuPosBLCzJtMzl+uZ/mTg2YVgPC7l6wV6nfMYrco/g==} - '@zag-js/radio-group@0.82.2': - resolution: {integrity: sha512-Peh3zLq8BEmoC9zHrd1n08gLlrlb5VXUpofOdEj9GqtEphLNCf/S3O5jeM6MlYZ9gHe+CkXIpXH16GDBoZVWjw==} + '@zag-js/qr-code@1.8.2': + resolution: {integrity: sha512-W47UwF5jBL3NraobAOC9aYFpMFiXhDzgZ6O3f4Zhd3eDx6BnUvebZ+GOfE71EmJ0fu43mF6o3ial8H4nxj2myQ==} - '@zag-js/rating-group@0.82.2': - resolution: {integrity: sha512-J2JX9leShV3HbiFqPoKCITaSshpjjt2U9mNakGU09YUlYEtjKwlNPFpYLSkKw2ItA/T9QbYJC58kbF+bAnTL5w==} + '@zag-js/radio-group@1.8.2': + resolution: {integrity: sha512-WY0QT4XkqgXD1N1VZG11gTnu7rGaPYizZIq/m1NS0ls6b/tTnwdlrPL2bgBzlJtyuuCeQJXh5pTypCiNoAZurg==} - '@zag-js/react@0.82.2': - resolution: {integrity: sha512-lDul3lRZae2ptkOQSfobl5ZQfX6rhcoN5ILLVbGzBJ9hRtNfMTVfKKxXdF2/pg53sMgggK4hZNR3W2P21uC+Wg==} + '@zag-js/rating-group@1.8.2': + resolution: {integrity: sha512-azCMgF7FAyvDJ+fcAYzFQHhZpeydPW6h7JvYIvLsz/K609D1HJT85gtCzG+drgBhE4tRyvFdYKDkTCvOpVnkGA==} + + '@zag-js/react@1.8.2': + resolution: {integrity: sha512-Fz9WR6wZQOAxCLSTSmUnGL+VH2/HVxvdlOKOHoUrJ0+9QOmlGrZf+mxpJuGgqUW3RyMzzpHfly8TKZkqHRYd3g==} peerDependencies: react: '>=18.0.0' react-dom: '>=18.0.0' - '@zag-js/rect-utils@0.82.2': - resolution: {integrity: sha512-cmjxI+90La4Kz4CeGAN7EJ6wFbPEjZArnvU7TeUA+FrgRQvotjFrzI4zZ20BTgnlgMH7ahVNFO2qsVp+kcc2LQ==} + '@zag-js/rect-utils@1.8.2': + resolution: {integrity: sha512-RWgPe+MOtOJaWjvlGD1Cf1snmD+hem1mfxXqM3XTCZCjuAlqAzHSCyuBUDia96nU0YGgAxYuloQLh8HFLJcVPA==} - '@zag-js/remove-scroll@0.82.2': - resolution: {integrity: sha512-v6ELaC9+sC+YoAkFjOBabjsXAoQgQA5secFDWWjzSVROWynH1mKNbBxakGCqEKtF67ZGbkAy+ysAZJoOkDsW4g==} + '@zag-js/remove-scroll@1.8.2': + resolution: {integrity: sha512-zJvLCKcb1yWEdWCP+cDhnYTY1MyoNzuiYOwWTh2YiktQYC0zpd2KDbd+jdhSWIpbIdV22UMuy4sDfFpx6i/mqA==} - '@zag-js/scroll-snap@0.82.2': - resolution: {integrity: sha512-Fl+utIAJr6nwNDnIML2jGIDRiFrDsQS77soGt8rT9Bj5swqdHpzwdTW3yu/VYlnPbvfrsB7SmMt1HzldukdOHQ==} + '@zag-js/scroll-snap@1.8.2': + resolution: {integrity: sha512-kyM4ZsRvq5WuJJZVr1TQ1xjuso0ANhySMtILH1kC9EFGIOwZegnIpZt5K1rf5NBFmBrcBjUl+lEKwySRNFauhw==} - '@zag-js/select@0.82.2': - resolution: {integrity: sha512-2aiXx/3PKc6vexloHj6GYndAbnPoe5W5mH2VSHM25Obu0XYkn28OLKTDIyHlqcycypVci2j5MnhCEkqQK/JKuw==} + '@zag-js/select@1.8.2': + resolution: {integrity: sha512-ZsBU7kGp8TX4gNavmiTWz9cB+6KgqHXxSwgARnaYUBsYhpdDG2SYfzgyfGAYcAv4ejNTFEfvNk89h+Kpz4CeOg==} - '@zag-js/signature-pad@0.82.2': - resolution: {integrity: sha512-o44M7B+cKmmiKmNFEIVTufr59jqvFShLri/EmkS1fY3KMSrnMHWNoa6xbJlVpz4DJMwI8PxapoN+lYxMTYUUEQ==} + '@zag-js/signature-pad@1.8.2': + resolution: {integrity: sha512-Jl3kRbxo3fkey9uqdVDyGROlECa3MpOXaMWDzO58vodrOjjLnZPO1VPF4xvjG5LUsEOGx54R97Tpc2hS3t93Pw==} - '@zag-js/slider@0.82.2': - resolution: {integrity: sha512-ef059F+zWcYVjX3lxTDgb2KEcYNrLMrvJEFyaVg11wRLtwjRqVrjFxn9W/ZpR6pWnJol2D+BV8b478NmTpRwog==} + '@zag-js/slider@1.8.2': + resolution: {integrity: sha512-+tncZezgA4FVHV6M7a6lV3cPJUa5OsP7ouXkYGw7Z3cvOoFLaL+bxaCe/UHouRTKqoZj4ImR83x85xcIj50e1g==} - '@zag-js/splitter@0.82.2': - resolution: {integrity: sha512-36KJkdjtogjG0MTXbcf5b8Ienl02KFoKPPx96uOwlWdvbuypwww6z9kAsWQ+CGkpaKXqxZIweO7BCO4seVCwuQ==} + '@zag-js/splitter@1.8.2': + resolution: {integrity: sha512-jcr382kBA/pRrQu04PVqB2U4Tn32wBCbJMX4UC/tmuVTP5RwQrA4WaDs21CelfntI0qEbzCMxFfYvbU7+ma7iw==} - '@zag-js/steps@0.82.2': - resolution: {integrity: sha512-otREJYUKLY+Dku89fCJ5TzkMHxe1Nk4Y5jffyWWOHkf+xy50Ist6jWjGxdIcU2cUwomAJZvPIuz0bq6WjBZ+zg==} + '@zag-js/steps@1.8.2': + resolution: {integrity: sha512-iCwaiT6q0GyhZCnHH9bwmQfYGqVmN5ObF+efV2eYDVsuICKe/PlEHL7H3gRClJR6x6FehXmYYI/gCI/PLzsuHg==} - '@zag-js/store@0.82.2': - resolution: {integrity: sha512-tjG99kSFfnUHWMTe3y+CAqCrH/RGCB2V5y0BoasITYAqTpqbCfPJH0R2+UYsY3kLqPnE+JDkkh1TnwcqKLc0/w==} + '@zag-js/store@1.8.2': + resolution: {integrity: sha512-Q/sg8L5B3lbX1MWFJNhE5bcPzJrwhRcgDGtvKf8KDKcbcirhF5HiXUbbE4jvav52QVQYKru+WnOJ8WVj5Bi3tA==} - '@zag-js/switch@0.82.2': - resolution: {integrity: sha512-sUZTcHN1+UxtU7cv+kRaz31OVrNdBqR3BC4bqWkjz/ihshAdzHquwKDkOtYiKjIGV9h8CwcuuCksrbwqCJ3apw==} + '@zag-js/switch@1.8.2': + resolution: {integrity: sha512-WYgtfzponocm4rrJcG4CNy1xsOwOXZ1yE9NBNKvew2Cj5yZLpTQLcjJBlWR5VjZ3Tgx+3D/F2nmBYzVFtU8zyw==} - '@zag-js/tabs@0.82.2': - resolution: {integrity: sha512-8y4eYpu4oZlANehMavGqu4bG5fepgjGuPDZNeNHzwWnbCh1TjoKJ20HvluRRzOgKoErQqD9+WT3V4Khw8Sd62Q==} + '@zag-js/tabs@1.8.2': + resolution: {integrity: sha512-aM7gx9aj1DcyTV6T5H7okMHWBhi/0jdjhUhFRWWSdYxiYvpveBhVK+Tvg9Nq9GBqXZEgg8E1hxuLgPQUZv7QBQ==} - '@zag-js/tags-input@0.82.2': - resolution: {integrity: sha512-L9bXHImBs+F0nlWbM6TeUZFN3ur/vwGGbT0sFw9FtsL/+5XmTQfZ5wert3l/qeUE1RJrohFBxsVvq4hz6UYUCw==} + '@zag-js/tags-input@1.8.2': + resolution: {integrity: sha512-9DF2pXz6a6lX5IiCwg8ug0TSLZ3FILIHUaX9WNBSx7afDlCMH36UgKhyfs2Xhl9gliVC/6a0Tr2sX5VDEYCe7g==} - '@zag-js/time-picker@0.82.2': - resolution: {integrity: sha512-NIJUrZMrLH6ciphwsmVsqMGyNEw6qtYlI3F6tlPLhVvnXJDcvc0PaGMe5OBM3yKFluQaVWUIVAR84urdhCBbpg==} + '@zag-js/time-picker@1.8.2': + resolution: {integrity: sha512-RdAPrRBeuiCL7m4PdEZOR6YzfQfOeNElgjEAVLZgUTu4WEhLt/XVdjaOuUQtiuLW4ukT72wNVWi0S+NBCHerIw==} peerDependencies: '@internationalized/date': '>=3.0.0' - '@zag-js/timer@0.82.2': - resolution: {integrity: sha512-lpCgHcSL4FNRb+UwlLu/J70iEr0vb2Dybwu39NkzxRi8LuBJGxrXGlTG8Apn2nldf7HHsSLT6cF7Nr0NohQa+Q==} + '@zag-js/timer@1.8.2': + resolution: {integrity: sha512-EUqVacZyrKuvzDFHRZLYjDzNwMyr/5cQCu4m1Da4nv7hvqivDvofU2HUUf7mi7isuYuRaRAZ6sFQqknmvfbKQQ==} - '@zag-js/toast@0.82.2': - resolution: {integrity: sha512-jAPzB4hxq90DmsvcuHepqzl/YMTnQQivkA7WG03hq/C5bAoPhpIvLauCTKiVW9SjgGfaTM6wuOQmMQEYiIe/rQ==} + '@zag-js/toast@1.8.2': + resolution: {integrity: sha512-ew+lfy8y5j4HWj5Ir9RoSfQKlbZnmGnn1r8GHMBhQXegWVGWAb04n4sp7t/e656iBif9HpLm3+/SUwOdCPIiJg==} - '@zag-js/toggle-group@0.82.2': - resolution: {integrity: sha512-aJKP96iwDw/2Z98VWT40ii6CHTSrrvfsGJ03+dE8Mio6a43wiFKhatGLFIMTcu1EExiBmTAec4uUm4A1Xzbu1w==} + '@zag-js/toggle-group@1.8.2': + resolution: {integrity: sha512-kBvFQtUJ70PpqJ6aA9uLCXLvSTiUMhzX3GkJbmTxffu2BdVKUF5OEKW3x9VpYdPeekBnayCXoGdW7WEOkgpYGw==} - '@zag-js/tooltip@0.82.2': - resolution: {integrity: sha512-s7kXaBR3Ehu7kPzr9xX7FoWlqQ76eEViqGS1RPDtdDVgD1Hg7bfjZ1nCWDKgIuZF7gP/Iq4iC1i5iTOBIdeIOQ==} + '@zag-js/toggle@1.8.2': + resolution: {integrity: sha512-2EebV04Hv25ex1jQVa1Cjb4A85qcC6kvABn4qR6wZooxf5Ua72C9sdiEjrAvMhDGAWaa37JuxlyYs+sZG1l0Lw==} - '@zag-js/tour@0.82.2': - resolution: {integrity: sha512-oQyVXSJIw7PeXRnHypI+zKp0mHm8oNiVzgcYBIASk/E9JU0U+DGXh8vRdvzsrQlZD+AKT2rjv1v8xvbVUEngSw==} + '@zag-js/tooltip@1.8.2': + resolution: {integrity: sha512-FqDq4H3PFnEJt96JCr4dap3Pkcq2D0Gb/G5G5gG3QAs7kOIHL2Jpq1CGCxE3EpmQOFee1HwyokC6R4Q4kot1Nw==} - '@zag-js/tree-view@0.82.2': - resolution: {integrity: sha512-7+05aXig4mlISMZ+eKJpi3p+9r9u+h0S5Mvsw2o5Dz7XX/BfPTK8GEEDFWwuJKm03wNBuKCQ8+X1pxUisZqXVQ==} + '@zag-js/tour@1.8.2': + resolution: {integrity: sha512-67Qw+dYY8ayf1x0ggvU0U0MoS0I/nhVe9JRpabPjYc09123DgGsDA4sdbj6VfCeFW6j3kffn5VEmTm8C3yV8gA==} - '@zag-js/types@0.82.2': - resolution: {integrity: sha512-OUN4QropdK3XZcjtm4n5JVMhbgp78F3pavLDvWCcwW0QwtckJljX6E17N9ViajVti8itKKXCuNRHCMhqLT8jwQ==} + '@zag-js/tree-view@1.8.2': + resolution: {integrity: sha512-l/JmKjkz/BM59HVscazl8BMJj+suXl+FNRQVZqhyijzlb2PrB5xtgiQNV9XLNM2qHBCub9820Y1YMLyEP5YiwQ==} - '@zag-js/utils@0.82.2': - resolution: {integrity: sha512-tN87VEEoo240O2CzQdHvtBVPF8hHqLdpNzDT+obNIQrRj4wbNQ5Ze3Zwrd6/SoBe7ImKgkwbAlgu4k5+v9sDcA==} + '@zag-js/types@1.8.1': + resolution: {integrity: sha512-gJU3UlRccL2N4ukG4xEtetAr/fiuFBxpG5IKZ/Pr0zz8Z17LpdhK7ozyn9SU7y9W6YOcngByAgNgz+nRzmu5aQ==} + + '@zag-js/types@1.8.2': + resolution: {integrity: sha512-J+94HhFAPOBchNdGcmvqjB8nbQFgKHcqGoPl5vNTKlcoibN0yFjn4XFZoQU6uCf8sPhNg6NUNTkluR5YjybyJA==} + + '@zag-js/utils@1.8.2': + resolution: {integrity: sha512-7HnRAQ7+pR00c4BQChulTdf6G1gJ0NqV4mMKd9UXk4/E7GLYinUdBNAZ3jZCdHDrio3+2zIlNvpzkO3G4pVjlw==} abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} @@ -1938,10 +1642,6 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -2159,8 +1859,8 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - bundle-n-require@1.1.1: - resolution: {integrity: sha512-EB2wFjXF106LQLe/CYnKCMCdLeTW47AtcEtUfiqAOgr2a08k0+YgRklur2aLfEYHlhz6baMskZ8L2U92Hh0vyA==} + bundle-n-require@1.1.2: + resolution: {integrity: sha512-bEk2jakVK1ytnZ9R2AAiZEeK/GxPUM8jvcRxHZXifZDMcjkI4EG/GlsJ2YGSVYT9y/p/gA9/0yDY8rCGsSU6Tg==} cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} @@ -2170,6 +1870,10 @@ packages: resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} engines: {node: '>= 0.4'} + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + call-bind@1.0.8: resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} engines: {node: '>= 0.4'} @@ -2178,6 +1882,10 @@ packages: resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} engines: {node: '>= 0.4'} + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2227,8 +1935,8 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chromium-bidi@2.1.2: - resolution: {integrity: sha512-vtRWBK2uImo5/W2oG6/cDkkHSm+2t6VHgnj+Rcwhb0pP74OoUb4GipyRX/T/y39gYQPhioP0DPShn+A7P6CHNw==} + chromium-bidi@3.0.0: + resolution: {integrity: sha512-ZOGRDAhBMX1uxL2Cm2TDuhImbrsEz5A/tTcVU6RpXEWaTNUNwsHW6njUXizh51Ir6iqHbKAfhA2XK33uBcLo5A==} peerDependencies: devtools-protocol: '*' @@ -2242,10 +1950,6 @@ packages: classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -2476,8 +2180,8 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - devtools-protocol@0.0.1413902: - resolution: {integrity: sha512-yRtvFD8Oyk7C9Os3GmnFZLu53yAfsnyw1s+mLmHHUK0GQEc9zthHWvS1r67Zqzm5t7v56PILHIVZ7kmFMaL2yQ==} + devtools-protocol@0.0.1425554: + resolution: {integrity: sha512-uRfxR6Nlzdzt0ihVIkV+sLztKgs7rgquY/Mhcv1YNCWDh5IZgl5mnn2aeEnW5stYTE0wwiF4RYVz8eMEpV1SEw==} diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} @@ -2599,16 +2303,6 @@ packages: peerDependencies: esbuild: '>=0.12 <1' - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.24.2: - resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.25.1: resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==} engines: {node: '>=18'} @@ -2675,14 +2369,14 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react@7.37.4: - resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==} + eslint-plugin-react@7.37.5: + resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-storybook@0.11.6: - resolution: {integrity: sha512-3WodYD6Bs9ACqnB+TP2TuLh774c/nacAjxSKOP9bHJ2c8rf+nrhocxjjeAWNmO9IPkFIzTKlcl0vNXI2yYpVOw==} + eslint-plugin-storybook@0.12.0: + resolution: {integrity: sha512-Lg5I0+npTgiYgZ4KSvGWGDFZi3eOCNJPaWX0c9rTEEXC5wvooOClsP9ZtbI4hhFKyKgYR877KiJxbRTSJq9gWA==} engines: {node: '>= 18'} peerDependencies: eslint: '>=8' @@ -2699,8 +2393,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.23.0: - resolution: {integrity: sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==} + eslint@9.24.0: + resolution: {integrity: sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2755,8 +2449,8 @@ packages: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} - expect-type@1.1.0: - resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + expect-type@1.2.1: + resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} engines: {node: '>=12.0.0'} expect@29.7.0: @@ -2890,6 +2584,10 @@ packages: resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} engines: {node: '>= 0.4'} + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -3466,8 +3164,8 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - knip@5.46.0: - resolution: {integrity: sha512-WedHSK5xNBWYgm64Rt5B9b0CVXL2kRBcyCeet3NHgdv9en3QE4AWSDPEiX48NoPUBW3h//9S0VwLF5MG/MPi3g==} + knip@5.50.3: + resolution: {integrity: sha512-0A4G7UPucGTCpNh5vHSfL0+tVQIuKfJKdg8sAq6EC3COKbAchEbM+TeN4w32OrnJW9CesHs71lqftlggMVfW2A==} engines: {node: '>=18.18.0'} hasBin: true peerDependencies: @@ -3489,8 +3187,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lint-staged@15.5.0: - resolution: {integrity: sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg==} + lint-staged@15.5.1: + resolution: {integrity: sha512-6m7u8mue4Xn6wK6gZvSCQwBvMBR36xfY24nF5bMTf2MHDYG6S3yhJuOgdYVw99hsjyDt2d4z168b3naI8+NWtQ==} engines: {node: '>=18.12.0'} hasBin: true @@ -3813,8 +3511,8 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - npm-check-updates@17.1.16: - resolution: {integrity: sha512-9nohkfjLRzLfsLVGbO34eXBejvrOOTuw5tvNammH73KEFG5XlFoi3G2TgjTExHtnrKWCbZ+mTT+dbNeSjASIPw==} + npm-check-updates@17.1.18: + resolution: {integrity: sha512-bkUy2g4v1i+3FeUf5fXMLbxmV95eG4/sS7lYE32GrUeVgQRfQEk39gpskksFunyaxQgTIdrvYbnuNbO/pSUSqw==} engines: {node: ^18.18.0 || >=20.0.0, npm: '>=8.12.1'} hasBin: true @@ -3845,8 +3543,8 @@ packages: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} - object.entries@1.1.8: - resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + object.entries@1.1.9: + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} engines: {node: '>= 0.4'} object.fromentries@2.0.8: @@ -3904,10 +3602,6 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -4095,12 +3789,12 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - puppeteer-core@24.4.0: - resolution: {integrity: sha512-eFw66gCnWo0X8Hyf9KxxJtms7a61NJVMiSaWfItsFPzFBsjsWdmcNlBdsA1WVwln6neoHhsG+uTVesKmTREn/g==} + puppeteer-core@24.6.1: + resolution: {integrity: sha512-sMCxsY+OPWO2fecBrhIeCeJbWWXJ6UaN997sTid6whY0YT9XM0RnxEwLeUibluIS5/fRmuxe1efjb5RMBsky7g==} engines: {node: '>=18'} - puppeteer@24.4.0: - resolution: {integrity: sha512-E4JhJzjS8AAI+6N/b+Utwarhz6zWl3+MR725fal+s3UlOlX2eWdsvYYU+Q5bXMjs9eZEGkNQroLkn7j11s2k1Q==} + puppeteer@24.6.1: + resolution: {integrity: sha512-/4ocGfu8LNvDbWUqJZV2VmwEWpbOdJa69y2Jivd213tV0ekAtUh/bgT1hhW63SDN/CtrEucOPwoomZ+9M+eBEg==} engines: {node: '>=18'} hasBin: true @@ -4122,10 +3816,10 @@ packages: resolution: {integrity: sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==} engines: {node: '>=16.14.0'} - react-dom@19.0.0: - resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + react-dom@19.1.0: + resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} peerDependencies: - react: ^19.0.0 + react: ^19.1.0 react-error-boundary@5.0.0: resolution: {integrity: sha512-tnjAxG+IkpLephNcePNA7v6F/QpWLH8He65+DmedchDwg162JZqx4NmbXj0mlAYVVEd81OW7aFhmbsScYfiAFQ==} @@ -4146,22 +3840,22 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-is@19.0.0: - resolution: {integrity: sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==} + react-is@19.1.0: + resolution: {integrity: sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==} react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react-router-dom@7.4.0: - resolution: {integrity: sha512-VlksBPf3n2bijPvnA7nkTsXxMAKOj+bWp4R9c3i+bnwlSOFAGOkJkKhzy/OsRkWaBMICqcAl1JDzh9ZSOze9CA==} + react-router-dom@7.5.0: + resolution: {integrity: sha512-fFhGFCULy4vIseTtH5PNcY/VvDJK5gvOWcwJVHQp8JQcWVr85ENhJ3UpuF/zP1tQOIFYNRJHzXtyhU1Bdgw0RA==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' react-dom: '>=18' - react-router@7.4.0: - resolution: {integrity: sha512-Y2g5ObjkvX3VFeVt+0CIPuYd9PpgqCslG7ASSIdN73LwA1nNWzcMLaoMRJfP3prZFI92svxFwbn7XkLJ+UPQ6A==} + react-router@7.5.0: + resolution: {integrity: sha512-estOHrRlDMKdlQa6Mj32gIks4J+AxNsYoE0DbTTxiMy2mPzZuWSDU+N85/r1IlNR7kGfznF3VCUlvc5IUO+B9g==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' @@ -4199,8 +3893,8 @@ packages: react: '*' react-dom: '*' - react@19.0.0: - resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + react@19.1.0: + resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} readdirp@3.6.0: @@ -4311,8 +4005,8 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.25.0: - resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + scheduler@0.26.0: + resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} screenfull@5.2.0: resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} @@ -4465,11 +4159,11 @@ packages: stacktrace-js@2.0.2: resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} - std-env@3.8.0: - resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - storybook@8.6.8: - resolution: {integrity: sha512-0Ze7QC0Hqx+ulms/FiQ7PNyaBgmaoxqxLOi8PQc5sOepO1+Ea8nssQGmOHS2QIX1ybb/GW56Fa5eyj+PJgsYDQ==} + storybook@8.6.12: + resolution: {integrity: sha512-Z/nWYEHBTLK1ZBtAWdhxC0l5zf7ioJ7G4+zYqtTdYeb67gTnxNj80gehf8o8QY9L2zA2+eyMRGLC2V5fI7Z3Tw==} hasBin: true peerDependencies: prettier: ^2 || ^3 @@ -4570,9 +4264,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - summary@2.1.0: - resolution: {integrity: sha512-nMIjMrd5Z2nuB2RZCKJfFMjgS3fygbeyGk9PxPPaJR1RIcyN9yn4A63Isovzm3ZtQuEkLBVgMdPup8UeLH7aQw==} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -4741,8 +4432,8 @@ packages: typed-query-selector@2.12.0: resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} - typescript@5.8.2: - resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} hasBin: true @@ -4750,8 +4441,8 @@ packages: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} unicorn-magic@0.1.0: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} @@ -4830,13 +4521,13 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@3.0.9: - resolution: {integrity: sha512-w3Gdx7jDcuT9cNn9jExXgOyKmf5UOTb6WMHz8LGAm54eS1Elf5OuBhCxl6zJxGhEeIkgsE1WbHuoL0mj/UXqXg==} + vite-node@3.1.1: + resolution: {integrity: sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@6.2.2: - resolution: {integrity: sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==} + vite@6.2.6: + resolution: {integrity: sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -4875,16 +4566,16 @@ packages: yaml: optional: true - vitest@3.0.9: - resolution: {integrity: sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==} + vitest@3.1.1: + resolution: {integrity: sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.9 - '@vitest/ui': 3.0.9 + '@vitest/browser': 3.1.1 + '@vitest/ui': 3.1.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -5090,62 +4781,64 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@ark-ui/react@4.9.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@ark-ui/react@5.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@internationalized/date': 3.7.0 - '@zag-js/accordion': 0.82.2 - '@zag-js/anatomy': 0.82.2 - '@zag-js/auto-resize': 0.82.2 - '@zag-js/avatar': 0.82.2 - '@zag-js/carousel': 0.82.2 - '@zag-js/checkbox': 0.82.2 - '@zag-js/clipboard': 0.82.2 - '@zag-js/collapsible': 0.82.2 - '@zag-js/collection': 0.82.2 - '@zag-js/color-picker': 0.82.2 - '@zag-js/color-utils': 0.82.2 - '@zag-js/combobox': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/date-picker': 0.82.2(@internationalized/date@3.7.0) - '@zag-js/date-utils': 0.82.2(@internationalized/date@3.7.0) - '@zag-js/dialog': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/editable': 0.82.2 - '@zag-js/file-upload': 0.82.2 - '@zag-js/file-utils': 0.82.2 - '@zag-js/focus-trap': 0.82.2 - '@zag-js/highlight-word': 0.82.2 - '@zag-js/hover-card': 0.82.2 - '@zag-js/i18n-utils': 0.82.2 - '@zag-js/menu': 0.82.2 - '@zag-js/number-input': 0.82.2 - '@zag-js/pagination': 0.82.2 - '@zag-js/pin-input': 0.82.2 - '@zag-js/popover': 0.82.2 - '@zag-js/presence': 0.82.2 - '@zag-js/progress': 0.82.2 - '@zag-js/qr-code': 0.82.2 - '@zag-js/radio-group': 0.82.2 - '@zag-js/rating-group': 0.82.2 - '@zag-js/react': 0.82.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@zag-js/select': 0.82.2 - '@zag-js/signature-pad': 0.82.2 - '@zag-js/slider': 0.82.2 - '@zag-js/splitter': 0.82.2 - '@zag-js/steps': 0.82.2 - '@zag-js/switch': 0.82.2 - '@zag-js/tabs': 0.82.2 - '@zag-js/tags-input': 0.82.2 - '@zag-js/time-picker': 0.82.2(@internationalized/date@3.7.0) - '@zag-js/timer': 0.82.2 - '@zag-js/toast': 0.82.2 - '@zag-js/toggle-group': 0.82.2 - '@zag-js/tooltip': 0.82.2 - '@zag-js/tour': 0.82.2 - '@zag-js/tree-view': 0.82.2 - '@zag-js/types': 0.82.2 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@zag-js/accordion': 1.8.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/auto-resize': 1.8.2 + '@zag-js/avatar': 1.8.2 + '@zag-js/carousel': 1.8.2 + '@zag-js/checkbox': 1.8.2 + '@zag-js/clipboard': 1.8.2 + '@zag-js/collapsible': 1.8.2 + '@zag-js/collection': 1.8.2 + '@zag-js/color-picker': 1.8.2 + '@zag-js/color-utils': 1.8.2 + '@zag-js/combobox': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/date-picker': 1.8.2(@internationalized/date@3.7.0) + '@zag-js/date-utils': 1.8.2(@internationalized/date@3.7.0) + '@zag-js/dialog': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/editable': 1.8.2 + '@zag-js/file-upload': 1.8.2 + '@zag-js/file-utils': 1.8.1 + '@zag-js/focus-trap': 1.8.2 + '@zag-js/highlight-word': 1.8.2 + '@zag-js/hover-card': 1.8.2 + '@zag-js/i18n-utils': 1.8.2 + '@zag-js/menu': 1.8.2 + '@zag-js/number-input': 1.8.2 + '@zag-js/pagination': 1.8.2 + '@zag-js/pin-input': 1.8.2 + '@zag-js/popover': 1.8.2 + '@zag-js/presence': 1.8.2 + '@zag-js/progress': 1.8.2 + '@zag-js/qr-code': 1.8.2 + '@zag-js/radio-group': 1.8.2 + '@zag-js/rating-group': 1.8.2 + '@zag-js/react': 1.8.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@zag-js/select': 1.8.2 + '@zag-js/signature-pad': 1.8.2 + '@zag-js/slider': 1.8.2 + '@zag-js/splitter': 1.8.2 + '@zag-js/steps': 1.8.2 + '@zag-js/switch': 1.8.2 + '@zag-js/tabs': 1.8.2 + '@zag-js/tags-input': 1.8.2 + '@zag-js/time-picker': 1.8.2(@internationalized/date@3.7.0) + '@zag-js/timer': 1.8.2 + '@zag-js/toast': 1.8.2 + '@zag-js/toggle': 1.8.2 + '@zag-js/toggle-group': 1.8.2 + '@zag-js/tooltip': 1.8.2 + '@zag-js/tour': 1.8.2 + '@zag-js/tree-view': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) '@babel/code-frame@7.26.2': dependencies: @@ -5349,15 +5042,15 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@chakra-ui/cli@3.13.0(@chakra-ui/react@3.13.0(@emotion/react@11.14.0(@types/react@19.0.12)(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))': + '@chakra-ui/cli@3.16.0(@chakra-ui/react@3.16.0(@emotion/react@11.14.0(@types/react@19.1.1)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': dependencies: - '@chakra-ui/react': 3.13.0(@emotion/react@11.14.0(@types/react@19.0.12)(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@clack/prompts': 0.10.0 + '@chakra-ui/react': 3.16.0(@emotion/react@11.14.0(@types/react@19.1.1)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@clack/prompts': 0.10.1 '@pandacss/is-valid-prop': 0.41.0 '@types/cli-table': 0.3.4 '@types/debug': 4.1.12 '@visulima/boxen': 1.0.30 - bundle-n-require: 1.1.1 + bundle-n-require: 1.1.2 chokidar: 3.6.0 cli-table: 0.3.11 commander: 12.1.0 @@ -5374,41 +5067,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@chakra-ui/react@3.13.0(@emotion/react@11.14.0(@types/react@19.0.12)(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@chakra-ui/react@3.16.0(@emotion/react@11.14.0(@types/react@19.1.1)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@ark-ui/react': 4.9.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@ark-ui/react': 5.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@19.0.12)(react@19.0.0) + '@emotion/react': 11.14.0(@types/react@19.1.1)(react@19.1.0) '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.0.0) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) '@emotion/utils': 1.4.2 '@pandacss/is-valid-prop': 0.41.0 csstype: 3.1.3 fast-safe-stringify: 2.1.1 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - '@chakra-ui/styled-system@2.12.0(react@19.0.0)': + '@chakra-ui/styled-system@2.12.0(react@19.1.0)': dependencies: - '@chakra-ui/utils': 2.2.2(react@19.0.0) + '@chakra-ui/utils': 2.2.2(react@19.1.0) csstype: 3.1.3 transitivePeerDependencies: - react - '@chakra-ui/utils@2.2.2(react@19.0.0)': + '@chakra-ui/utils@2.2.2(react@19.1.0)': dependencies: '@types/lodash.mergewith': 4.6.9 lodash.mergewith: 4.6.2 - react: 19.0.0 + react: 19.1.0 - '@clack/core@0.4.1': + '@clack/core@0.4.2': dependencies: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@0.10.0': + '@clack/prompts@0.10.1': dependencies: - '@clack/core': 0.4.1 + '@clack/core': 0.4.2 picocolors: 1.1.1 sisteransi: 1.0.5 @@ -5448,19 +5141,19 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@19.0.12)(react@19.0.0)': + '@emotion/react@11.14.0(@types/react@19.1.1)(react@19.1.0)': dependencies: '@babel/runtime': 7.26.7 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.0.0) + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.4.0 hoist-non-react-statics: 3.3.2 - react: 19.0.0 + react: 19.1.0 optionalDependencies: - '@types/react': 19.0.12 + '@types/react': 19.1.1 transitivePeerDependencies: - supports-color @@ -5476,241 +5169,97 @@ snapshots: '@emotion/unitless@0.10.0': {} - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.0.0)': + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.0)': dependencies: - react: 19.0.0 + react: 19.1.0 '@emotion/utils@1.4.2': {} '@emotion/weak-memoize@0.4.0': {} - '@esbuild/aix-ppc64@0.20.2': - optional: true - - '@esbuild/aix-ppc64@0.24.2': - optional: true - '@esbuild/aix-ppc64@0.25.1': optional: true - '@esbuild/android-arm64@0.20.2': - optional: true - - '@esbuild/android-arm64@0.24.2': - optional: true - '@esbuild/android-arm64@0.25.1': optional: true - '@esbuild/android-arm@0.20.2': - optional: true - - '@esbuild/android-arm@0.24.2': - optional: true - '@esbuild/android-arm@0.25.1': optional: true - '@esbuild/android-x64@0.20.2': - optional: true - - '@esbuild/android-x64@0.24.2': - optional: true - '@esbuild/android-x64@0.25.1': optional: true - '@esbuild/darwin-arm64@0.20.2': - optional: true - - '@esbuild/darwin-arm64@0.24.2': - optional: true - '@esbuild/darwin-arm64@0.25.1': optional: true - '@esbuild/darwin-x64@0.20.2': - optional: true - - '@esbuild/darwin-x64@0.24.2': - optional: true - '@esbuild/darwin-x64@0.25.1': optional: true - '@esbuild/freebsd-arm64@0.20.2': - optional: true - - '@esbuild/freebsd-arm64@0.24.2': - optional: true - '@esbuild/freebsd-arm64@0.25.1': optional: true - '@esbuild/freebsd-x64@0.20.2': - optional: true - - '@esbuild/freebsd-x64@0.24.2': - optional: true - '@esbuild/freebsd-x64@0.25.1': optional: true - '@esbuild/linux-arm64@0.20.2': - optional: true - - '@esbuild/linux-arm64@0.24.2': - optional: true - '@esbuild/linux-arm64@0.25.1': optional: true - '@esbuild/linux-arm@0.20.2': - optional: true - - '@esbuild/linux-arm@0.24.2': - optional: true - '@esbuild/linux-arm@0.25.1': optional: true - '@esbuild/linux-ia32@0.20.2': - optional: true - - '@esbuild/linux-ia32@0.24.2': - optional: true - '@esbuild/linux-ia32@0.25.1': optional: true - '@esbuild/linux-loong64@0.20.2': - optional: true - - '@esbuild/linux-loong64@0.24.2': - optional: true - '@esbuild/linux-loong64@0.25.1': optional: true - '@esbuild/linux-mips64el@0.20.2': - optional: true - - '@esbuild/linux-mips64el@0.24.2': - optional: true - '@esbuild/linux-mips64el@0.25.1': optional: true - '@esbuild/linux-ppc64@0.20.2': - optional: true - - '@esbuild/linux-ppc64@0.24.2': - optional: true - '@esbuild/linux-ppc64@0.25.1': optional: true - '@esbuild/linux-riscv64@0.20.2': - optional: true - - '@esbuild/linux-riscv64@0.24.2': - optional: true - '@esbuild/linux-riscv64@0.25.1': optional: true - '@esbuild/linux-s390x@0.20.2': - optional: true - - '@esbuild/linux-s390x@0.24.2': - optional: true - '@esbuild/linux-s390x@0.25.1': optional: true - '@esbuild/linux-x64@0.20.2': - optional: true - - '@esbuild/linux-x64@0.24.2': - optional: true - '@esbuild/linux-x64@0.25.1': optional: true - '@esbuild/netbsd-arm64@0.24.2': - optional: true - '@esbuild/netbsd-arm64@0.25.1': optional: true - '@esbuild/netbsd-x64@0.20.2': - optional: true - - '@esbuild/netbsd-x64@0.24.2': - optional: true - '@esbuild/netbsd-x64@0.25.1': optional: true - '@esbuild/openbsd-arm64@0.24.2': - optional: true - '@esbuild/openbsd-arm64@0.25.1': optional: true - '@esbuild/openbsd-x64@0.20.2': - optional: true - - '@esbuild/openbsd-x64@0.24.2': - optional: true - '@esbuild/openbsd-x64@0.25.1': optional: true - '@esbuild/sunos-x64@0.20.2': - optional: true - - '@esbuild/sunos-x64@0.24.2': - optional: true - '@esbuild/sunos-x64@0.25.1': optional: true - '@esbuild/win32-arm64@0.20.2': - optional: true - - '@esbuild/win32-arm64@0.24.2': - optional: true - '@esbuild/win32-arm64@0.25.1': optional: true - '@esbuild/win32-ia32@0.20.2': - optional: true - - '@esbuild/win32-ia32@0.24.2': - optional: true - '@esbuild/win32-ia32@0.25.1': optional: true - '@esbuild/win32-x64@0.20.2': - optional: true - - '@esbuild/win32-x64@0.24.2': - optional: true - '@esbuild/win32-x64@0.25.1': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.23.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.4.1(eslint@9.24.0(jiti@2.4.2))': dependencies: - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.24.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.19.2': + '@eslint/config-array@0.20.0': dependencies: '@eslint/object-schema': 2.1.6 debug: 4.4.0 @@ -5738,7 +5287,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.23.0': {} + '@eslint/js@9.24.0': {} '@eslint/object-schema@2.1.6': {} @@ -5801,27 +5350,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)) + jest-config: 29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5846,7 +5395,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -5864,7 +5413,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.13.11 + '@types/node': 22.14.1 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -5886,7 +5435,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 22.13.11 + '@types/node': 22.14.1 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -5956,18 +5505,18 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.13.11 + '@types/node': 22.14.1 '@types/yargs': 17.0.33 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.8.2)(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.8.3)(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': dependencies: glob: 10.4.5 magic-string: 0.27.0 - react-docgen-typescript: 2.2.2(typescript@5.8.2) - vite: 6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) + react-docgen-typescript: 2.2.2(typescript@5.8.3) + vite: 6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) optionalDependencies: - typescript: 5.8.2 + typescript: 5.8.3 '@jridgewell/gen-mapping@0.3.8': dependencies: @@ -5999,36 +5548,24 @@ snapshots: '@juggle/resize-observer@3.4.0': {} - '@mdx-js/react@3.1.0(@types/react@19.0.12)(react@19.0.0)': + '@mdx-js/react@3.1.0(@types/react@19.1.1)(react@19.1.0)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 19.0.12 - react: 19.0.0 + '@types/react': 19.1.1 + react: 19.1.0 '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - '@nodelib/fs.scandir@4.0.1': - dependencies: - '@nodelib/fs.stat': 4.0.0 - run-parallel: 1.2.0 - '@nodelib/fs.stat@2.0.5': {} - '@nodelib/fs.stat@4.0.0': {} - '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.0 - '@nodelib/fs.walk@3.0.1': - dependencies: - '@nodelib/fs.scandir': 4.0.1 - fastq: 1.19.0 - '@pandacss/is-valid-prop@0.41.0': {} '@pkgjs/parseargs@0.11.0': @@ -6038,7 +5575,7 @@ snapshots: dependencies: playwright: 1.51.1 - '@puppeteer/browsers@2.8.0': + '@puppeteer/browsers@2.10.0': dependencies: debug: 4.4.0 extract-zip: 2.0.1 @@ -6130,140 +5667,134 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@snyk/github-codeowners@1.1.0': - dependencies: - commander: 4.1.1 - ignore: 5.3.2 - p-map: 4.0.0 - - '@storybook/addon-actions@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-actions@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) uuid: 9.0.1 - '@storybook/addon-backgrounds@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-backgrounds@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-controls@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-controls@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-docs@8.6.8(@types/react@19.0.12)(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-docs@8.6.12(@types/react@19.1.1)(storybook@8.6.12(prettier@3.5.3))': dependencies: - '@mdx-js/react': 3.1.0(@types/react@19.0.12)(react@19.0.0) - '@storybook/blocks': 8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.8(prettier@3.5.3)) - '@storybook/csf-plugin': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/react-dom-shim': 8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.8(prettier@3.5.3)) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - storybook: 8.6.8(prettier@3.5.3) + '@mdx-js/react': 3.1.0(@types/react@19.1.1)(react@19.1.0) + '@storybook/blocks': 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(prettier@3.5.3)) + '@storybook/csf-plugin': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(prettier@3.5.3)) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@8.6.8(@types/react@19.0.12)(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-essentials@8.6.12(@types/react@19.1.1)(storybook@8.6.12(prettier@3.5.3))': dependencies: - '@storybook/addon-actions': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/addon-backgrounds': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/addon-controls': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/addon-docs': 8.6.8(@types/react@19.0.12)(storybook@8.6.8(prettier@3.5.3)) - '@storybook/addon-highlight': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/addon-measure': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/addon-outline': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/addon-toolbars': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/addon-viewport': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - storybook: 8.6.8(prettier@3.5.3) + '@storybook/addon-actions': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-backgrounds': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-controls': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-docs': 8.6.12(@types/react@19.1.1)(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-highlight': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-measure': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-outline': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-toolbars': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-viewport': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-highlight@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-highlight@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/addon-links@8.6.8(react@19.0.0)(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-links@8.6.12(react@19.1.0)(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: - react: 19.0.0 + react: 19.1.0 - '@storybook/addon-mdx-gfm@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-mdx-gfm@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: remark-gfm: 4.0.1 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color - '@storybook/addon-measure@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-measure@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) tiny-invariant: 1.3.3 - '@storybook/addon-outline@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-outline@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-toolbars@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-toolbars@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/addon-viewport@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/addon-viewport@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: memoizerific: 1.11.3 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/blocks@8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.8(prettier@3.5.3))': + '@storybook/blocks@8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(prettier@3.5.3))': dependencies: - '@storybook/icons': 1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - storybook: 8.6.8(prettier@3.5.3) + '@storybook/icons': 1.3.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - '@storybook/builder-vite@8.6.8(storybook@8.6.8(prettier@3.5.3))(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': + '@storybook/builder-vite@8.6.12(storybook@8.6.12(prettier@3.5.3))(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': dependencies: - '@storybook/csf-plugin': 8.6.8(storybook@8.6.8(prettier@3.5.3)) + '@storybook/csf-plugin': 8.6.12(storybook@8.6.12(prettier@3.5.3)) browser-assert: 1.2.1 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 - vite: 6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) - '@storybook/components@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/components@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/core@8.6.8(prettier@3.5.3)(storybook@8.6.8(prettier@3.5.3))': + '@storybook/core@8.6.12(prettier@3.5.3)(storybook@8.6.12(prettier@3.5.3))': dependencies: - '@storybook/theming': 8.6.8(storybook@8.6.8(prettier@3.5.3)) + '@storybook/theming': 8.6.12(storybook@8.6.12(prettier@3.5.3)) better-opn: 3.0.2 browser-assert: 1.2.1 - esbuild: 0.24.2 - esbuild-register: 3.6.0(esbuild@0.24.2) + esbuild: 0.25.1 + esbuild-register: 3.6.0(esbuild@0.25.1) jsdoc-type-pratt-parser: 4.1.0 process: 0.11.10 recast: 0.23.9 semver: 7.7.1 util: 0.12.5 - ws: 8.18.0 + ws: 8.18.1 optionalDependencies: prettier: 3.5.3 transitivePeerDependencies: @@ -6272,9 +5803,9 @@ snapshots: - supports-color - utf-8-validate - '@storybook/csf-plugin@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/csf-plugin@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) unplugin: 1.16.1 '@storybook/csf@0.1.13': @@ -6283,62 +5814,62 @@ snapshots: '@storybook/global@5.0.0': {} - '@storybook/icons@1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@storybook/icons@1.3.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - '@storybook/manager-api@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/manager-api@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/preview-api@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/preview-api@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/react-dom-shim@8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.8(prettier@3.5.3))': + '@storybook/react-dom-shim@8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(prettier@3.5.3))': dependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - storybook: 8.6.8(prettier@3.5.3) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/react-vite@8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.34.6)(storybook@8.6.8(prettier@3.5.3))(typescript@5.8.2)(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': + '@storybook/react-vite@8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.34.6)(storybook@8.6.12(prettier@3.5.3))(typescript@5.8.3)(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.2)(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.3)(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) '@rollup/pluginutils': 5.1.4(rollup@4.34.6) - '@storybook/builder-vite': 8.6.8(storybook@8.6.8(prettier@3.5.3))(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) - '@storybook/react': 8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.8(prettier@3.5.3))(typescript@5.8.2) + '@storybook/builder-vite': 8.6.12(storybook@8.6.12(prettier@3.5.3))(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) + '@storybook/react': 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.8.3) find-up: 5.0.0 magic-string: 0.30.17 - react: 19.0.0 + react: 19.1.0 react-docgen: 7.1.1 - react-dom: 19.0.0(react@19.0.0) + react-dom: 19.1.0(react@19.1.0) resolve: 1.22.10 - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) tsconfig-paths: 4.2.0 - vite: 6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) transitivePeerDependencies: - rollup - supports-color - typescript - '@storybook/react@8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.8(prettier@3.5.3))(typescript@5.8.2)': + '@storybook/react@8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.8.3)': dependencies: - '@storybook/components': 8.6.8(storybook@8.6.8(prettier@3.5.3)) + '@storybook/components': 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/preview-api': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - '@storybook/react-dom-shim': 8.6.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.8(prettier@3.5.3)) - '@storybook/theming': 8.6.8(storybook@8.6.8(prettier@3.5.3)) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - storybook: 8.6.8(prettier@3.5.3) + '@storybook/manager-api': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/preview-api': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(prettier@3.5.3)) + '@storybook/theming': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + storybook: 8.6.12(prettier@3.5.3) optionalDependencies: - typescript: 5.8.2 + typescript: 5.8.3 - '@storybook/theming@8.6.8(storybook@8.6.8(prettier@3.5.3))': + '@storybook/theming@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.8(prettier@3.5.3) + storybook: 8.6.12(prettier@3.5.3) '@swc/helpers@0.5.15': dependencies: @@ -6365,15 +5896,15 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.2(@types/react@19.1.1))(@types/react@19.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.26.7 '@testing-library/dom': 10.4.0 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.0.12 - '@types/react-dom': 19.0.4(@types/react@19.0.12) + '@types/react': 19.1.1 + '@types/react-dom': 19.1.2(@types/react@19.1.1) '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': dependencies: @@ -6442,7 +5973,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.13.11 + '@types/node': 22.14.1 '@types/istanbul-lib-coverage@2.0.6': {} @@ -6463,7 +5994,7 @@ snapshots: '@types/jsdom@20.0.1': dependencies: - '@types/node': 22.13.11 + '@types/node': 22.14.1 '@types/tough-cookie': 4.0.5 parse5: 7.2.1 @@ -6485,21 +6016,21 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@22.13.11': + '@types/node@22.14.1': dependencies: - undici-types: 6.20.0 + undici-types: 6.21.0 '@types/parse-json@4.0.2': {} - '@types/react-dom@19.0.4(@types/react@19.0.12)': + '@types/react-dom@19.1.2(@types/react@19.1.1)': dependencies: - '@types/react': 19.0.12 + '@types/react': 19.1.1 - '@types/react-transition-group@4.4.12(@types/react@19.0.12)': + '@types/react-transition-group@4.4.12(@types/react@19.1.1)': dependencies: - '@types/react': 19.0.12 + '@types/react': 19.1.1 - '@types/react@19.0.12': + '@types/react@19.1.1': dependencies: csstype: 3.1.3 @@ -6521,78 +6052,64 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.13.11 + '@types/node': 22.14.1 optional: true - '@typescript-eslint/eslint-plugin@8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + '@typescript-eslint/eslint-plugin@8.30.0(@typescript-eslint/parser@8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/scope-manager': 8.27.0 - '@typescript-eslint/type-utils': 8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/utils': 8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.27.0 - eslint: 9.23.0(jiti@2.4.2) + '@typescript-eslint/parser': 8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.30.0 + '@typescript-eslint/type-utils': 8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.30.0 + eslint: 9.24.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 2.0.1(typescript@5.8.2) - typescript: 5.8.2 + ts-api-utils: 2.0.1(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + '@typescript-eslint/parser@8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.27.0 - '@typescript-eslint/types': 8.27.0 - '@typescript-eslint/typescript-estree': 8.27.0(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.27.0 + '@typescript-eslint/scope-manager': 8.30.0 + '@typescript-eslint/types': 8.30.0 + '@typescript-eslint/typescript-estree': 8.30.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.30.0 debug: 4.4.0 - eslint: 9.23.0(jiti@2.4.2) - typescript: 5.8.2 + eslint: 9.24.0(jiti@2.4.2) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.24.0': - dependencies: - '@typescript-eslint/types': 8.24.0 - '@typescript-eslint/visitor-keys': 8.24.0 - '@typescript-eslint/scope-manager@8.27.0': dependencies: '@typescript-eslint/types': 8.27.0 '@typescript-eslint/visitor-keys': 8.27.0 - '@typescript-eslint/type-utils@8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + '@typescript-eslint/scope-manager@8.30.0': dependencies: - '@typescript-eslint/typescript-estree': 8.27.0(typescript@5.8.2) - '@typescript-eslint/utils': 8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/types': 8.30.0 + '@typescript-eslint/visitor-keys': 8.30.0 + + '@typescript-eslint/type-utils@8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.30.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) debug: 4.4.0 - eslint: 9.23.0(jiti@2.4.2) - ts-api-utils: 2.0.1(typescript@5.8.2) - typescript: 5.8.2 + eslint: 9.24.0(jiti@2.4.2) + ts-api-utils: 2.0.1(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.24.0': {} - '@typescript-eslint/types@8.27.0': {} - '@typescript-eslint/typescript-estree@8.24.0(typescript@5.8.2)': - dependencies: - '@typescript-eslint/types': 8.24.0 - '@typescript-eslint/visitor-keys': 8.24.0 - debug: 4.4.0 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.1 - ts-api-utils: 2.0.1(typescript@5.8.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types@8.30.0': {} - '@typescript-eslint/typescript-estree@8.27.0(typescript@5.8.2)': + '@typescript-eslint/typescript-estree@8.27.0(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.27.0 '@typescript-eslint/visitor-keys': 8.27.0 @@ -6601,554 +6118,587 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.1 - ts-api-utils: 2.0.1(typescript@5.8.2) - typescript: 5.8.2 + ts-api-utils: 2.0.1(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.24.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + '@typescript-eslint/typescript-estree@8.30.0(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.23.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.24.0 - '@typescript-eslint/types': 8.24.0 - '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.8.2) - eslint: 9.23.0(jiti@2.4.2) - typescript: 5.8.2 + '@typescript-eslint/types': 8.30.0 + '@typescript-eslint/visitor-keys': 8.30.0 + debug: 4.4.0 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.0.1(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + '@typescript-eslint/utils@8.27.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.23.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.24.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.27.0 '@typescript-eslint/types': 8.27.0 - '@typescript-eslint/typescript-estree': 8.27.0(typescript@5.8.2) - eslint: 9.23.0(jiti@2.4.2) - typescript: 5.8.2 + '@typescript-eslint/typescript-estree': 8.27.0(typescript@5.8.3) + eslint: 9.24.0(jiti@2.4.2) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.24.0': + '@typescript-eslint/utils@8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.24.0 - eslint-visitor-keys: 4.2.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.24.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.30.0 + '@typescript-eslint/types': 8.30.0 + '@typescript-eslint/typescript-estree': 8.30.0(typescript@5.8.3) + eslint: 9.24.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color '@typescript-eslint/visitor-keys@8.27.0': dependencies: '@typescript-eslint/types': 8.27.0 eslint-visitor-keys: 4.2.0 + '@typescript-eslint/visitor-keys@8.30.0': + dependencies: + '@typescript-eslint/types': 8.30.0 + eslint-visitor-keys: 4.2.0 + '@visulima/boxen@1.0.30': {} - '@vitejs/plugin-react@4.3.4(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': + '@vitejs/plugin-react@4.3.4(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.8 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.8) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.8) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitest/expect@3.0.9': + '@vitest/expect@3.1.1': dependencies: - '@vitest/spy': 3.0.9 - '@vitest/utils': 3.0.9 + '@vitest/spy': 3.1.1 + '@vitest/utils': 3.1.1 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.9(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': + '@vitest/mocker@3.1.1(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0))': dependencies: - '@vitest/spy': 3.0.9 + '@vitest/spy': 3.1.1 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) - '@vitest/pretty-format@3.0.9': + '@vitest/pretty-format@3.1.1': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.9': + '@vitest/runner@3.1.1': dependencies: - '@vitest/utils': 3.0.9 + '@vitest/utils': 3.1.1 pathe: 2.0.3 - '@vitest/snapshot@3.0.9': + '@vitest/snapshot@3.1.1': dependencies: - '@vitest/pretty-format': 3.0.9 + '@vitest/pretty-format': 3.1.1 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.0.9': + '@vitest/spy@3.1.1': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.0.9': + '@vitest/utils@3.1.1': dependencies: - '@vitest/pretty-format': 3.0.9 + '@vitest/pretty-format': 3.1.1 loupe: 3.1.3 tinyrainbow: 2.0.0 '@xobotyi/scrollbar-width@1.9.5': {} - '@zag-js/accordion@0.82.2': + '@zag-js/accordion@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/anatomy@0.82.2': {} + '@zag-js/anatomy@1.8.2': {} - '@zag-js/aria-hidden@0.82.2': {} + '@zag-js/aria-hidden@1.8.2': {} - '@zag-js/auto-resize@0.82.2': + '@zag-js/auto-resize@1.8.2': dependencies: - '@zag-js/dom-query': 0.82.2 + '@zag-js/dom-query': 1.8.2 - '@zag-js/avatar@0.82.2': + '@zag-js/avatar@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/carousel@0.82.2': + '@zag-js/carousel@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/scroll-snap': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/scroll-snap': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/checkbox@0.82.2': + '@zag-js/checkbox@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/focus-visible': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/focus-visible': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/clipboard@0.82.2': + '@zag-js/clipboard@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/collapsible@0.82.2': + '@zag-js/collapsible@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/collection@0.82.2': + '@zag-js/collection@1.8.2': dependencies: - '@zag-js/utils': 0.82.2 + '@zag-js/utils': 1.8.2 - '@zag-js/color-picker@0.82.2': + '@zag-js/color-picker@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/color-utils': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/color-utils': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/color-utils@0.82.2': + '@zag-js/color-utils@1.8.2': dependencies: - '@zag-js/utils': 0.82.2 + '@zag-js/utils': 1.8.2 - '@zag-js/combobox@0.82.2': + '@zag-js/combobox@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/aria-hidden': 0.82.2 - '@zag-js/collection': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/aria-hidden': 1.8.2 + '@zag-js/collection': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/core@0.82.2': + '@zag-js/core@1.8.2': dependencies: - '@zag-js/store': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/date-picker@0.82.2(@internationalized/date@3.7.0)': + '@zag-js/date-picker@1.8.2(@internationalized/date@3.7.0)': dependencies: '@internationalized/date': 3.7.0 - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/date-utils': 0.82.2(@internationalized/date@3.7.0) - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/live-region': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/date-utils': 1.8.2(@internationalized/date@3.7.0) + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/live-region': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/date-utils@0.82.2(@internationalized/date@3.7.0)': + '@zag-js/date-utils@1.8.2(@internationalized/date@3.7.0)': dependencies: '@internationalized/date': 3.7.0 - '@zag-js/dialog@0.82.2': + '@zag-js/dialog@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/aria-hidden': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/focus-trap': 0.82.2 - '@zag-js/remove-scroll': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/aria-hidden': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/focus-trap': 1.8.2 + '@zag-js/remove-scroll': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/dismissable@0.82.2': + '@zag-js/dismissable@1.8.2': dependencies: - '@zag-js/dom-query': 0.82.2 - '@zag-js/interact-outside': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/interact-outside': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/dom-query@0.82.2': + '@zag-js/dom-query@1.8.1': dependencies: - '@zag-js/types': 0.82.2 + '@zag-js/types': 1.8.1 - '@zag-js/editable@0.82.2': + '@zag-js/dom-query@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/interact-outside': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/types': 1.8.2 - '@zag-js/element-rect@0.82.2': {} - - '@zag-js/element-size@0.82.2': {} - - '@zag-js/file-upload@0.82.2': + '@zag-js/editable@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/file-utils': 0.82.2 - '@zag-js/i18n-utils': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/interact-outside': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/file-utils@0.82.2': + '@zag-js/file-upload@1.8.2': dependencies: - '@zag-js/i18n-utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/file-utils': 1.8.2 + '@zag-js/i18n-utils': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/focus-trap@0.82.2': + '@zag-js/file-utils@1.8.1': dependencies: - '@zag-js/dom-query': 0.82.2 + '@zag-js/i18n-utils': 1.8.1 - '@zag-js/focus-visible@0.82.2': + '@zag-js/file-utils@1.8.2': dependencies: - '@zag-js/dom-query': 0.82.2 + '@zag-js/i18n-utils': 1.8.2 - '@zag-js/highlight-word@0.82.2': {} - - '@zag-js/hover-card@0.82.2': + '@zag-js/focus-trap@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/dom-query': 1.8.2 - '@zag-js/i18n-utils@0.82.2': + '@zag-js/focus-visible@1.8.2': dependencies: - '@zag-js/dom-query': 0.82.2 + '@zag-js/dom-query': 1.8.2 - '@zag-js/interact-outside@0.82.2': + '@zag-js/highlight-word@1.8.2': {} + + '@zag-js/hover-card@1.8.2': dependencies: - '@zag-js/dom-query': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/live-region@0.82.2': {} - - '@zag-js/menu@0.82.2': + '@zag-js/i18n-utils@1.8.1': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/rect-utils': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/dom-query': 1.8.1 - '@zag-js/number-input@0.82.2': + '@zag-js/i18n-utils@1.8.2': + dependencies: + '@zag-js/dom-query': 1.8.2 + + '@zag-js/interact-outside@1.8.2': + dependencies: + '@zag-js/dom-query': 1.8.2 + '@zag-js/utils': 1.8.2 + + '@zag-js/live-region@1.8.2': {} + + '@zag-js/menu@1.8.2': + dependencies: + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/rect-utils': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 + + '@zag-js/number-input@1.8.2': dependencies: '@internationalized/number': 3.6.0 - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/pagination@0.82.2': + '@zag-js/pagination@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/pin-input@0.82.2': + '@zag-js/pin-input@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/popover@0.82.2': + '@zag-js/popover@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/aria-hidden': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/focus-trap': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/remove-scroll': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/aria-hidden': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/focus-trap': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/remove-scroll': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/popper@0.82.2': + '@zag-js/popper@1.8.2': dependencies: '@floating-ui/dom': 1.6.13 - '@zag-js/dom-query': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/presence@0.82.2': + '@zag-js/presence@1.8.2': dependencies: - '@zag-js/core': 0.82.2 - '@zag-js/types': 0.82.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 - '@zag-js/progress@0.82.2': + '@zag-js/progress@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/qr-code@0.82.2': + '@zag-js/qr-code@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 proxy-memoize: 3.0.1 uqr: 0.1.2 - '@zag-js/radio-group@0.82.2': + '@zag-js/radio-group@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/element-rect': 0.82.2 - '@zag-js/focus-visible': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/focus-visible': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/rating-group@0.82.2': + '@zag-js/rating-group@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/react@0.82.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@zag-js/react@1.8.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@zag-js/core': 0.82.2 - '@zag-js/store': 0.82.2 - '@zag-js/types': 0.82.2 - proxy-compare: 3.0.1 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@zag-js/core': 1.8.2 + '@zag-js/store': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - '@zag-js/rect-utils@0.82.2': {} + '@zag-js/rect-utils@1.8.2': {} - '@zag-js/remove-scroll@0.82.2': + '@zag-js/remove-scroll@1.8.2': dependencies: - '@zag-js/dom-query': 0.82.2 + '@zag-js/dom-query': 1.8.2 - '@zag-js/scroll-snap@0.82.2': + '@zag-js/scroll-snap@1.8.2': dependencies: - '@zag-js/dom-query': 0.82.2 + '@zag-js/dom-query': 1.8.2 - '@zag-js/select@0.82.2': + '@zag-js/select@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/collection': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/collection': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/signature-pad@0.82.2': + '@zag-js/signature-pad@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 perfect-freehand: 1.2.2 - '@zag-js/slider@0.82.2': + '@zag-js/slider@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/element-size': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/splitter@0.82.2': + '@zag-js/splitter@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/steps@0.82.2': + '@zag-js/steps@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/store@0.82.2': + '@zag-js/store@1.8.2': dependencies: proxy-compare: 3.0.1 - '@zag-js/switch@0.82.2': + '@zag-js/switch@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/focus-visible': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/focus-visible': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/tabs@0.82.2': + '@zag-js/tabs@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/element-rect': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/tags-input@0.82.2': + '@zag-js/tags-input@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/auto-resize': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/interact-outside': 0.82.2 - '@zag-js/live-region': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/auto-resize': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/interact-outside': 1.8.2 + '@zag-js/live-region': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/time-picker@0.82.2(@internationalized/date@3.7.0)': + '@zag-js/time-picker@1.8.2(@internationalized/date@3.7.0)': dependencies: '@internationalized/date': 3.7.0 - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/timer@0.82.2': + '@zag-js/timer@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/toast@0.82.2': + '@zag-js/toast@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/toggle-group@0.82.2': + '@zag-js/toggle-group@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/tooltip@0.82.2': + '@zag-js/toggle@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/focus-visible': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/tour@0.82.2': + '@zag-js/tooltip@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dismissable': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/focus-trap': 0.82.2 - '@zag-js/interact-outside': 0.82.2 - '@zag-js/popper': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/focus-visible': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/store': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/tree-view@0.82.2': + '@zag-js/tour@1.8.2': dependencies: - '@zag-js/anatomy': 0.82.2 - '@zag-js/collection': 0.82.2 - '@zag-js/core': 0.82.2 - '@zag-js/dom-query': 0.82.2 - '@zag-js/types': 0.82.2 - '@zag-js/utils': 0.82.2 + '@zag-js/anatomy': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dismissable': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/focus-trap': 1.8.2 + '@zag-js/interact-outside': 1.8.2 + '@zag-js/popper': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 - '@zag-js/types@0.82.2': + '@zag-js/tree-view@1.8.2': + dependencies: + '@zag-js/anatomy': 1.8.2 + '@zag-js/collection': 1.8.2 + '@zag-js/core': 1.8.2 + '@zag-js/dom-query': 1.8.2 + '@zag-js/types': 1.8.2 + '@zag-js/utils': 1.8.2 + + '@zag-js/types@1.8.1': dependencies: csstype: 3.1.3 - '@zag-js/utils@0.82.2': {} + '@zag-js/types@1.8.2': + dependencies: + csstype: 3.1.3 + + '@zag-js/utils@1.8.2': {} abab@2.0.6: {} @@ -7175,11 +6725,6 @@ snapshots: agent-base@7.1.3: {} - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -7187,16 +6732,16 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - allotment@1.20.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + allotment@1.20.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: classnames: 2.5.1 eventemitter3: 5.0.1 lodash.clamp: 4.0.3 lodash.debounce: 4.0.8 lodash.isequal: 4.5.0 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - use-resize-observer: 9.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + use-resize-observer: 9.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) ansi-escapes@4.3.2: dependencies: @@ -7453,9 +6998,9 @@ snapshots: buffer-from@1.1.2: {} - bundle-n-require@1.1.1: + bundle-n-require@1.1.2: dependencies: - esbuild: 0.20.2 + esbuild: 0.25.1 node-eval: 2.0.0 cac@6.7.14: {} @@ -7465,6 +7010,11 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + call-bind@1.0.8: dependencies: call-bind-apply-helpers: 1.0.1 @@ -7477,6 +7027,11 @@ snapshots: call-bind-apply-helpers: 1.0.1 get-intrinsic: 1.2.7 + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + callsites@3.1.0: {} camelcase@5.3.1: {} @@ -7525,9 +7080,9 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chromium-bidi@2.1.2(devtools-protocol@0.0.1413902): + chromium-bidi@3.0.0(devtools-protocol@0.0.1425554): dependencies: - devtools-protocol: 0.0.1413902 + devtools-protocol: 0.0.1425554 mitt: 3.0.1 zod: 3.24.2 @@ -7537,8 +7092,6 @@ snapshots: classnames@2.5.1: {} - clean-stack@2.2.0: {} - cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 @@ -7608,22 +7161,22 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@9.0.0(typescript@5.8.2): + cosmiconfig@9.0.0(typescript@5.8.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.8.2 + typescript: 5.8.3 - create-jest@29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)): + create-jest@29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)) + jest-config: 29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -7752,7 +7305,7 @@ snapshots: dependencies: dequal: 2.0.3 - devtools-protocol@0.0.1413902: {} + devtools-protocol@0.0.1425554: {} diff-sequences@29.6.3: {} @@ -7926,67 +7479,13 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - esbuild-register@3.6.0(esbuild@0.24.2): + esbuild-register@3.6.0(esbuild@0.25.1): dependencies: debug: 4.4.0 - esbuild: 0.24.2 + esbuild: 0.25.1 transitivePeerDependencies: - supports-color - esbuild@0.20.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - - esbuild@0.24.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.24.2 - '@esbuild/android-arm': 0.24.2 - '@esbuild/android-arm64': 0.24.2 - '@esbuild/android-x64': 0.24.2 - '@esbuild/darwin-arm64': 0.24.2 - '@esbuild/darwin-x64': 0.24.2 - '@esbuild/freebsd-arm64': 0.24.2 - '@esbuild/freebsd-x64': 0.24.2 - '@esbuild/linux-arm': 0.24.2 - '@esbuild/linux-arm64': 0.24.2 - '@esbuild/linux-ia32': 0.24.2 - '@esbuild/linux-loong64': 0.24.2 - '@esbuild/linux-mips64el': 0.24.2 - '@esbuild/linux-ppc64': 0.24.2 - '@esbuild/linux-riscv64': 0.24.2 - '@esbuild/linux-s390x': 0.24.2 - '@esbuild/linux-x64': 0.24.2 - '@esbuild/netbsd-arm64': 0.24.2 - '@esbuild/netbsd-x64': 0.24.2 - '@esbuild/openbsd-arm64': 0.24.2 - '@esbuild/openbsd-x64': 0.24.2 - '@esbuild/sunos-x64': 0.24.2 - '@esbuild/win32-arm64': 0.24.2 - '@esbuild/win32-ia32': 0.24.2 - '@esbuild/win32-x64': 0.24.2 - esbuild@0.25.1: optionalDependencies: '@esbuild/aix-ppc64': 0.25.1 @@ -8039,17 +7538,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.23.0(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.24.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - eslint: 9.23.0(jiti@2.4.2) + '@typescript-eslint/parser': 8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.24.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -8058,9 +7557,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.24.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint@9.23.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.24.0(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -8072,17 +7571,17 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.27.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/parser': 8.30.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-react-hooks@5.2.0(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-react-hooks@5.2.0(eslint@9.24.0(jiti@2.4.2)): dependencies: - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.24.0(jiti@2.4.2) - eslint-plugin-react@7.37.4(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-react@7.37.5(eslint@9.24.0(jiti@2.4.2)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -8090,12 +7589,12 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.24.0(jiti@2.4.2) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.8 + object.entries: 1.1.9 object.fromentries: 2.0.8 object.values: 1.2.1 prop-types: 15.8.1 @@ -8104,11 +7603,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-storybook@0.11.6(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2): + eslint-plugin-storybook@0.12.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3): dependencies: '@storybook/csf': 0.1.13 - '@typescript-eslint/utils': 8.24.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - eslint: 9.23.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.27.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.24.0(jiti@2.4.2) ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color @@ -8123,15 +7622,15 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.23.0(jiti@2.4.2): + eslint@9.24.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.23.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.24.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.2 + '@eslint/config-array': 0.20.0 '@eslint/config-helpers': 0.2.0 '@eslint/core': 0.12.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.23.0 + '@eslint/js': 9.24.0 '@eslint/plugin-kit': 0.2.7 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 @@ -8219,7 +7718,7 @@ snapshots: exit@0.1.2: {} - expect-type@1.1.0: {} + expect-type@1.2.1: {} expect@29.7.0: dependencies: @@ -8366,6 +7865,19 @@ snapshots: hasown: 2.0.2 math-intrinsics: 1.1.0 + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + get-package-type@0.1.0: {} get-proto@1.0.1: @@ -8772,7 +8284,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3(babel-plugin-macros@3.1.0) @@ -8792,16 +8304,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)): + jest-cli@29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)) + create-jest: 29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)) + jest-config: 29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -8811,7 +8323,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)): + jest-config@29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)): dependencies: '@babel/core': 7.26.8 '@jest/test-sequencer': 29.7.0 @@ -8836,8 +8348,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.13.11 - ts-node: 10.9.2(@types/node@22.13.11)(typescript@5.8.2) + '@types/node': 22.14.1 + ts-node: 10.9.2(@types/node@22.14.1)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -8867,7 +8379,7 @@ snapshots: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 22.13.11 + '@types/node': 22.14.1 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -8881,7 +8393,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -8891,7 +8403,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.13.11 + '@types/node': 22.14.1 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -8930,7 +8442,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -8965,7 +8477,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -8993,7 +8505,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 chalk: 4.1.2 cjs-module-lexer: 1.4.3 collect-v8-coverage: 1.0.2 @@ -9039,7 +8551,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -9058,7 +8570,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.11 + '@types/node': 22.14.1 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -9067,17 +8579,17 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 22.13.11 + '@types/node': 22.14.1 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)): + jest@29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.13.11)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2)) + jest-cli: 29.7.0(@types/node@22.14.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -9165,11 +8677,10 @@ snapshots: kleur@3.0.3: {} - knip@5.46.0(@types/node@22.13.11)(typescript@5.8.2): + knip@5.50.3(@types/node@22.14.1)(typescript@5.8.3): dependencies: - '@nodelib/fs.walk': 3.0.1 - '@snyk/github-codeowners': 1.1.0 - '@types/node': 22.13.11 + '@nodelib/fs.walk': 1.2.8 + '@types/node': 22.14.1 easy-table: 1.2.0 enhanced-resolve: 5.18.1 fast-glob: 3.3.3 @@ -9181,8 +8692,7 @@ snapshots: pretty-ms: 9.2.0 smol-toml: 1.3.1 strip-json-comments: 5.0.1 - summary: 2.1.0 - typescript: 5.8.2 + typescript: 5.8.3 zod: 3.24.2 zod-validation-error: 3.4.0(zod@3.24.2) @@ -9197,7 +8707,7 @@ snapshots: lines-and-columns@1.2.4: {} - lint-staged@15.5.0: + lint-staged@15.5.1: dependencies: chalk: 5.4.1 commander: 13.1.0 @@ -9639,15 +9149,15 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nano-css@5.6.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + nano-css@5.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@jridgewell/sourcemap-codec': 1.5.0 css-tree: 1.1.3 csstype: 3.1.3 fastest-stable-stringify: 2.0.2 inline-style-prefixer: 7.0.1 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) rtl-css-js: 1.16.1 stacktrace-js: 2.0.2 stylis: 4.3.6 @@ -9658,10 +9168,10 @@ snapshots: netmask@2.0.2: {} - next-themes@0.4.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) node-domexception@1.0.0: {} @@ -9681,7 +9191,7 @@ snapshots: normalize-path@3.0.0: {} - npm-check-updates@17.1.16: {} + npm-check-updates@17.1.18: {} npm-run-path@4.0.1: dependencies: @@ -9708,9 +9218,10 @@ snapshots: has-symbols: 1.1.0 object-keys: 1.1.1 - object.entries@1.1.8: + object.entries@1.1.9: dependencies: call-bind: 1.0.8 + call-bound: 1.0.4 define-properties: 1.2.1 es-object-atoms: 1.1.1 @@ -9787,10 +9298,6 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - p-try@2.2.0: {} pac-proxy-agent@7.1.0: @@ -9962,12 +9469,12 @@ snapshots: punycode@2.3.1: {} - puppeteer-core@24.4.0: + puppeteer-core@24.6.1: dependencies: - '@puppeteer/browsers': 2.8.0 - chromium-bidi: 2.1.2(devtools-protocol@0.0.1413902) + '@puppeteer/browsers': 2.10.0 + chromium-bidi: 3.0.0(devtools-protocol@0.0.1425554) debug: 4.4.0 - devtools-protocol: 0.0.1413902 + devtools-protocol: 0.0.1425554 typed-query-selector: 2.12.0 ws: 8.18.1 transitivePeerDependencies: @@ -9976,13 +9483,13 @@ snapshots: - supports-color - utf-8-validate - puppeteer@24.4.0(typescript@5.8.2): + puppeteer@24.6.1(typescript@5.8.3): dependencies: - '@puppeteer/browsers': 2.8.0 - chromium-bidi: 2.1.2(devtools-protocol@0.0.1413902) - cosmiconfig: 9.0.0(typescript@5.8.2) - devtools-protocol: 0.0.1413902 - puppeteer-core: 24.4.0 + '@puppeteer/browsers': 2.10.0 + chromium-bidi: 3.0.0(devtools-protocol@0.0.1425554) + cosmiconfig: 9.0.0(typescript@5.8.3) + devtools-protocol: 0.0.1425554 + puppeteer-core: 24.6.1 typed-query-selector: 2.12.0 transitivePeerDependencies: - bare-buffer @@ -9997,9 +9504,9 @@ snapshots: queue-microtask@1.2.3: {} - react-docgen-typescript@2.2.2(typescript@5.8.2): + react-docgen-typescript@2.2.2(typescript@5.8.3): dependencies: - typescript: 5.8.2 + typescript: 5.8.3 react-docgen@7.1.1: dependencies: @@ -10016,19 +9523,19 @@ snapshots: transitivePeerDependencies: - supports-color - react-dom@19.0.0(react@19.0.0): + react-dom@19.1.0(react@19.1.0): dependencies: - react: 19.0.0 - scheduler: 0.25.0 + react: 19.1.0 + scheduler: 0.26.0 - react-error-boundary@5.0.0(react@19.0.0): + react-error-boundary@5.0.0(react@19.1.0): dependencies: '@babel/runtime': 7.26.7 - react: 19.0.0 + react: 19.1.0 - react-icons@5.5.0(react@19.0.0): + react-icons@5.5.0(react@19.1.0): dependencies: - react: 19.0.0 + react: 19.1.0 react-is@16.13.1: {} @@ -10036,62 +9543,62 @@ snapshots: react-is@18.3.1: {} - react-is@19.0.0: {} + react-is@19.1.0: {} react-refresh@0.14.2: {} - react-router-dom@7.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + react-router-dom@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-router: 7.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-router: 7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-router@7.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@types/cookie': 0.6.0 cookie: 1.0.2 - react: 19.0.0 + react: 19.1.0 set-cookie-parser: 2.7.1 turbo-stream: 2.4.0 optionalDependencies: - react-dom: 19.0.0(react@19.0.0) + react-dom: 19.1.0(react@19.1.0) - react-select@5.10.1(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + react-select@5.10.1(@types/react@19.1.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@babel/runtime': 7.26.7 '@emotion/cache': 11.14.0 - '@emotion/react': 11.14.0(@types/react@19.0.12)(react@19.0.0) + '@emotion/react': 11.14.0(@types/react@19.1.1)(react@19.1.0) '@floating-ui/dom': 1.6.13 - '@types/react-transition-group': 4.4.12(@types/react@19.0.12) + '@types/react-transition-group': 4.4.12(@types/react@19.1.1) memoize-one: 6.0.0 prop-types: 15.8.1 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-transition-group: 4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - use-isomorphic-layout-effect: 1.2.0(@types/react@19.0.12)(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + use-isomorphic-layout-effect: 1.2.0(@types/react@19.1.1)(react@19.1.0) transitivePeerDependencies: - '@types/react' - supports-color - react-speech-recognition@4.0.0(react@19.0.0): + react-speech-recognition@4.0.0(react@19.1.0): dependencies: - react: 19.0.0 + react: 19.1.0 - react-transition-group@4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + react-transition-group@4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@babel/runtime': 7.26.7 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - react-universal-interface@0.6.2(react@19.0.0)(tslib@2.8.1): + react-universal-interface@0.6.2(react@19.1.0)(tslib@2.8.1): dependencies: - react: 19.0.0 + react: 19.1.0 tslib: 2.8.1 - react-use@17.6.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + react-use@17.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@types/js-cookie': 2.2.7 '@xobotyi/scrollbar-width': 1.9.5 @@ -10099,10 +9606,10 @@ snapshots: fast-deep-equal: 3.1.3 fast-shallow-equal: 1.0.0 js-cookie: 2.2.1 - nano-css: 5.6.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-universal-interface: 0.6.2(react@19.0.0)(tslib@2.8.1) + nano-css: 5.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-universal-interface: 0.6.2(react@19.1.0)(tslib@2.8.1) resize-observer-polyfill: 1.5.1 screenfull: 5.2.0 set-harmonic-interval: 1.0.1 @@ -10110,7 +9617,7 @@ snapshots: ts-easing: 0.2.0 tslib: 2.8.1 - react@19.0.0: {} + react@19.1.0: {} readdirp@3.6.0: dependencies: @@ -10272,7 +9779,7 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.25.0: {} + scheduler@0.26.0: {} screenfull@5.2.0: {} @@ -10427,11 +9934,11 @@ snapshots: stack-generator: 2.0.10 stacktrace-gps: 3.1.2 - std-env@3.8.0: {} + std-env@3.9.0: {} - storybook@8.6.8(prettier@3.5.3): + storybook@8.6.12(prettier@3.5.3): dependencies: - '@storybook/core': 8.6.8(prettier@3.5.3)(storybook@8.6.8(prettier@3.5.3)) + '@storybook/core': 8.6.12(prettier@3.5.3)(storybook@8.6.12(prettier@3.5.3)) optionalDependencies: prettier: 3.5.3 transitivePeerDependencies: @@ -10557,8 +10064,6 @@ snapshots: pirates: 4.0.6 ts-interface-checker: 0.1.13 - summary@2.1.0: {} - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -10650,9 +10155,9 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.0.1(typescript@5.8.2): + ts-api-utils@2.0.1(typescript@5.8.3): dependencies: - typescript: 5.8.2 + typescript: 5.8.3 ts-dedent@2.2.0: {} @@ -10660,21 +10165,21 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@22.13.11)(typescript@5.8.2): + ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.13.11 + '@types/node': 22.14.1 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.8.2 + typescript: 5.8.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -10740,7 +10245,7 @@ snapshots: typed-query-selector@2.12.0: {} - typescript@5.8.2: {} + typescript@5.8.3: {} unbox-primitive@1.1.0: dependencies: @@ -10749,7 +10254,7 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - undici-types@6.20.0: {} + undici-types@6.21.0: {} unicorn-magic@0.1.0: {} @@ -10806,17 +10311,17 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - use-isomorphic-layout-effect@1.2.0(@types/react@19.0.12)(react@19.0.0): + use-isomorphic-layout-effect@1.2.0(@types/react@19.1.1)(react@19.1.0): dependencies: - react: 19.0.0 + react: 19.1.0 optionalDependencies: - '@types/react': 19.0.12 + '@types/react': 19.1.1 - use-resize-observer@9.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + use-resize-observer@9.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@juggle/resize-observer': 3.4.0 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) util@0.12.5: dependencies: @@ -10846,13 +10351,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.0.9(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0): + vite-node@3.1.1(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - jiti @@ -10867,43 +10372,43 @@ snapshots: - tsx - yaml - vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0): + vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0): dependencies: esbuild: 0.25.1 postcss: 8.5.3 rollup: 4.34.6 optionalDependencies: - '@types/node': 22.13.11 + '@types/node': 22.14.1 fsevents: 2.3.3 jiti: 2.4.2 terser: 5.39.0 yaml: 2.7.0 - vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.13.11)(jiti@2.4.2)(jsdom@20.0.3)(terser@5.39.0)(yaml@2.7.0): + vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.14.1)(jiti@2.4.2)(jsdom@20.0.3)(terser@5.39.0)(yaml@2.7.0): dependencies: - '@vitest/expect': 3.0.9 - '@vitest/mocker': 3.0.9(vite@6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) - '@vitest/pretty-format': 3.0.9 - '@vitest/runner': 3.0.9 - '@vitest/snapshot': 3.0.9 - '@vitest/spy': 3.0.9 - '@vitest/utils': 3.0.9 + '@vitest/expect': 3.1.1 + '@vitest/mocker': 3.1.1(vite@6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0)) + '@vitest/pretty-format': 3.1.1 + '@vitest/runner': 3.1.1 + '@vitest/snapshot': 3.1.1 + '@vitest/spy': 3.1.1 + '@vitest/utils': 3.1.1 chai: 5.2.0 debug: 4.4.0 - expect-type: 1.1.0 + expect-type: 1.2.1 magic-string: 0.30.17 pathe: 2.0.3 - std-env: 3.8.0 + std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.2.2(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) - vite-node: 3.0.9(@types/node@22.13.11)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.6(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) + vite-node: 3.1.1(@types/node@22.14.1)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.13.11 + '@types/node': 22.14.1 jsdom: 20.0.3 transitivePeerDependencies: - jiti @@ -11068,9 +10573,9 @@ snapshots: zod@3.24.2: {} - zustand@5.0.3(@types/react@19.0.12)(react@19.0.0): + zustand@5.0.3(@types/react@19.1.1)(react@19.1.0): optionalDependencies: - '@types/react': 19.0.12 - react: 19.0.0 + '@types/react': 19.1.1 + react: 19.1.0 zwitch@2.0.4: {} diff --git a/front/src/back-api/api/album-resource.ts b/front/src/back-api/api/album-resource.ts index bb66c4c..fd3bdda 100644 --- a/front/src/back-api/api/album-resource.ts +++ b/front/src/back-api/api/album-resource.ts @@ -16,7 +16,7 @@ import { AlbumCreate, AlbumUpdate, Long, - UUID, + ObjectId, ZodAlbum, isAlbum, } from "../model"; @@ -76,32 +76,6 @@ export namespace AlbumResource { restConfig, }, isGetsTypeReturn); }; - /** - * Update a specific album - */ - export function patch({ - restConfig, - params, - data, - }: { - restConfig: RESTConfig, - params: { - id: Long, - }, - data: Partial, - }): Promise { - return RESTRequestJson({ - restModel: { - endPoint: "/album/{id}", - requestType: HTTPRequestModel.PATCH, - contentType: HTTPMimeType.JSON, - accept: HTTPMimeType.JSON, - }, - restConfig, - params, - data, - }, isAlbum); - }; /** * Add an album (when all the data already exist) */ @@ -123,6 +97,32 @@ export namespace AlbumResource { data, }, isAlbum); }; + /** + * Update a specific album + */ + export function put({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: AlbumUpdate, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/album/{id}", + requestType: HTTPRequestModel.PUT, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isAlbum); + }; /** * Remove a specific album */ @@ -154,7 +154,7 @@ export namespace AlbumResource { }: { restConfig: RESTConfig, params: { - coverId: UUID, + coverId: ObjectId, id: Long, }, }): Promise { diff --git a/front/src/back-api/api/artist-resource.ts b/front/src/back-api/api/artist-resource.ts index 8a1e1bc..cfc5c04 100644 --- a/front/src/back-api/api/artist-resource.ts +++ b/front/src/back-api/api/artist-resource.ts @@ -70,7 +70,25 @@ export namespace ArtistResource { restConfig, }, isGetsTypeReturn); }; - export function patch({ + export function post({ + restConfig, + data, + }: { + restConfig: RESTConfig, + data: ArtistCreate, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/artist/", + requestType: HTTPRequestModel.POST, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + data, + }, isArtist); + }; + export function put({ restConfig, params, data, @@ -93,24 +111,6 @@ export namespace ArtistResource { data, }, isArtist); }; - export function post({ - restConfig, - data, - }: { - restConfig: RESTConfig, - data: ArtistCreate, - }): Promise { - return RESTRequestJson({ - restModel: { - endPoint: "/artist/", - requestType: HTTPRequestModel.POST, - contentType: HTTPMimeType.JSON, - accept: HTTPMimeType.JSON, - }, - restConfig, - data, - }, isArtist); - }; export function remove({ restConfig, params, diff --git a/front/src/back-api/api/gender-resource.ts b/front/src/back-api/api/gender-resource.ts index d2bba2d..a163274 100644 --- a/front/src/back-api/api/gender-resource.ts +++ b/front/src/back-api/api/gender-resource.ts @@ -79,12 +79,12 @@ export namespace GenderResource { params: { id: Long, }, - data: Partial, + data: GenderUpdate, }): Promise { return RESTRequestJson({ restModel: { endPoint: "/gender/{id}", - requestType: HTTPRequestModel.PATCH, + requestType: HTTPRequestModel.PUT, contentType: HTTPMimeType.JSON, accept: HTTPMimeType.JSON, }, diff --git a/front/src/back-api/api/playlist-resource.ts b/front/src/back-api/api/playlist-resource.ts index 81bdee4..6d8dd9d 100644 --- a/front/src/back-api/api/playlist-resource.ts +++ b/front/src/back-api/api/playlist-resource.ts @@ -22,27 +22,6 @@ import { export namespace PlaylistResource { - export function addTrack({ - restConfig, - params, - }: { - restConfig: RESTConfig, - params: { - trackId: Long, - id: Long, - }, - }): Promise { - return RESTRequestJson({ - restModel: { - endPoint: "/playlist/{id}/track/{trackId}", - requestType: HTTPRequestModel.POST, - contentType: HTTPMimeType.MULTIPART, - accept: HTTPMimeType.JSON, - }, - restConfig, - params, - }, isPlaylist); - }; export function get({ restConfig, params, @@ -90,29 +69,6 @@ export namespace PlaylistResource { restConfig, }, isGetsTypeReturn); }; - export function patch({ - restConfig, - params, - data, - }: { - restConfig: RESTConfig, - params: { - id: Long, - }, - data: Partial, - }): Promise { - return RESTRequestJson({ - restModel: { - endPoint: "/playlist/{id}", - requestType: HTTPRequestModel.PATCH, - contentType: HTTPMimeType.JSON, - accept: HTTPMimeType.JSON, - }, - restConfig, - params, - data, - }, isPlaylist); - }; export function post({ restConfig, data, @@ -131,6 +87,29 @@ export namespace PlaylistResource { data, }, isPlaylist); }; + export function put({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: PlaylistUpdate, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/playlist/{id}", + requestType: HTTPRequestModel.PUT, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isPlaylist); + }; export function remove({ restConfig, params, @@ -171,27 +150,6 @@ export namespace PlaylistResource { params, }, isPlaylist); }; - export function removeTrack({ - restConfig, - params, - }: { - restConfig: RESTConfig, - params: { - trackId: Long, - id: Long, - }, - }): Promise { - return RESTRequestJson({ - restModel: { - endPoint: "/playlist/{id}/track/{trackId}", - requestType: HTTPRequestModel.DELETE, - contentType: HTTPMimeType.TEXT_PLAIN, - accept: HTTPMimeType.JSON, - }, - restConfig, - params, - }, isPlaylist); - }; export function uploadCover({ restConfig, params, diff --git a/front/src/back-api/api/track-resource.ts b/front/src/back-api/api/track-resource.ts index c130cc3..1ec59ef 100644 --- a/front/src/back-api/api/track-resource.ts +++ b/front/src/back-api/api/track-resource.ts @@ -23,27 +23,6 @@ import { export namespace TrackResource { - export function addTrack({ - restConfig, - params, - }: { - restConfig: RESTConfig, - params: { - artistId: Long, - id: Long, - }, - }): Promise { - return RESTRequestJson({ - restModel: { - endPoint: "/track/{id}/artist/{artistId}", - requestType: HTTPRequestModel.POST, - contentType: HTTPMimeType.MULTIPART, - accept: HTTPMimeType.JSON, - }, - restConfig, - params, - }, isTrack); - }; export function get({ restConfig, params, @@ -91,29 +70,6 @@ export namespace TrackResource { restConfig, }, isGetsTypeReturn); }; - export function patch({ - restConfig, - params, - data, - }: { - restConfig: RESTConfig, - params: { - id: Long, - }, - data: Partial, - }): Promise { - return RESTRequestJson({ - restModel: { - endPoint: "/track/{id}", - requestType: HTTPRequestModel.PATCH, - contentType: HTTPMimeType.JSON, - accept: HTTPMimeType.JSON, - }, - restConfig, - params, - data, - }, isTrack); - }; export function post({ restConfig, data, @@ -132,6 +88,29 @@ export namespace TrackResource { data, }, isTrack); }; + export function put({ + restConfig, + params, + data, + }: { + restConfig: RESTConfig, + params: { + id: Long, + }, + data: TrackUpdate, + }): Promise { + return RESTRequestJson({ + restModel: { + endPoint: "/track/{id}", + requestType: HTTPRequestModel.PUT, + contentType: HTTPMimeType.JSON, + accept: HTTPMimeType.JSON, + }, + restConfig, + params, + data, + }, isTrack); + }; export function remove({ restConfig, params, @@ -172,27 +151,6 @@ export namespace TrackResource { params, }, isTrack); }; - export function removeTrack({ - restConfig, - params, - }: { - restConfig: RESTConfig, - params: { - artistId: Long, - id: Long, - }, - }): Promise { - return RESTRequestJson({ - restModel: { - endPoint: "/track/{id}/artist/{trackId}", - requestType: HTTPRequestModel.DELETE, - contentType: HTTPMimeType.TEXT_PLAIN, - accept: HTTPMimeType.JSON, - }, - restConfig, - params, - }, isTrack); - }; export function uploadCover({ restConfig, params, diff --git a/front/src/back-api/model/album.ts b/front/src/back-api/model/album.ts index 97ec216..7eadb34 100644 --- a/front/src/back-api/model/album.ts +++ b/front/src/back-api/model/album.ts @@ -3,18 +3,18 @@ */ import { z as zod } from "zod"; +import {ZodIsoDate} from "./iso-date"; import {ZodObjectId} from "./object-id"; -import {ZodLocalDate} from "./local-date"; import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteUpdate , ZodGenericDataSoftDeleteCreate } from "./generic-data-soft-delete"; export const ZodAlbum = ZodGenericDataSoftDelete.extend({ - name: zod.string().optional(), - description: zod.string().optional(), + name: zod.string().min(1).max(256).optional(), + description: zod.string().max(8192).optional(), /** * List of Id of the specific covers */ - covers: zod.array(ZodObjectId).optional(), - publication: ZodLocalDate.optional(), + covers: zod.array(ZodObjectId).readonly().optional(), + publication: ZodIsoDate.optional(), }); @@ -30,13 +30,9 @@ export function isAlbum(data: any): data is Album { } } export const ZodAlbumUpdate = ZodGenericDataSoftDeleteUpdate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), - publication: ZodLocalDate.nullable().optional(), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), + publication: ZodIsoDate.nullable().optional(), }); @@ -52,13 +48,9 @@ export function isAlbumUpdate(data: any): data is AlbumUpdate { } } export const ZodAlbumCreate = ZodGenericDataSoftDeleteCreate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), - publication: ZodLocalDate.nullable().optional(), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), + publication: ZodIsoDate.nullable().optional(), }); diff --git a/front/src/back-api/model/artist.ts b/front/src/back-api/model/artist.ts index eb47067..ec01aac 100644 --- a/front/src/back-api/model/artist.ts +++ b/front/src/back-api/model/artist.ts @@ -3,21 +3,21 @@ */ import { z as zod } from "zod"; +import {ZodIsoDate} from "./iso-date"; import {ZodObjectId} from "./object-id"; -import {ZodLocalDate} from "./local-date"; import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteUpdate , ZodGenericDataSoftDeleteCreate } from "./generic-data-soft-delete"; export const ZodArtist = ZodGenericDataSoftDelete.extend({ - name: zod.string().optional(), - description: zod.string().optional(), + name: zod.string().min(1).max(256).optional(), + description: zod.string().max(8192).optional(), /** * List of Id of the specific covers */ - covers: zod.array(ZodObjectId).optional(), - firstName: zod.string().optional(), - surname: zod.string().optional(), - birth: ZodLocalDate.optional(), - death: ZodLocalDate.optional(), + covers: zod.array(ZodObjectId).readonly().optional(), + firstName: zod.string().min(1).max(256).optional(), + surname: zod.string().min(1).max(256).optional(), + birth: ZodIsoDate.optional(), + death: ZodIsoDate.optional(), }); @@ -33,16 +33,12 @@ export function isArtist(data: any): data is Artist { } } export const ZodArtistUpdate = ZodGenericDataSoftDeleteUpdate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), - firstName: zod.string().nullable().optional(), - surname: zod.string().nullable().optional(), - birth: ZodLocalDate.nullable().optional(), - death: ZodLocalDate.nullable().optional(), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), + firstName: zod.string().min(1).max(256).nullable().optional(), + surname: zod.string().min(1).max(256).nullable().optional(), + birth: ZodIsoDate.nullable().optional(), + death: ZodIsoDate.nullable().optional(), }); @@ -58,16 +54,12 @@ export function isArtistUpdate(data: any): data is ArtistUpdate { } } export const ZodArtistCreate = ZodGenericDataSoftDeleteCreate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), - firstName: zod.string().nullable().optional(), - surname: zod.string().nullable().optional(), - birth: ZodLocalDate.nullable().optional(), - death: ZodLocalDate.nullable().optional(), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), + firstName: zod.string().min(1).max(256).nullable().optional(), + surname: zod.string().min(1).max(256).nullable().optional(), + birth: ZodIsoDate.nullable().optional(), + death: ZodIsoDate.nullable().optional(), }); diff --git a/front/src/back-api/model/gender.ts b/front/src/back-api/model/gender.ts index f1dad8c..88fdc71 100644 --- a/front/src/back-api/model/gender.ts +++ b/front/src/back-api/model/gender.ts @@ -7,12 +7,12 @@ import {ZodObjectId} from "./object-id"; import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteUpdate , ZodGenericDataSoftDeleteCreate } from "./generic-data-soft-delete"; export const ZodGender = ZodGenericDataSoftDelete.extend({ - name: zod.string().optional(), - description: zod.string().optional(), + name: zod.string().min(1).max(256).optional(), + description: zod.string().max(8192).optional(), /** * List of Id of the specific covers */ - covers: zod.array(ZodObjectId).optional(), + covers: zod.array(ZodObjectId).readonly().optional(), }); @@ -28,12 +28,8 @@ export function isGender(data: any): data is Gender { } } export const ZodGenderUpdate = ZodGenericDataSoftDeleteUpdate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), }); @@ -49,12 +45,8 @@ export function isGenderUpdate(data: any): data is GenderUpdate { } } export const ZodGenderCreate = ZodGenericDataSoftDeleteCreate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), }); diff --git a/front/src/back-api/model/generic-data.ts b/front/src/back-api/model/generic-data.ts index 589f56f..aaf52a6 100644 --- a/front/src/back-api/model/generic-data.ts +++ b/front/src/back-api/model/generic-data.ts @@ -3,8 +3,8 @@ */ import { z as zod } from "zod"; -import {ZodLong} from "./long"; import {ZodGenericTiming, ZodGenericTimingUpdate , ZodGenericTimingCreate } from "./generic-timing"; +import {ZodLong} from "./long"; export const ZodGenericData = ZodGenericTiming.extend({ /** diff --git a/front/src/back-api/model/index.ts b/front/src/back-api/model/index.ts index 53c63b8..b0b292f 100644 --- a/front/src/back-api/model/index.ts +++ b/front/src/back-api/model/index.ts @@ -13,10 +13,10 @@ export * from "./iso-date" export * from "./jwt-header" export * from "./jwt-payload" export * from "./jwt-token" -export * from "./local-date" export * from "./long" export * from "./object-id" export * from "./part-right" +export * from "./part-right" export * from "./playlist" export * from "./rest-error-response" export * from "./rest-input-error" diff --git a/front/src/back-api/model/jwt-token.ts b/front/src/back-api/model/jwt-token.ts index 5f9c974..0a35d77 100644 --- a/front/src/back-api/model/jwt-token.ts +++ b/front/src/back-api/model/jwt-token.ts @@ -3,8 +3,8 @@ */ import { z as zod } from "zod"; -import {ZodJwtHeader} from "./jwt-header"; import {ZodJwtPayload} from "./jwt-payload"; +import {ZodJwtHeader} from "./jwt-header"; export const ZodJwtToken = zod.object({ header: ZodJwtHeader, diff --git a/front/src/back-api/model/part-right.ts b/front/src/back-api/model/part-right.ts index 2a50447..afe69e9 100644 --- a/front/src/back-api/model/part-right.ts +++ b/front/src/back-api/model/part-right.ts @@ -6,6 +6,7 @@ import { z as zod } from "zod"; export enum PartRight { READ = 1, + NONE = 0, WRITE = 2, READ_WRITE = 3, }; diff --git a/front/src/back-api/model/playlist.ts b/front/src/back-api/model/playlist.ts index 196da11..beb8d2a 100644 --- a/front/src/back-api/model/playlist.ts +++ b/front/src/back-api/model/playlist.ts @@ -3,17 +3,18 @@ */ import { z as zod } from "zod"; +import {ZodLong} from "./long"; import {ZodObjectId} from "./object-id"; import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteUpdate , ZodGenericDataSoftDeleteCreate } from "./generic-data-soft-delete"; export const ZodPlaylist = ZodGenericDataSoftDelete.extend({ - name: zod.string().optional(), - description: zod.string().optional(), + name: zod.string().min(1).max(256).optional(), + description: zod.string().max(8192).optional(), /** * List of Id of the specific covers */ - covers: zod.array(ZodObjectId).optional(), - tracks: zod.array(ZodObjectId), + covers: zod.array(ZodObjectId).readonly().optional(), + tracks: zod.array(ZodLong), }); @@ -29,13 +30,9 @@ export function isPlaylist(data: any): data is Playlist { } } export const ZodPlaylistUpdate = ZodGenericDataSoftDeleteUpdate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), - tracks: zod.array(ZodObjectId), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), + tracks: zod.array(ZodLong), }); @@ -51,13 +48,9 @@ export function isPlaylistUpdate(data: any): data is PlaylistUpdate { } } export const ZodPlaylistCreate = ZodGenericDataSoftDeleteCreate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), - tracks: zod.array(ZodObjectId), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), + tracks: zod.array(ZodLong), }); diff --git a/front/src/back-api/model/rest-error-response.ts b/front/src/back-api/model/rest-error-response.ts index a94e5af..b4cf789 100644 --- a/front/src/back-api/model/rest-error-response.ts +++ b/front/src/back-api/model/rest-error-response.ts @@ -3,9 +3,9 @@ */ import { z as zod } from "zod"; -import {ZodObjectId} from "./object-id"; -import {ZodInteger} from "./integer"; import {ZodRestInputError} from "./rest-input-error"; +import {ZodInteger} from "./integer"; +import {ZodObjectId} from "./object-id"; export const ZodRestErrorResponse = zod.object({ oid: ZodObjectId.optional(), diff --git a/front/src/back-api/model/track.ts b/front/src/back-api/model/track.ts index 7347c2d..5571f4f 100644 --- a/front/src/back-api/model/track.ts +++ b/front/src/back-api/model/track.ts @@ -3,17 +3,17 @@ */ import { z as zod } from "zod"; -import {ZodObjectId} from "./object-id"; import {ZodLong} from "./long"; +import {ZodObjectId} from "./object-id"; import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteUpdate , ZodGenericDataSoftDeleteCreate } from "./generic-data-soft-delete"; export const ZodTrack = ZodGenericDataSoftDelete.extend({ - name: zod.string().optional(), - description: zod.string().optional(), + name: zod.string().min(1).max(256).optional(), + description: zod.string().max(8192).optional(), /** * List of Id of the specific covers */ - covers: zod.array(ZodObjectId).optional(), + covers: zod.array(ZodObjectId).readonly().optional(), genderId: ZodLong.optional(), albumId: ZodLong.optional(), track: ZodLong.optional(), @@ -34,12 +34,8 @@ export function isTrack(data: any): data is Track { } } export const ZodTrackUpdate = ZodGenericDataSoftDeleteUpdate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), genderId: ZodLong.nullable().optional(), albumId: ZodLong.nullable().optional(), track: ZodLong.nullable().optional(), @@ -60,12 +56,8 @@ export function isTrackUpdate(data: any): data is TrackUpdate { } } export const ZodTrackCreate = ZodGenericDataSoftDeleteCreate.extend({ - name: zod.string().nullable().optional(), - description: zod.string().nullable().optional(), - /** - * List of Id of the specific covers - */ - covers: zod.array(ZodObjectId).nullable().optional(), + name: zod.string().min(1).max(256).nullable().optional(), + description: zod.string().max(8192).nullable().optional(), genderId: ZodLong.nullable().optional(), albumId: ZodLong.nullable().optional(), track: ZodLong.nullable().optional(), diff --git a/front/src/back-api/model/user.ts b/front/src/back-api/model/user.ts index 6bcc73c..98c453f 100644 --- a/front/src/back-api/model/user.ts +++ b/front/src/back-api/model/user.ts @@ -3,8 +3,8 @@ */ import { z as zod } from "zod"; -import {ZodTimestamp} from "./timestamp"; import {ZodUUID} from "./uuid"; +import {ZodTimestamp} from "./timestamp"; import {ZodGenericDataSoftDelete, ZodGenericDataSoftDeleteUpdate , ZodGenericDataSoftDeleteCreate } from "./generic-data-soft-delete"; export const ZodUser = ZodGenericDataSoftDelete.extend({ diff --git a/front/src/components/Cover.tsx b/front/src/components/Cover.tsx index 5bff6da..221fdb7 100644 --- a/front/src/components/Cover.tsx +++ b/front/src/components/Cover.tsx @@ -1,7 +1,6 @@ import { ReactElement, useEffect, useState } from 'react'; -import { Box, BoxProps, Flex, FlexProps } from '@chakra-ui/react'; -import { Image } from '@chakra-ui/react'; +import { Box, BoxProps, Flex, Image } from '@chakra-ui/react'; import { ObjectId } from '@/back-api'; import { DataUrlAccess } from '@/utils/data-url-access'; @@ -9,7 +8,7 @@ import { DataUrlAccess } from '@/utils/data-url-access'; import { Icon } from './Icon'; export type CoversProps = Omit & { - data?: ObjectId[]; + data?: readonly ObjectId[]; size?: BoxProps['width']; iconEmpty?: ReactElement; slideshow?: boolean; diff --git a/front/src/components/TopBar/TopBar.tsx b/front/src/components/TopBar/TopBar.tsx index 655fcdb..95b25f7 100644 --- a/front/src/components/TopBar/TopBar.tsx +++ b/front/src/components/TopBar/TopBar.tsx @@ -47,6 +47,7 @@ import { MenuRoot, MenuTrigger, } from '@/components/ui/menu'; +import { environment } from '@/environment'; import { useServiceContext } from '@/service/ServiceContext'; import { useSessionService } from '@/service/session'; import { colors } from '@/theme/colors'; diff --git a/front/src/components/popup/AlbumEditPopUp.tsx b/front/src/components/popup/AlbumEditPopUp.tsx index c7a668c..c78ac06 100644 --- a/front/src/components/popup/AlbumEditPopUp.tsx +++ b/front/src/components/popup/AlbumEditPopUp.tsx @@ -9,7 +9,7 @@ import { } from 'react-icons/md'; import { useNavigate, useParams } from 'react-router-dom'; -import { AlbumResource, AlbumUpdate } from '@/back-api'; +import { AlbumResource, AlbumUpdate, ZodAlbumUpdate } from '@/back-api'; import { FormCovers } from '@/components/form/FormCovers'; import { FormGroupShow } from '@/components/form/FormGroup'; import { FormInput } from '@/components/form/FormInput'; @@ -68,15 +68,15 @@ export const AlbumEditPopUp = ({}: AlbumEditPopUpProps) => { initialValues: dataAlbum, deltaConfig: { omit: ['covers'] }, }); - const onSave = async (deltaData: Partial) => { + const onSave = async (delta: AlbumUpdate) => { if (isNullOrUndefined(albumIdInt)) { return; } - console.log(`onSave = ${JSON.stringify(deltaData, null, 2)}`); + console.log(`onSave = ${JSON.stringify(delta, null, 2)}`); store.update( - AlbumResource.patch({ + AlbumResource.put({ restConfig: session.getRestConfig(), - data: deltaData, + data: ZodAlbumUpdate.parse(delta), params: { id: albumIdInt, }, @@ -147,7 +147,7 @@ export const AlbumEditPopUp = ({}: AlbumEditPopUpProps) => { data-testid="album-edit-pop-up" > - + Edit Album {/* */} diff --git a/front/src/components/popup/ArtistEditPopUp.tsx b/front/src/components/popup/ArtistEditPopUp.tsx index be63606..6aa2fe8 100644 --- a/front/src/components/popup/ArtistEditPopUp.tsx +++ b/front/src/components/popup/ArtistEditPopUp.tsx @@ -9,7 +9,7 @@ import { } from 'react-icons/md'; import { useNavigate, useParams } from 'react-router-dom'; -import { ArtistResource, ArtistUpdate } from '@/back-api'; +import { ArtistResource, ArtistUpdate, ZodArtistUpdate } from '@/back-api'; import { FormCovers } from '@/components/form/FormCovers'; import { FormInput } from '@/components/form/FormInput'; import { FormTextarea } from '@/components/form/FormTextarea'; @@ -67,15 +67,15 @@ export const ArtistEditPopUp = ({}: ArtistEditPopUpProps) => { initialValues: dataArtist, deltaConfig: { omit: ['covers'] }, }); - const onSave = async (dataDelta: Partial) => { + const onSave = async (data: ArtistUpdate) => { if (isNullOrUndefined(artistIdInt)) { return; } - console.log(`onSave = ${JSON.stringify(dataDelta, null, 2)}`); + console.log(`onSave = ${JSON.stringify(data, null, 2)}`); store.update( - ArtistResource.patch({ + ArtistResource.put({ restConfig: session.getRestConfig(), - data: dataDelta, + data: ZodArtistUpdate.parse(data), params: { id: artistIdInt, }, @@ -146,7 +146,7 @@ export const ArtistEditPopUp = ({}: ArtistEditPopUpProps) => { > {/* */} - + Edit Artist {/* */} diff --git a/front/src/components/popup/GenderEditPopUp.tsx b/front/src/components/popup/GenderEditPopUp.tsx index 8f7cc31..b41db25 100644 --- a/front/src/components/popup/GenderEditPopUp.tsx +++ b/front/src/components/popup/GenderEditPopUp.tsx @@ -9,7 +9,7 @@ import { } from 'react-icons/md'; import { useNavigate, useParams } from 'react-router-dom'; -import { GenderResource, GenderUpdate } from '@/back-api'; +import { GenderResource, GenderUpdate, ZodGenderUpdate } from '@/back-api'; import { FormCovers } from '@/components/form/FormCovers'; import { FormInput } from '@/components/form/FormInput'; import { FormTextarea } from '@/components/form/FormTextarea'; @@ -67,15 +67,15 @@ export const GenderEditPopUp = ({}: GenderEditPopUpProps) => { initialValues: dataGender, deltaConfig: { omit: ['covers'] }, }); - const onSave = async (dataDelta: Partial) => { + const onSave = async (data: GenderUpdate) => { if (isNullOrUndefined(genderIdInt)) { return; } - console.log(`onSave = ${JSON.stringify(dataDelta, null, 2)}`); + console.log(`onSave = ${JSON.stringify(data, null, 2)}`); store.update( GenderResource.patch({ restConfig: session.getRestConfig(), - data: dataDelta, + data: ZodGenderUpdate.parse(data), params: { id: genderIdInt, }, @@ -145,7 +145,7 @@ export const GenderEditPopUp = ({}: GenderEditPopUpProps) => { > {/* */} - + Edit Gender {/* */} diff --git a/front/src/components/popup/TrackEditPopUp.tsx b/front/src/components/popup/TrackEditPopUp.tsx index b8107ec..ab8c8a9 100644 --- a/front/src/components/popup/TrackEditPopUp.tsx +++ b/front/src/components/popup/TrackEditPopUp.tsx @@ -4,7 +4,7 @@ import { Button, Text, useDisclosure } from '@chakra-ui/react'; import { MdAdminPanelSettings, MdDeleteForever, MdEdit } from 'react-icons/md'; import { useNavigate, useParams } from 'react-router-dom'; -import { TrackResource, TrackUpdate } from '@/back-api'; +import { TrackResource, TrackUpdate, ZodTrackUpdate } from '@/back-api'; import { FormGroupShow } from '@/components/form/FormGroup'; import { FormInput } from '@/components/form/FormInput'; import { FormNumber } from '@/components/form/FormNumber'; @@ -68,15 +68,20 @@ export const TrackEditPopUp = ({}: TrackEditPopUpProps) => { initialValues: dataTrack, deltaConfig: { omit: ['covers'] }, }); - const onSave = async (dataDelta: Partial) => { + const onSave = async (data: TrackUpdate) => { if (isNullOrUndefined(trackIdInt)) { return; } - console.log(`onSave = ${JSON.stringify(dataDelta, null, 2)}`); + console.log(`onSave = ${JSON.stringify(data, null, 2)}`); + const { track, ...rest } = data; + let trackNumber: undefined | number = undefined; + if (track !== undefined && track !== null) { + trackNumber = parseInt(`${track}`, 10); + } store.update( - TrackResource.patch({ + TrackResource.put({ restConfig: session.getRestConfig(), - data: dataDelta, + data: ZodTrackUpdate.parse({ track: trackNumber, ...rest }), params: { id: trackIdInt, }, @@ -94,7 +99,7 @@ export const TrackEditPopUp = ({}: TrackEditPopUpProps) => { > {/* */} - + Edit Track {/* */} diff --git a/front/src/environment.ts b/front/src/environment.ts index c15ee4d..0a0c886 100644 --- a/front/src/environment.ts +++ b/front/src/environment.ts @@ -45,7 +45,7 @@ const environment_local: Environment = { ssoSignUp: `${serverSSOAddress}/karso/signup/karusic-dev/`, ssoSignOut: `${serverSSOAddress}/karso/signout/karusic-dev/`, tokenStoredInPermanentStorage: false, - replaceDataToRealServer: true, + //replaceDataToRealServer: true, }; /** @@ -60,7 +60,6 @@ export const environment = isDevelopmentEnvironment() ? environment_local : environment_back_prod; - /** * get the current REST api URL. Depend on the VITE_API_BASE_URL env variable. * @returns The URL with http(s)://*** diff --git a/front/src/service/ServiceContext.tsx b/front/src/service/ServiceContext.tsx index 277b9a1..6b50b82 100644 --- a/front/src/service/ServiceContext.tsx +++ b/front/src/service/ServiceContext.tsx @@ -10,7 +10,7 @@ import { ArtistServiceProps, useArtistServiceWrapped } from '@/service/Artist'; import { useGenderServiceWrapped } from '@/service/Gender'; import { TrackServiceProps, useTrackServiceWrapped } from '@/service/Track'; import { - RightPart, + RightGroup, SessionServiceProps, getRestConfig, useSessionServiceWrapped, @@ -62,8 +62,8 @@ export const ServiceContext = createContext({ errorSession: undefined, setToken: (token: string) => {}, clearToken: () => {}, - hasReadRight: (part: RightPart) => false, - hasWriteRight: (part: RightPart) => false, + hasReadRight: (part: RightGroup) => false, + hasWriteRight: (part: RightGroup) => false, getRestConfig: getRestConfig, }, track: {