From bc92cf1fc2a18cb0c85c9e3158e4c55198f50abb Mon Sep 17 00:00:00 2001 From: Thomas Eizinger Date: Wed, 8 Dec 2021 15:51:06 +1100 Subject: [PATCH 1/6] Introduce a supervisor actor that can restart another actor --- Cargo.lock | 2 +- daemon/src/bitmex_price_feed.rs | 93 ++++++++++++++++----------------- daemon/src/lib.rs | 1 + daemon/src/maker.rs | 15 +++--- daemon/src/supervisor.rs | 90 +++++++++++++++++++++++++++++++ daemon/src/taker.rs | 15 +++--- 6 files changed, 151 insertions(+), 65 deletions(-) create mode 100644 daemon/src/supervisor.rs diff --git a/Cargo.lock b/Cargo.lock index 9418fa3..52782a1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3841,7 +3841,7 @@ dependencies = [ [[package]] name = "xtra_productivity" version = "0.1.0" -source = "git+https://github.com/comit-network/xtra-productivity#ee789b130f2d20b38f57434fe6ed18c4fdf1db4a" +source = "git+https://github.com/comit-network/xtra-productivity#52492681bb260a5789162e70cb5067994f051360" dependencies = [ "quote", "syn", diff --git a/daemon/src/bitmex_price_feed.rs b/daemon/src/bitmex_price_feed.rs index 4f569a7..d0d5115 100644 --- a/daemon/src/bitmex_price_feed.rs +++ b/daemon/src/bitmex_price_feed.rs @@ -1,6 +1,7 @@ use crate::model::{Price, Timestamp}; -use crate::{projection, Tasks}; +use crate::{projection, supervisor, Tasks}; use anyhow::Result; +use async_trait::async_trait; use futures::{SinkExt, TryStreamExt}; use rust_decimal::Decimal; use std::convert::TryFrom; @@ -14,49 +15,43 @@ const URL: &str = "wss://www.bitmex.com/realtime?subscribe=quoteBin1m:XBTUSD"; pub struct Actor { tasks: Tasks, receiver: Box>>, + supervisor: xtra::Address>, } impl Actor { - pub fn new(receiver: impl MessageChannel> + 'static) -> Self { + pub fn new( + receiver: impl MessageChannel> + 'static, + supervisor: xtra::Address>, + ) -> Self { Self { tasks: Tasks::default(), receiver: Box::new(receiver), + supervisor, } } } -impl xtra::Actor for Actor {} - -#[xtra_productivity] -impl Actor { - async fn handle(&mut self, msg: NotifyNoConnection, ctx: &mut xtra::Context) { - match msg { - NotifyNoConnection::Failed { error } => { - tracing::warn!("Connection to BitMex realtime API failed: {}", error) - } - NotifyNoConnection::StreamEnded => { - tracing::warn!("Connection to BitMex realtime API closed") - } - } - - let this = ctx.address().expect("we are alive"); - - self.tasks.add(connect_until_successful(this)); - } - - async fn handle(&mut self, _: Connect, ctx: &mut xtra::Context) -> Result<()> { - tracing::debug!("Connecting to BitMex realtime API"); +#[async_trait] +impl xtra::Actor for Actor { + async fn started(&mut self, ctx: &mut xtra::Context) { + self.tasks.add({ + let this = ctx.address().expect("we are alive"); + let receiver = self.receiver.clone_channel(); - let (mut connection, _) = tokio_tungstenite::connect_async(URL).await?; + async move { + tracing::debug!("Connecting to BitMex realtime API"); - tracing::info!("Connected to BitMex realtime API"); + let mut connection = match tokio_tungstenite::connect_async(URL).await { + Ok((connection, _)) => connection, + Err(e) => { + let _ = this.send(StopReason::FailedToConnect { source: e }).await; + return + } + }; - let this = ctx.address().expect("we are alive"); + tracing::info!("Connected to BitMex realtime API"); - self.tasks.add({ - let receiver = self.receiver.clone_channel(); - async move { - let no_connection = loop { + loop { tokio::select! { _ = tokio::time::sleep(Duration::from_secs(5)) => { tracing::trace!("No message from BitMex in the last 5 seconds, pinging"); @@ -89,38 +84,40 @@ impl Actor { continue; } Ok(None) => { - break NotifyNoConnection::StreamEnded + let _ = this.send(StopReason::StreamEnded).await; + return; } Err(e) => { - break NotifyNoConnection::Failed { error: e } + let _ = this.send(StopReason::Failed { source: e }).await; + return; } } }, } - }; - - let _ = this.send(no_connection).await; + } } }); - - Ok(()) } } -async fn connect_until_successful(this: xtra::Address) { - while let Err(e) = this - .send(Connect) - .await - .expect("always connected to ourselves") - { - tracing::warn!("Failed to connect to BitMex realtime API: {:#}", e); +#[xtra_productivity] +impl Actor { + async fn handle(&mut self, msg: StopReason, ctx: &mut xtra::Context) { + let _ = self + .supervisor + .send(supervisor::Stopped { reason: msg }) + .await; + ctx.stop(); } } -pub struct Connect; - -enum NotifyNoConnection { - Failed { error: tungstenite::Error }, +#[derive(thiserror::Error, Debug)] +pub enum StopReason { + #[error("Connection to BitMex API failed")] + Failed { source: tungstenite::Error }, + #[error("Failed to connect to BitMex API")] + FailedToConnect { source: tungstenite::Error }, + #[error("Websocket stream to BitMex API closed")] StreamEnded, } diff --git a/daemon/src/lib.rs b/daemon/src/lib.rs index e0c5d97..6f03456 100644 --- a/daemon/src/lib.rs +++ b/daemon/src/lib.rs @@ -49,6 +49,7 @@ pub mod send_to_socket; pub mod setup_contract; pub mod setup_maker; pub mod setup_taker; +pub mod supervisor; pub mod taker_cfd; pub mod to_sse_event; pub mod tokio_ext; diff --git a/daemon/src/maker.rs b/daemon/src/maker.rs index 378a5d0..a70aa1d 100644 --- a/daemon/src/maker.rs +++ b/daemon/src/maker.rs @@ -8,7 +8,7 @@ use daemon::model::cfd::Role; use daemon::seed::Seed; use daemon::{ bitmex_price_feed, db, housekeeping, logger, maker_inc_connections, monitor, oracle, - projection, wallet, MakerActorSystem, Tasks, HEARTBEAT_INTERVAL, N_PAYOUTS, + projection, supervisor, wallet, MakerActorSystem, Tasks, HEARTBEAT_INTERVAL, N_PAYOUTS, SETTLEMENT_INTERVAL, }; use sqlx::sqlite::SqliteConnectOptions; @@ -257,14 +257,13 @@ async fn main() -> Result<()> { ) .await?; - let (price_feed_address, task) = bitmex_price_feed::Actor::new(projection_actor) - .create(None) - .run(); - tasks.add(task); + let (supervisor, _price_feed) = supervisor::Actor::new( + move |supervisor| bitmex_price_feed::Actor::new(projection_actor.clone(), supervisor), + |_| true, // always restart price feed actor + ); - price_feed_address - .send(bitmex_price_feed::Connect) - .await??; + let (_supervisor_address, task) = supervisor.create(None).run(); + tasks.add(task); let (proj_actor, projection_feeds) = projection::Actor::new(db.clone(), Role::Maker, bitcoin_network).await?; diff --git a/daemon/src/supervisor.rs b/daemon/src/supervisor.rs new file mode 100644 index 0000000..71783d3 --- /dev/null +++ b/daemon/src/supervisor.rs @@ -0,0 +1,90 @@ +use crate::Tasks; +use async_trait::async_trait; +use std::fmt; +use xtra::{Address, Context}; +use xtra_productivity::xtra_productivity; + +/// A supervising actor reacts to messages from the actor it is supervising and restarts it based on +/// a given policy. +pub struct Actor { + context: Context, + ctor: Box) -> T + Send + 'static>, + tasks: Tasks, + restart_policy: Box bool + Send + 'static>, +} + +impl Actor +where + T: xtra::Actor, + R: fmt::Display + 'static, +{ + /// Construct a new supervisor. + /// + /// The supervisor needs to know two things: + /// 1. How to construct an instance of the actor. + /// 2. When to construct an instance of the actor. + pub fn new( + ctor: impl (Fn(Address) -> T) + Send + 'static, + restart_policy: impl (FnMut(R) -> bool) + Send + 'static, + ) -> (Self, Address) { + let (address, context) = Context::new(None); + + let supervisor = Self { + context, + ctor: Box::new(ctor), + tasks: Tasks::default(), + restart_policy: Box::new(restart_policy), + }; + + (supervisor, address) + } + + fn spawn_new(&mut self, ctx: &mut Context) { + tracing::info!("Spawning new instance of actor"); // TODO: Include name + + let this = ctx.address().expect("we are alive"); + let actor = (self.ctor)(this); + + self.tasks.add(self.context.attach(actor)); + } +} + +#[async_trait] +impl xtra::Actor for Actor +where + T: xtra::Actor, + R: fmt::Display + 'static, +{ + async fn started(&mut self, ctx: &mut Context) { + self.spawn_new(ctx); + } +} + +#[xtra_productivity] +impl Actor +where + T: xtra::Actor, + R: fmt::Display + 'static, +{ + pub fn handle(&mut self, msg: Stopped, ctx: &mut Context) { + let reason = msg.reason; + + tracing::info!("Actor stopped: {}", reason); // TODO: Include name of actor + + let should_restart = (self.restart_policy)(reason); + + tracing::debug!("Restart actor? {}", should_restart); + + if should_restart { + self.spawn_new(ctx) + } + } +} + +/// Tell the supervisor that the actor was stopped. +/// +/// The given `reason` will be passed to the `restart_policy` configured in the supervisor. If it +/// yields `true`, a new instance of the actor will be spawned. +pub struct Stopped { + pub reason: R, +} diff --git a/daemon/src/taker.rs b/daemon/src/taker.rs index cba7380..78851f9 100644 --- a/daemon/src/taker.rs +++ b/daemon/src/taker.rs @@ -8,7 +8,7 @@ use daemon::model::cfd::Role; use daemon::model::Identity; use daemon::seed::Seed; use daemon::{ - bitmex_price_feed, db, housekeeping, logger, monitor, oracle, projection, wallet, + bitmex_price_feed, db, housekeeping, logger, monitor, oracle, projection, supervisor, wallet, TakerActorSystem, Tasks, HEARTBEAT_INTERVAL, N_PAYOUTS, SETTLEMENT_INTERVAL, }; use sqlx::sqlite::SqliteConnectOptions; @@ -241,14 +241,13 @@ async fn main() -> Result<()> { ) .await?; - let (price_feed_address, task) = bitmex_price_feed::Actor::new(projection_actor) - .create(None) - .run(); - tasks.add(task); + let (supervisor, _price_feed) = supervisor::Actor::new( + move |supervisor| bitmex_price_feed::Actor::new(projection_actor.clone(), supervisor), + |_| true, // always restart price feed actor + ); - price_feed_address - .send(bitmex_price_feed::Connect) - .await??; + let (_supervisor_address, task) = supervisor.create(None).run(); + tasks.add(task); let (proj_actor, projection_feeds) = projection::Actor::new(db.clone(), Role::Taker, bitcoin_network).await?; From 82dea7171387afb4ef6e5e72de4bba1043a657d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Dec 2021 10:23:56 +0000 Subject: [PATCH 2/6] Bump vergen from 5.2.0 to 6.0.0 Bumps [vergen](https://github.com/rustyhorde/vergen) from 5.2.0 to 6.0.0. - [Release notes](https://github.com/rustyhorde/vergen/releases) - [Commits](https://github.com/rustyhorde/vergen/compare/5.2.0...6.0.0) --- updated-dependencies: - dependency-name: vergen dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- Cargo.lock | 4 ++-- daemon/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3677852..08d46d8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3570,9 +3570,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vergen" -version = "5.2.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a21b1fc04977357c3a6187a56ebd91ab60b98328956c1dda501f4e04c7afcb" +checksum = "fd0c9f8387e118573859ae0e6c6fbdfa41bd1f4fbea451b0b8c5a81a3b8bc9e0" dependencies = [ "anyhow", "cfg-if 1.0.0", diff --git a/daemon/Cargo.toml b/daemon/Cargo.toml index cebc86c..940264f 100644 --- a/daemon/Cargo.toml +++ b/daemon/Cargo.toml @@ -65,5 +65,5 @@ serde_test = "1" time = { version = "0.3", features = ["std"] } [build-dependencies] -vergen = "5" +vergen = "6" anyhow = "1" From 5eb1c1004aa6c7bcdbbe3662ec7dd68b17452ddb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Dec 2021 10:24:07 +0000 Subject: [PATCH 3/6] Bump clap from 3.0.0-rc.1 to 3.0.0-rc.3 Bumps [clap](https://github.com/clap-rs/clap) from 3.0.0-rc.1 to 3.0.0-rc.3. - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/clap_generate-v3.0.0-rc.1...clap_generate-v3.0.0-rc.3) --- updated-dependencies: - dependency-name: clap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Cargo.lock | 8 ++++---- daemon/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3677852..df9fa92 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -425,9 +425,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.0.0-rc.1" +version = "3.0.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c068998524e6d40ea78c8d2a4b00398f0a8b818c2d484bcb3cbeb2cff2c105ae" +checksum = "098d281b47bf725a0bddd829e0070ee76560faab8af123050a86c440d7f0a1fd" dependencies = [ "atty", "bitflags", @@ -442,9 +442,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "3.0.0-rc.1" +version = "3.0.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0152ba3ee01fa5a9133d4e15a1d9659c75d2270365768dd5a880cc7e68871874" +checksum = "26de8102ffb96701066cea36f9a104285b67fbcc302a520640289d476c15ed8a" dependencies = [ "heck", "proc-macro-error", diff --git a/daemon/Cargo.toml b/daemon/Cargo.toml index cebc86c..6d1b114 100644 --- a/daemon/Cargo.toml +++ b/daemon/Cargo.toml @@ -10,7 +10,7 @@ atty = "0.2" bdk = { version = "0.14.1-dev", default-features = false, features = ["electrum"] } bytes = "1" chrono = { version = "0.4", features = ["serde"] } -clap = { version = "3.0.0-rc.1", features = ["derive"] } +clap = { version = "3.0.0-rc.3", features = ["derive"] } derive_more = { version = "0.99.17", default-features = false, features = ["display"] } futures = { version = "0.3", default-features = false } hex = "0.4" From c4491051b4d8101c7d2b43307713fbc427e3c17d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Dec 2021 10:24:28 +0000 Subject: [PATCH 4/6] Bump async-trait from 0.1.51 to 0.1.52 Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.51 to 0.1.52. - [Release notes](https://github.com/dtolnay/async-trait/releases) - [Commits](https://github.com/dtolnay/async-trait/compare/0.1.51...0.1.52) --- updated-dependencies: - dependency-name: async-trait dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Cargo.lock | 4 ++-- daemon/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3677852..d1f1411 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -119,9 +119,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.51" +version = "0.1.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" +checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3" dependencies = [ "proc-macro2", "quote", diff --git a/daemon/Cargo.toml b/daemon/Cargo.toml index cebc86c..3be69d1 100644 --- a/daemon/Cargo.toml +++ b/daemon/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" [dependencies] anyhow = "1" -async-trait = "0.1.51" +async-trait = "0.1.52" atty = "0.2" bdk = { version = "0.14.1-dev", default-features = false, features = ["electrum"] } bytes = "1" From 343d27ee36c86cc98052cd7b7627da306d28f3bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Dec 2021 10:28:44 +0000 Subject: [PATCH 5/6] Bump typescript from 4.5.2 to 4.5.3 in /taker-frontend Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.5.2 to 4.5.3. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/commits) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- taker-frontend/package.json | 4 ++-- taker-frontend/yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/taker-frontend/package.json b/taker-frontend/package.json index e0b375e..356c0e5 100644 --- a/taker-frontend/package.json +++ b/taker-frontend/package.json @@ -32,7 +32,7 @@ "react-scripts": "4.0.3", "react-sse-hooks": "^1.0.5", "react-use-websocket": "^2.9.1", - "typescript": "^4.5.2", + "typescript": "^4.5.3", "vite": "^2.7.1", "web-vitals": "^2.1.2" }, @@ -45,7 +45,7 @@ "@types/react": "^17.0.37", "@types/react-dom": "^17.0.11", "@vitejs/plugin-react-refresh": "^1.3.1", - "typescript": "^4.5.2", + "typescript": "^4.5.3", "vite": "^2.7.1" }, "eslintConfig": { diff --git a/taker-frontend/yarn.lock b/taker-frontend/yarn.lock index 77c1c82..04c8870 100644 --- a/taker-frontend/yarn.lock +++ b/taker-frontend/yarn.lock @@ -12453,10 +12453,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" - integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== +typescript@^4.5.3: + version "4.5.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.3.tgz#afaa858e68c7103317d89eb90c5d8906268d353c" + integrity sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ== unbox-primitive@^1.0.1: version "1.0.1" From 2f345334eccef54b7af2191b38addb0c7177ba68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Dec 2021 10:29:47 +0000 Subject: [PATCH 6/6] Bump @chakra-ui/react from 1.7.2 to 1.7.3 in /taker-frontend Bumps [@chakra-ui/react](https://github.com/chakra-ui/chakra-ui/tree/HEAD/packages/react) from 1.7.2 to 1.7.3. - [Release notes](https://github.com/chakra-ui/chakra-ui/releases) - [Changelog](https://github.com/chakra-ui/chakra-ui/blob/main/packages/react/CHANGELOG.md) - [Commits](https://github.com/chakra-ui/chakra-ui/commits/@chakra-ui/menu@1.7.3/packages/react) --- updated-dependencies: - dependency-name: "@chakra-ui/react" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- taker-frontend/package.json | 2 +- taker-frontend/yarn.lock | 307 ++++++++++++++++++------------------ 2 files changed, 158 insertions(+), 151 deletions(-) diff --git a/taker-frontend/package.json b/taker-frontend/package.json index e0b375e..d3c1d14 100644 --- a/taker-frontend/package.json +++ b/taker-frontend/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@chakra-ui/icons": "^1.1.1", - "@chakra-ui/react": "^1.7.2", + "@chakra-ui/react": "^1.7.3", "@emotion/react": "^11", "@emotion/styled": "^11", "@testing-library/jest-dom": "^5.16.1", diff --git a/taker-frontend/yarn.lock b/taker-frontend/yarn.lock index 77c1c82..b605e24 100644 --- a/taker-frontend/yarn.lock +++ b/taker-frontend/yarn.lock @@ -1231,24 +1231,24 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@chakra-ui/accordion@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-1.4.1.tgz#bd5373dcfd11572e5e2c535eca51aee4fc24c828" - integrity sha512-/E0FW5YHNVD6WwMGiuQuXpA70P2CKAV+MzcMITnSGPWsh9XD0mcXvMkIALVojfFk9tcCFdIGnxX/HWr41LzgIg== +"@chakra-ui/accordion@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-1.4.2.tgz#e851d5e0f748646e20efde909b5f70a93679283b" + integrity sha512-BAGMvcm2sFE5Ft7jwC9nF03/Yv7qztuhzwKBBy4iL0p1nCPh6kV54RBXUcoj3VWe+yrmNiAVYKRTdqQBTJFwOw== dependencies: "@chakra-ui/descendant" "2.1.1" "@chakra-ui/hooks" "1.7.1" - "@chakra-ui/icon" "1.2.1" + "@chakra-ui/icon" "2.0.0" "@chakra-ui/react-utils" "1.2.1" - "@chakra-ui/transition" "1.4.1" + "@chakra-ui/transition" "1.4.2" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/alert@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/alert/-/alert-1.3.1.tgz#d091b36ee4a7e3684220cd6f86fd2e08ca71cb2a" - integrity sha512-BeR6l/1CLZarA3uAe+5Q3hioYf7SixYfy9rOte/29ck1lx9PLjjuPYYmuDPtZNbGibhUCh48z4U/uK2x8mbpKQ== +"@chakra-ui/alert@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/alert/-/alert-1.3.2.tgz#6c038b0bd58f3964e0a3af213c162c108176a8b0" + integrity sha512-+OMeVeGtydpj6nry0zH7qFDt36zEaxckRnufx1BGiCfWdUg6ahVwKXl8qX93Q8w82od7eAoBKMgGJz7IVL5NPw== dependencies: - "@chakra-ui/icon" "1.2.1" + "@chakra-ui/icon" "2.0.0" "@chakra-ui/react-utils" "1.2.1" "@chakra-ui/utils" "1.9.1" @@ -1304,12 +1304,12 @@ "@chakra-ui/react-utils" "1.2.1" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/close-button@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/close-button/-/close-button-1.2.1.tgz#1109665e73cddcb643bd66e208b2aac75e8af40f" - integrity sha512-A/cuFtJPF8rp5p6tCIGlQdHB89gLCSOzxWssoTXAGJnmlwY2YunFHxgkYZXwPbDqFrM8ndya7Ys+AuL1JZsa3g== +"@chakra-ui/close-button@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/close-button/-/close-button-1.2.2.tgz#43e91b34d51f75dc08ff9a56cbfc7ed5ad158b8a" + integrity sha512-SqeLib0qgMjK3OsO1g5OnAHUmdCC8GMjToNEea7TeSrA44bH9EXVhFTkMMu2PnDVHbQmi4Ee1cuulNJt0UhQ3g== dependencies: - "@chakra-ui/icon" "1.2.1" + "@chakra-ui/icon" "2.0.0" "@chakra-ui/utils" "1.9.1" "@chakra-ui/color-mode@1.3.2": @@ -1365,13 +1365,13 @@ "@chakra-ui/utils" "1.9.1" react-focus-lock "2.5.2" -"@chakra-ui/form-control@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-1.5.1.tgz#235267088026690d6994fa406c9f2618fa0351ec" - integrity sha512-ASZYQFOs5mAoaNXAN/ZaesMy3XV07F0/Eba5PQ7Dejdn91aep6lqF889hmr8yqcR646xCOY7ISyYsskfh9QHrQ== +"@chakra-ui/form-control@1.5.2": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-1.5.2.tgz#4ce34f03165cfafacecabdce3be82011b74308a7" + integrity sha512-uWv0/f+JEM0ZE5Hnj3TzCnJ09EB+A+DSs9QgyECOuxx9Ju6gnns2uaRki2BfxksQL9ZZomPCkMtXazY9Wa81ag== dependencies: "@chakra-ui/hooks" "1.7.1" - "@chakra-ui/icon" "1.2.1" + "@chakra-ui/icon" "2.0.0" "@chakra-ui/react-utils" "1.2.1" "@chakra-ui/utils" "1.9.1" @@ -1392,6 +1392,13 @@ dependencies: "@chakra-ui/utils" "1.9.1" +"@chakra-ui/icon@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/icon/-/icon-2.0.0.tgz#a2468736117139f94c6ed65eb86b9838e554c90e" + integrity sha512-/GuU+xIcOIy9uSUUUCu249ZJB/nLDbjWGkfpoSdBwqT4+ytJrKt+0Ckh3Ub14sz3BJD+Z6IiIt6ySOA9+7lbsA== + dependencies: + "@chakra-ui/utils" "1.9.1" + "@chakra-ui/icons@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@chakra-ui/icons/-/icons-1.1.1.tgz#e4b191fd38be999c4434ff2b1fb69a5eaf3cf226" @@ -1408,21 +1415,21 @@ "@chakra-ui/hooks" "1.7.1" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/input@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-1.3.1.tgz#a407242239f7bb5fdf3b237ab90355c7d77aff9e" - integrity sha512-Z+LqkwVPMeUBuvB9dLDPKkBnWV52Q1PVl3KW9ouDIFg7SoemeYkBt3p4ttEKE+eIPsPlrcH1u2A/RGcCTZOe1g== +"@chakra-ui/input@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-1.3.2.tgz#59d49ab5c8645c51cd591d46ca23d5cb95e03392" + integrity sha512-VMxmQgFiQ2UnBlkgLX/336G0IfYfw8YWF2ZoEFj5WL9kDSrrL1FXSBgjFGxrper74G4W20tESBCfU1S891y6cg== dependencies: - "@chakra-ui/form-control" "1.5.1" + "@chakra-ui/form-control" "1.5.2" "@chakra-ui/react-utils" "1.2.1" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/layout@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-1.5.1.tgz#be33e8fb5fb187f13c5c0ef66fe94cd293094da6" - integrity sha512-nKiyZ5adjNTbBV3oFIUGIPijwutO1NGdev1jHtnZc3xo2urCIkBvKU8+mVjlX04IwZ7oLKoP3EiDDv0g7+o41Q== +"@chakra-ui/layout@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-1.6.0.tgz#fa45d72420f01f4f6082f5a5a0c202bf7b09a059" + integrity sha512-WUfQ104y1wNueU33/hPlZsMzYJGjO0dXMpVkQf5ZNhNX3IGDO+5+MO2x2xloP+j45yNPi3p8ti/HBnm3dXI+3Q== dependencies: - "@chakra-ui/icon" "1.2.1" + "@chakra-ui/icon" "2.0.0" "@chakra-ui/react-utils" "1.2.1" "@chakra-ui/utils" "1.9.1" @@ -1433,51 +1440,51 @@ dependencies: "@chakra-ui/utils" "1.9.1" -"@chakra-ui/media-query@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/media-query/-/media-query-1.2.1.tgz#c1df05cbe8bd909a410d134240f9bceee760ec09" - integrity sha512-Ho/qiPGTjNukFTE9WBdYV9FIXU7KFTJPqdRQPWANkz+j275n6sqSE1j5LRJllP+ett21KeuWLN4zL33pP0Ox+g== +"@chakra-ui/media-query@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/media-query/-/media-query-1.2.2.tgz#46db9059de1367a3aa85c1fb973a78f95fca6cc5" + integrity sha512-xSmDVleE1drWiGH/MX3RqyVm29x/8Vf6G0UGaI2kCpbNmon+Q1zHW/yDHvptIuctLrPHYO8LOBxuUjfnIXwC2g== dependencies: "@chakra-ui/react-env" "1.1.1" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/menu@1.8.1": - version "1.8.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-1.8.1.tgz#ad26e12843914747de1c36228f4f45c2be668a4d" - integrity sha512-fgzzFukBj4sQzTRf4q/+nHiVTKhrMtJdofnluqce/SCRJ1G+bbovUySblTzfI8iFlTSZt/eWc/Nju4JB1S+3Yg== +"@chakra-ui/menu@1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-1.8.2.tgz#849f51beef6220667eb47c831ddf2c65919ded0e" + integrity sha512-u2GfkwTqbWa8L/7i/kOFbU3JANiT2HStR+gsYKuiuOPiuBcUb8OlgfJfP70OtVKegNKmVEMjvzXtld3wCCo/1g== dependencies: "@chakra-ui/clickable" "1.2.1" "@chakra-ui/descendant" "2.1.1" "@chakra-ui/hooks" "1.7.1" "@chakra-ui/popper" "2.4.1" "@chakra-ui/react-utils" "1.2.1" - "@chakra-ui/transition" "1.4.1" + "@chakra-ui/transition" "1.4.2" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/modal@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-1.10.1.tgz#849243b6f700845ef04e8247d3326e3e0324b789" - integrity sha512-cboC2ITm+5FjhrBc6yJ5cW4VXnfwlLhFa1EkPqF1k4kvYGyUHArvPN1q8AiPYOIrupHYu2Iu6YmQPg7TJwNImg== +"@chakra-ui/modal@1.10.2": + version "1.10.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-1.10.2.tgz#578c30812c63863bef25f4b5c279cacbb34528ec" + integrity sha512-ZlmYetPHwHW4CAM09j4/+Ui54dXR1nzU6mOwhWe4/IzLvEyoEU6fHJeKyGxVUpYTG/7wltG/wKFRJpYa77tiBg== dependencies: - "@chakra-ui/close-button" "1.2.1" + "@chakra-ui/close-button" "1.2.2" "@chakra-ui/focus-lock" "1.2.1" "@chakra-ui/hooks" "1.7.1" "@chakra-ui/portal" "1.3.1" "@chakra-ui/react-utils" "1.2.1" - "@chakra-ui/transition" "1.4.1" + "@chakra-ui/transition" "1.4.2" "@chakra-ui/utils" "1.9.1" aria-hidden "^1.1.1" react-remove-scroll "2.4.1" -"@chakra-ui/number-input@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-1.3.1.tgz#1c46b2748240c780617955da4f2f20a5414edf5c" - integrity sha512-4vBRSShT5pedElgP9YGVC+9RHzQGmUVZqu3p0gZW0fLGVVQ9C1EGrO7djL+k3tgklyu8RvSwkRDJqEPvbQKDgQ== +"@chakra-ui/number-input@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-1.3.2.tgz#580035e56a13c30b04034ab02cb9c1132a1cf09c" + integrity sha512-7x7AoqwPXU1odyDcqIwjBwf0MJUwYMM2fa+6YZ52F941GKlvkDiiJOhK6xfhhBzkLUQD6DN8zgAmmGhaZ6UQXw== dependencies: "@chakra-ui/counter" "1.2.1" - "@chakra-ui/form-control" "1.5.1" + "@chakra-ui/form-control" "1.5.2" "@chakra-ui/hooks" "1.7.1" - "@chakra-ui/icon" "1.2.1" + "@chakra-ui/icon" "2.0.0" "@chakra-ui/react-utils" "1.2.1" "@chakra-ui/utils" "1.9.1" @@ -1491,12 +1498,12 @@ "@chakra-ui/react-utils" "1.2.1" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/popover@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-1.10.1.tgz#03a172201d46bde73eeff7e40e141d82876df493" - integrity sha512-/dMUQfd+h9j3GBtkA/nYaQ5xeu4vk0psUClFvLOAJRwXGN3aMrzn/mhrvHWQ/cJuwQrO1WzxH2+g6pwsFOm9ng== +"@chakra-ui/popover@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-1.11.0.tgz#3ad9faf26019c750a5f8c619ee80dd97bcc4ee3e" + integrity sha512-cCHXAfhIRir+M0ehlYIjDw3mHpiCxDTJ9WV0H1zHQV8nDYVIlZw3nEntaq8oJrv0wpIzq2WCW5ss+bBR7nLZ1A== dependencies: - "@chakra-ui/close-button" "1.2.1" + "@chakra-ui/close-button" "1.2.2" "@chakra-ui/hooks" "1.7.1" "@chakra-ui/popper" "2.4.1" "@chakra-ui/react-utils" "1.2.1" @@ -1527,24 +1534,24 @@ "@chakra-ui/theme-tools" "1.3.1" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/provider@1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-1.7.2.tgz#0559dce48df8dc353d36d8cdaa343fceaaa202b1" - integrity sha512-5Tk7K6aY2gWQQn62MOmeOtRdDJjmtHau2klxhKDlEIPs/smrdBF/ymK7eI5pJiU/BeKHAbM6DbvelR2khUZP+w== +"@chakra-ui/provider@1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-1.7.3.tgz#625c0b7c1265515399bb501bc929d8851bba2958" + integrity sha512-D1SrQ7do4yzAv9/OTF3yj/BkLm7kFo5DdeuOCyvXGpVJumnvbtjltRmC7rFQH4R+y9qXPvfQP4LKMNBqSxPNng== dependencies: "@chakra-ui/css-reset" "1.1.1" "@chakra-ui/hooks" "1.7.1" "@chakra-ui/portal" "1.3.1" "@chakra-ui/react-env" "1.1.1" - "@chakra-ui/system" "1.8.2" + "@chakra-ui/system" "1.8.3" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/radio@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-1.4.2.tgz#b0dcdc6a1e5668dbe3888db1c6e8e1bc0b78c6e9" - integrity sha512-QWIZAy/PLHNnlI6Z6o3kAdUzkSMpaJ9kOlMIFcsen6tAfPob3R+cyMQFiaX6RBw7yHWYIrfD9gaAqwd+FihQWQ== +"@chakra-ui/radio@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-1.4.3.tgz#d87788fe688d0d58252e9efeb926d0417a70e158" + integrity sha512-TQdyfdUD3BLklOP67n82JN8ksQv1BYjvaYsK0m6WCa0LDJr9aCC+XtUPgVq/1L2t4HqHdiGOrGBooF4vvy/+BA== dependencies: - "@chakra-ui/form-control" "1.5.1" + "@chakra-ui/form-control" "1.5.2" "@chakra-ui/hooks" "1.7.1" "@chakra-ui/react-utils" "1.2.1" "@chakra-ui/utils" "1.9.1" @@ -1564,75 +1571,75 @@ dependencies: "@chakra-ui/utils" "^1.9.1" -"@chakra-ui/react@^1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-1.7.2.tgz#7613f33d4adc2384d2fa8675cb6e94780e5c4cbe" - integrity sha512-2RxJHqYLSSB/dQQ9M4APxMopPfsU89A++63v8U8jiR7J8sUaa6Ded9ypTiIUY09J8v7mJAus4/ZSJxG7Zfd7aA== +"@chakra-ui/react@^1.7.3": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-1.7.3.tgz#358a3ff9847b78a798384db5c64cc222c9a48ae8" + integrity sha512-6mrfDUOa9MoQ44Xvi7xgdDq48jTTTjW9BupCGf2R3DI+z6RbUKIHzbcoDJZt2HGY6j9EarMVNRoQJzvzGUKpoQ== dependencies: - "@chakra-ui/accordion" "1.4.1" - "@chakra-ui/alert" "1.3.1" + "@chakra-ui/accordion" "1.4.2" + "@chakra-ui/alert" "1.3.2" "@chakra-ui/avatar" "1.3.1" "@chakra-ui/breadcrumb" "1.3.1" "@chakra-ui/button" "1.5.1" "@chakra-ui/checkbox" "1.6.1" - "@chakra-ui/close-button" "1.2.1" + "@chakra-ui/close-button" "1.2.2" "@chakra-ui/control-box" "1.1.1" "@chakra-ui/counter" "1.2.1" "@chakra-ui/css-reset" "1.1.1" "@chakra-ui/editable" "1.3.1" - "@chakra-ui/form-control" "1.5.1" + "@chakra-ui/form-control" "1.5.2" "@chakra-ui/hooks" "1.7.1" - "@chakra-ui/icon" "1.2.1" + "@chakra-ui/icon" "2.0.0" "@chakra-ui/image" "1.1.1" - "@chakra-ui/input" "1.3.1" - "@chakra-ui/layout" "1.5.1" + "@chakra-ui/input" "1.3.2" + "@chakra-ui/layout" "1.6.0" "@chakra-ui/live-region" "1.1.1" - "@chakra-ui/media-query" "1.2.1" - "@chakra-ui/menu" "1.8.1" - "@chakra-ui/modal" "1.10.1" - "@chakra-ui/number-input" "1.3.1" + "@chakra-ui/media-query" "1.2.2" + "@chakra-ui/menu" "1.8.2" + "@chakra-ui/modal" "1.10.2" + "@chakra-ui/number-input" "1.3.2" "@chakra-ui/pin-input" "1.7.1" - "@chakra-ui/popover" "1.10.1" + "@chakra-ui/popover" "1.11.0" "@chakra-ui/popper" "2.4.1" "@chakra-ui/portal" "1.3.1" "@chakra-ui/progress" "1.2.1" - "@chakra-ui/provider" "1.7.2" - "@chakra-ui/radio" "1.4.2" + "@chakra-ui/provider" "1.7.3" + "@chakra-ui/radio" "1.4.3" "@chakra-ui/react-env" "1.1.1" - "@chakra-ui/select" "1.2.1" - "@chakra-ui/skeleton" "1.2.2" + "@chakra-ui/select" "1.2.2" + "@chakra-ui/skeleton" "1.2.3" "@chakra-ui/slider" "1.5.2" "@chakra-ui/spinner" "1.2.1" - "@chakra-ui/stat" "1.2.1" + "@chakra-ui/stat" "1.2.2" "@chakra-ui/switch" "1.3.1" - "@chakra-ui/system" "1.8.2" + "@chakra-ui/system" "1.8.3" "@chakra-ui/table" "1.3.1" "@chakra-ui/tabs" "1.6.1" - "@chakra-ui/tag" "1.2.1" - "@chakra-ui/textarea" "1.2.1" - "@chakra-ui/theme" "1.12.1" - "@chakra-ui/toast" "1.4.1" - "@chakra-ui/tooltip" "1.4.1" - "@chakra-ui/transition" "1.4.1" + "@chakra-ui/tag" "1.2.2" + "@chakra-ui/textarea" "1.2.2" + "@chakra-ui/theme" "1.12.2" + "@chakra-ui/toast" "1.5.0" + "@chakra-ui/tooltip" "1.4.2" + "@chakra-ui/transition" "1.4.2" "@chakra-ui/utils" "1.9.1" "@chakra-ui/visually-hidden" "1.1.1" -"@chakra-ui/select@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-1.2.1.tgz#a014c44efdc992ced96a4a74364148a4846c3d1f" - integrity sha512-GqRmYGjVnw/Z/2RQiW7Ywuu9O5E0spmMUBjeE/v0rqjixBqrmdApjg5pmJ4YmUMvUI/WkGtR3FR5W9Y5PpvfKw== +"@chakra-ui/select@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-1.2.2.tgz#1c2956c21a012e7c9ea294db42d3cab0d05bed24" + integrity sha512-EchJW3St1DtSWHe//DHwKjGsQYL2zbKcNCLnJWQKGMPZsQhAD2wsm4xjowFrV8AkY7jbVM/U2v68puN7YTC3hg== dependencies: - "@chakra-ui/form-control" "1.5.1" + "@chakra-ui/form-control" "1.5.2" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/skeleton@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-1.2.2.tgz#14d7486574e5c430e34d4ed342a3c7fc00734e29" - integrity sha512-kA3DmhaazVX31iIOY87Jskqj+TFd+FKhOCWjPgZiFeEtJDYriU9BfzYSo2j6ePLtMRMc6Z99vXIHmjoOIEy5xQ== +"@chakra-ui/skeleton@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-1.2.3.tgz#f7be28e3af214473fb6cdec45d0715a049f82575" + integrity sha512-u5ASkzPiBjfvKxKuBienUfmyYDTHziSWQ8Ny6k83LbwLv9IcmBNGsSkmsp7hesgi9cMHGBQ3hY2GTqG9ljndIg== dependencies: "@chakra-ui/hooks" "1.7.1" - "@chakra-ui/media-query" "1.2.1" - "@chakra-ui/system" "1.8.2" + "@chakra-ui/media-query" "1.2.2" + "@chakra-ui/system" "1.8.3" "@chakra-ui/utils" "1.9.1" "@chakra-ui/slider@1.5.2": @@ -1652,19 +1659,19 @@ "@chakra-ui/utils" "1.9.1" "@chakra-ui/visually-hidden" "1.1.1" -"@chakra-ui/stat@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/stat/-/stat-1.2.1.tgz#76be860aa5ae7ef66717ab7a7fcf5862268a05e7" - integrity sha512-BTZFeh/8VdgUX080taCQj1g/rS4wGc+y3GQnklqlZ9N/bEv0gyLqQga7TFC/NkVl3cvjRiMnCCPj6vRih9x+Og== +"@chakra-ui/stat@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/stat/-/stat-1.2.2.tgz#4a690b9a01986a838eb38ff20ee9cfaccdff0cdd" + integrity sha512-0StsPDC56MjzhdlBl0R8wU0uwj9L1tvhQzge/ELSDn4tQDI7VovrxpFzVH0qsj7EZDwZa0BRQaSrstzWvgmJ/Q== dependencies: - "@chakra-ui/icon" "1.2.1" + "@chakra-ui/icon" "2.0.0" "@chakra-ui/utils" "1.9.1" "@chakra-ui/visually-hidden" "1.1.1" -"@chakra-ui/styled-system@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-1.14.1.tgz#78f49de1842a3675c44b17c9f392d7172880209a" - integrity sha512-dgXFYZdJicsddUnPV1X7lQksgMD0z5EvwGaIh2JHJERqNRIvth/CBAnVLQQvy/xSJK5YaSEmeuVVU0veUOQcXg== +"@chakra-ui/styled-system@1.15.0": + version "1.15.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-1.15.0.tgz#fe117ace12b452379e4df69f4779395ead55917f" + integrity sha512-LnsKeiYkUuJ+NMTwueiX0Mj8CW9XAMJrJxpQm/X3GY5L5PO7Hv6wW725Ovqdy4mhG3IK7S8444FthpsDv/luHw== dependencies: "@chakra-ui/utils" "1.9.1" csstype "^3.0.9" @@ -1677,14 +1684,14 @@ "@chakra-ui/checkbox" "1.6.1" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/system@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-1.8.2.tgz#243820e8b0000a6874cc57218245462d11001695" - integrity sha512-k/43bv5exPGc6hBVcq5dUdGC+0pmQthJP/VqcTUt0oIc3oyoVSAnJhpmBkFHXYNqj6yYd2K7qdD2PjjbZ5KCLA== +"@chakra-ui/system@1.8.3": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-1.8.3.tgz#bad447f4fda427fc28e234470d9fcc5a9b524d62" + integrity sha512-6MaevsT7A2ifgOGQQCQsfvzPVd0kEXqFrX1Oxd842bawaqthmbFdo2bBTdaia/+Ivq/8Xot2uAQSbU+3NuRiUA== dependencies: "@chakra-ui/color-mode" "1.3.2" "@chakra-ui/react-utils" "1.2.1" - "@chakra-ui/styled-system" "1.14.1" + "@chakra-ui/styled-system" "1.15.0" "@chakra-ui/utils" "1.9.1" react-fast-compare "3.2.0" @@ -1706,20 +1713,20 @@ "@chakra-ui/react-utils" "1.2.1" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/tag@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-1.2.1.tgz#2e5b7bd9895ece35d495b83bb29c34a3142cfe01" - integrity sha512-O068n+qBc+CSyvpRBJ6Lwep6SydQ9UysRqw1ETF+4fJSp9dMrBp8vOcl2SVacKaCu13qdv8UdRMBxUiTz3lh7A== +"@chakra-ui/tag@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-1.2.2.tgz#25519544cdbc0a32b2f8f44c7a8bae3bda912cb1" + integrity sha512-H25y9nEyUAUdwQDND9P4mMXKf1wf9UH4A3DyP237qVKIyYBpa4aCH8eJU4dunh2yIzASB0DWcr7lsul/HAHxmg== dependencies: - "@chakra-ui/icon" "1.2.1" + "@chakra-ui/icon" "2.0.0" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/textarea@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-1.2.1.tgz#cf1594ce6496817530106f70a5d787c1a9e40f59" - integrity sha512-3xDsL1qQ+eY5r4GcRL4bg90vtV/xxVlw0Z3PFehFP5JW7VwXNZIRjauR/+HlOA8eYq0cF6ch2boR1GPso6rQtw== +"@chakra-ui/textarea@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-1.2.2.tgz#3e62612e4b1bc0724ba084b0b08b247ac2bbdbab" + integrity sha512-DoLdKxHk0DyrQDnj1la9wjl2AW3/SK62nfWDYLAm0ouFsw1VKPw9nU+Yyj0dPruQTzI19nLaYF26i97rtnT27g== dependencies: - "@chakra-ui/form-control" "1.5.1" + "@chakra-ui/form-control" "1.5.2" "@chakra-ui/utils" "1.9.1" "@chakra-ui/theme-tools@1.3.1", "@chakra-ui/theme-tools@^1.3.1": @@ -1730,32 +1737,32 @@ "@chakra-ui/utils" "1.9.1" "@ctrl/tinycolor" "^3.4.0" -"@chakra-ui/theme@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-1.12.1.tgz#48a61fe5b2b0f8f422255d3049e16bb0b2dd6e60" - integrity sha512-8yDril3rSzv42eKR0x7KdnrpN1ubY0m6q37CVUADgtboJqoJwWWX2/hqkv8CX6WJf8ZwPwFL5QIwS2FPSGgi+g== +"@chakra-ui/theme@1.12.2": + version "1.12.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-1.12.2.tgz#191e168d83e7a66bc3e65be802ad4e4e2a9bbeb5" + integrity sha512-LVjSf16yYHD40ILrsDEd3idVQRvJSY7JY8lvTGWo2p6v+JQESWF+zXlYi9Le+TXRpZuFvJuuQ1SEvoqVwdcJ8Q== dependencies: "@chakra-ui/anatomy" "1.2.1" "@chakra-ui/theme-tools" "1.3.1" "@chakra-ui/utils" "1.9.1" -"@chakra-ui/toast@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-1.4.1.tgz#3e3885dd039e19f8ce60446f4843e0d8ec074b24" - integrity sha512-vzQkYwnGq2nx0bOKIQ6XpJaGzUwnWKmUjcVrz9NzGwVI4g93PS7+13515R0m1NrDp30132OeDXQ+tmQwCRRe6w== +"@chakra-ui/toast@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-1.5.0.tgz#c6456c0a4f24669e16946de318ad568e24a5d497" + integrity sha512-rTsFx/Qos5oVPN6aZMbT/wTxwZlFNSXQqrTpJYaRcRFQGzxIDDxmGkKYfPnyJjRP9i6EqynJhXEIyhMA0xO0dw== dependencies: - "@chakra-ui/alert" "1.3.1" - "@chakra-ui/close-button" "1.2.1" + "@chakra-ui/alert" "1.3.2" + "@chakra-ui/close-button" "1.2.2" "@chakra-ui/hooks" "1.7.1" - "@chakra-ui/theme" "1.12.1" - "@chakra-ui/transition" "1.4.1" + "@chakra-ui/theme" "1.12.2" + "@chakra-ui/transition" "1.4.2" "@chakra-ui/utils" "1.9.1" "@reach/alert" "0.13.2" -"@chakra-ui/tooltip@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/tooltip/-/tooltip-1.4.1.tgz#21e148b7107a92abbf90c19a3eead718b875a544" - integrity sha512-KvTuqSqIpIgE+YNUwN7ONDRkSGR6SK9+dgSx2PfKy0Sel7UgDPVtxByuZ6tfJ9O1VTRYEdF9k+s6Gf8eRFQbNA== +"@chakra-ui/tooltip@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/tooltip/-/tooltip-1.4.2.tgz#fce61c7ad4c3e6e5833487ddf75f03c774913fb9" + integrity sha512-+wyYXG8qenKkFy2YSFfOBf3rlWADnu6S9EUxP+3Rmm78unOWXDuTJWzqy2QlXs2BwoQoifaz1LVwzmMb7WLVgQ== dependencies: "@chakra-ui/hooks" "1.7.1" "@chakra-ui/popper" "2.4.1" @@ -1764,10 +1771,10 @@ "@chakra-ui/utils" "1.9.1" "@chakra-ui/visually-hidden" "1.1.1" -"@chakra-ui/transition@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/transition/-/transition-1.4.1.tgz#be31c02a285d182cc9c6dcd95548f8f35de64952" - integrity sha512-s/VFucc6grNdP1bxw0oQLzy167gjAgyl/GiGH9nt54nioDEiSsvn70qKg7sjajNTvpoot+urQUdr4Qh+fIUFZQ== +"@chakra-ui/transition@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@chakra-ui/transition/-/transition-1.4.2.tgz#de59833aa5727c0dd328b828145e4b0dabd005b3" + integrity sha512-S+BNmpErHlntl//uaqv0sJegzMsQms0OnJapeZaRsvZL4s1SVYrR8kMrXigkdpeh4lAUqGsLpQHPKkzaKGbBOw== dependencies: "@chakra-ui/utils" "1.9.1"