From 99c96848d480204165d42345954897cc2211b80e Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 25 Jul 2022 10:41:51 -0600 Subject: [PATCH 1/3] Add optionality to containerElement, format validation so accountCenter validations are close to eachother, bump versions --- packages/core/README.md | 1 + packages/core/package.json | 2 +- packages/core/src/types.ts | 2 +- packages/core/src/validation.ts | 16 ++++++++-------- packages/react/package.json | 2 +- packages/vue/package.json | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/packages/core/README.md b/packages/core/README.md index fe658dee2..f3791afb9 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -105,6 +105,7 @@ export type AccountCenter = { position?: AccountCenterPosition // default: 'topRight' expanded?: boolean // default: true minimal?: boolean // enabled by default for mobile + containerElement?: string // defines the DOM container element for svelte to attach } export type AccountCenterOptions = { diff --git a/packages/core/package.json b/packages/core/package.json index a54413874..516488e89 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/core", - "version": "2.6.0-alpha.3", + "version": "2.6.0-alpha.4", "description": "Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardized spec compliant web3 providers for all supported wallets, framework agnostic modern javascript UI with code splitting, CSS customization, multi-chain and multi-account support, reactive wallet state subscriptions and real-time transaction state change notifications.", "keywords": [ "Ethereum", diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index d23557b8e..cce41b26f 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -141,7 +141,7 @@ export type AccountCenter = { position?: AccountCenterPosition expanded?: boolean minimal?: boolean - containerElement: string + containerElement?: string } export type AccountCenterOptions = { diff --git a/packages/core/src/validation.ts b/packages/core/src/validation.ts index 10a3e37a6..14495e961 100644 --- a/packages/core/src/validation.ts +++ b/packages/core/src/validation.ts @@ -176,6 +176,14 @@ const initOptions = Joi.object({ notify: [notifyOptions, notify] }) +const accountCenter = Joi.object({ + enabled: Joi.boolean(), + position: commonPositions, + expanded: Joi.boolean(), + minimal: Joi.boolean(), + containerElement: Joi.string() +}) + const connectOptions = Joi.object({ autoSelect: Joi.alternatives() .try( @@ -198,14 +206,6 @@ const setChainOptions = Joi.object({ wallet: Joi.string() }) -const accountCenter = Joi.object({ - enabled: Joi.boolean(), - position: commonPositions, - expanded: Joi.boolean(), - minimal: Joi.boolean(), - containerElement: Joi.string() -}) - const customNotificationUpdate = Joi.object({ key: Joi.string().required(), type: Joi.string().allow('pending', 'error', 'success', 'hint'), diff --git a/packages/react/package.json b/packages/react/package.json index d63f89c68..08a9ea559 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -62,7 +62,7 @@ "typescript": "^4.5.5" }, "dependencies": { - "@web3-onboard/core": "^2.6.0-alpha.3", + "@web3-onboard/core": "^2.6.0-alpha.4", "@web3-onboard/common": "^2.1.7-alpha.2", "use-sync-external-store": "1.0.0" }, diff --git a/packages/vue/package.json b/packages/vue/package.json index 1fedcaa75..9aa2ad739 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -63,7 +63,7 @@ "@vueuse/core": "^8.4.2", "@vueuse/rxjs": "^8.2.0", "@web3-onboard/common": "^2.1.7-alpha.2", - "@web3-onboard/core": "^2.6.0-alpha.3", + "@web3-onboard/core": "^2.6.0-alpha.4", "vue-demi": "^0.12.4" }, "peerDependencies": { From 130f0c5316ac67e48935546d785f0032761c88d5 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 25 Jul 2022 10:43:25 -0600 Subject: [PATCH 2/3] Clean up accountCenter init options --- packages/core/src/validation.ts | 37 +++++++++++++++------------------ 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/packages/core/src/validation.ts b/packages/core/src/validation.ts index 14495e961..97b86de4d 100644 --- a/packages/core/src/validation.ts +++ b/packages/core/src/validation.ts @@ -153,6 +153,21 @@ const notifyOptions = Joi.object({ mobile: notify }) +const accountCenterInitOptions = Joi.object({ + enabled: Joi.boolean(), + position: commonPositions, + minimal: Joi.boolean(), + containerElement: Joi.string() +}) + +const accountCenter = Joi.object({ + enabled: Joi.boolean(), + position: commonPositions, + expanded: Joi.boolean(), + minimal: Joi.boolean(), + containerElement: Joi.string() +}) + const initOptions = Joi.object({ wallets: walletInit, chains: chains.required(), @@ -160,30 +175,12 @@ const initOptions = Joi.object({ i18n: Joi.object().unknown(), apiKey: Joi.string(), accountCenter: Joi.object({ - desktop: Joi.object({ - enabled: Joi.boolean(), - minimal: Joi.boolean(), - position: commonPositions, - containerElement: Joi.string() - }), - mobile: Joi.object({ - enabled: Joi.boolean(), - minimal: Joi.boolean(), - position: commonPositions, - containerElement: Joi.string() - }) + desktop: accountCenterInitOptions, + mobile: accountCenterInitOptions }), notify: [notifyOptions, notify] }) -const accountCenter = Joi.object({ - enabled: Joi.boolean(), - position: commonPositions, - expanded: Joi.boolean(), - minimal: Joi.boolean(), - containerElement: Joi.string() -}) - const connectOptions = Joi.object({ autoSelect: Joi.alternatives() .try( From 3c6402bc9eec868e9c3c2ea30bab88b1b0e2a768 Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 25 Jul 2022 11:02:58 -0600 Subject: [PATCH 3/3] Bump react and vue packages --- packages/react/package.json | 2 +- packages/vue/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react/package.json b/packages/react/package.json index 08a9ea559..222ccd1e5 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/react", - "version": "2.2.5-alpha.3", + "version": "2.2.5-alpha.4", "description": "A collection of React hooks for integrating Web3-Onboard in to React and Next.js projects. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardised spec compliant web3 providers for all supported wallets, modern javascript UI with code splitting, CSS customization, multi-chain and multi-account support, reactive wallet state subscriptions and real-time transaction state change notifications.", "keywords": [ "Ethereum", diff --git a/packages/vue/package.json b/packages/vue/package.json index 9aa2ad739..cf4185e8c 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/vue", - "version": "2.1.5-alpha.3", + "version": "2.1.5-alpha.4", "description": "A collection of Vue Composables for integrating Web3-Onboard in to a Vue or Nuxt project. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardised spec compliant web3 providers for all supported wallets, modern javascript UI with code splitting, CSS customization, multi-chain and multi-account support, reactive wallet state subscriptions and real-time transaction state change notifications.", "keywords": [ "Ethereum",