diff --git a/packages/core/src/views/shared/Modal.svelte b/packages/core/src/views/shared/Modal.svelte
index bcc380fd5..69452f642 100644
--- a/packages/core/src/views/shared/Modal.svelte
+++ b/packages/core/src/views/shared/Modal.svelte
@@ -71,8 +71,10 @@
}
.modal-styling {
- border-radius: var(--onboard-modal-border-radius, var(--border-radius-1))
- var(--onboard-modal-border-radius, var(--border-radius-1)) 0 0;
+ --border-radius: var(--onboard-modal-border-radius,
+ var(--w3o-border-radius, 1rem)
+ );
+ border-radius: var(--border-radius) var(--border-radius) 0 0;
box-shadow: var(--onboard-modal-box-shadow, var(--box-shadow-0));
max-width: 100vw;
}
@@ -93,7 +95,7 @@
@media all and (min-width: 768px) {
.modal-styling {
- border-radius: var(--onboard-modal-border-radius, var(--border-radius-1));
+ border-radius: var(--border-radius);
}
.modal-container-mobile {
bottom: unset;
diff --git a/packages/core/src/views/shared/NetworkSelector.svelte b/packages/core/src/views/shared/NetworkSelector.svelte
index 1349e876d..ba38d6271 100644
--- a/packages/core/src/views/shared/NetworkSelector.svelte
+++ b/packages/core/src/views/shared/NetworkSelector.svelte
@@ -111,8 +111,8 @@
{:else}
@@ -122,8 +122,8 @@
value={wallet.chains[0].id}
on:change={handleSelect}
style={`
- color: var(${colorVar},
- var(--account-center-network-selector-color, var (--gray-500)));
+ color: var(${colorVar},
+ var(--account-center-network-selector-color, var(--gray-500)));
background-image: url('data:image/svg+xml;utf8,${selectIcon}'); ${
bold ? 'font-weight: 700;' : ''
}`}
diff --git a/packages/core/src/views/shared/WalletAppBadge.svelte b/packages/core/src/views/shared/WalletAppBadge.svelte
index 7c48fdb8a..a81fd5929 100644
--- a/packages/core/src/views/shared/WalletAppBadge.svelte
+++ b/packages/core/src/views/shared/WalletAppBadge.svelte
@@ -13,6 +13,7 @@
export let color = 'black'
export let border:
+ | 'custom'
| 'yellow'
| 'gray'
| 'green'
@@ -43,6 +44,10 @@
height: 100%;
}
+ .border-custom {
+ border: 1px solid var(--border-color);
+ }
+
.border-yellow {
border: 1px solid var(--onboard-warning-500, var(--warning-500));
}
@@ -168,6 +173,7 @@
(await import('./icon.js')).default
@@ -135,7 +137,8 @@ function dcent({
assets,
chains,
scanAccounts,
- supportsCustomPath: false
+ supportsCustomPath: false,
+ containerElement
})
if (accounts.length) {
eventEmitter.emit('accountsChanged', [accounts[0].address])
diff --git a/packages/demo/README.md b/packages/demo/README.md
index 6268c00d6..9bc872f6b 100644
--- a/packages/demo/README.md
+++ b/packages/demo/README.md
@@ -1,3 +1,5 @@
-# Onboard Demo
+# Onboard Demo using Svelte
This is a quick demo for testing and development of Onboard V2.
+
+From the root of the project run `yarn && yarn dev` then navigate to `http://localhost:8080/`
diff --git a/packages/demo/package.json b/packages/demo/package.json
index 58eb718ad..187853687 100644
--- a/packages/demo/package.json
+++ b/packages/demo/package.json
@@ -23,24 +23,24 @@
"webpack-dev-server": "4.7.4"
},
"dependencies": {
- "@web3-onboard/core": "^2.13.1",
+ "@web3-onboard/core": "^2.14.0",
"@web3-onboard/coinbase": "^2.1.4",
"@web3-onboard/transaction-preview": "^2.0.0",
- "@web3-onboard/dcent": "^2.2.2",
+ "@web3-onboard/dcent": "^2.2.3",
"@web3-onboard/frontier": "^2.0.0",
"@web3-onboard/fortmatic": "^2.0.14",
"@web3-onboard/gas": "^2.1.3",
- "@web3-onboard/gnosis": "^2.1.5",
- "@web3-onboard/injected-wallets": "^2.6.0",
- "@web3-onboard/keepkey": "^2.3.2",
- "@web3-onboard/keystone": "^2.3.2",
- "@web3-onboard/ledger": "^2.4.1",
+ "@web3-onboard/gnosis": "^2.1.6",
+ "@web3-onboard/keepkey": "^2.3.3",
+ "@web3-onboard/keystone": "^2.3.3",
+ "@web3-onboard/ledger": "^2.4.2",
+ "@web3-onboard/injected-wallets": "^2.6.1",
"@web3-onboard/magic": "^2.1.3",
"@web3-onboard/phantom": "^2.0.0-alpha.1",
"@web3-onboard/portis": "^2.1.3",
"@web3-onboard/sequence": "^2.0.4",
+ "@web3-onboard/trezor": "^2.3.3",
"@web3-onboard/torus": "^2.2.1",
- "@web3-onboard/trezor": "^2.3.2",
"@web3-onboard/tallyho": "^2.0.1",
"@web3-onboard/web3auth": "^2.1.4",
"@web3-onboard/walletconnect": "^2.2.2",
diff --git a/packages/demo/src/App.svelte b/packages/demo/src/App.svelte
index 5bc289c32..ea2b1953e 100644
--- a/packages/demo/src/App.svelte
+++ b/packages/demo/src/App.svelte
@@ -35,15 +35,12 @@
import VConsole from 'vconsole'
import blocknativeIcon from './blocknative-icon'
import blocknativeLogo from './blocknative-logo'
- import { onMount } from 'svelte'
-
- let windowWidth
if (window.innerWidth < 700) {
new VConsole()
}
- const apiKey = 'xxxxxx-bf21-42ec-a093-9d37e426xxxx'
+ const apiKey = '0fcf74ed-b95b-4b8d-a8d8-4d655ae479d9'
const infura_key = '80633e48116943128cbab25e402764ab'
let defaultTransactionObject = JSON.stringify(
@@ -132,7 +129,8 @@
const trezorOptions = {
email: 'test@test.com',
- appUrl: 'https://www.blocknative.com'
+ appUrl: 'https://www.blocknative.com',
+ // containerElement: '#sample-container-el'
}
const trezor = trezorModule(trezorOptions)
@@ -155,7 +153,9 @@
const sequence = sequenceModule()
const enkrypt = enkryptModule()
const mewWallet = mewWalletModule()
- const transactionPreview = transactionPreviewModule()
+ const transactionPreview = transactionPreviewModule({
+ requireTransactionApproval: true
+ })
const onboard = Onboard({
wallets: [
@@ -191,12 +191,6 @@
label: 'Ethereum',
rpcUrl: `https://mainnet.infura.io/v3/${infura_key}`
},
- {
- id: 3,
- token: 'tROP',
- label: 'Ropsten',
- rpcUrl: `https://ropsten.infura.io/v3/${infura_key}`
- },
{
id: '0x5',
token: 'ETH',
@@ -235,12 +229,12 @@
}
],
// connect: {
- // showSidebar: false
+ // disableClose: true
// },
appMetadata: {
name: 'Blocknative',
- icon: blocknativeIcon,
- logo: blocknativeLogo,
+ // icon: blocknativeIcon,
+ // logo: blocknativeLogo,
description: 'Demo app for Onboard V2',
recommendedInjectedWallets: [
{ name: 'MetaMask', url: 'https://metamask.io' },
@@ -293,7 +287,7 @@
},
position: 'topRight'
}
- }
+ },
// containerElements: {
// // El must be present at time of JS script execution
// // See ../public/index.html for element example
@@ -301,8 +295,8 @@
// accountCenter: '#sample-container-el2'
// },
// Sign up for your free api key at www.Blocknative.com
- // Add apiKey to test transaction notifications
- // apiKey
+ apiKey,
+ theme: 'system'
})
// Subscribe to wallet updates
@@ -461,266 +455,14 @@
console.log(verifyTypedData(domain, types, message, signature))
}
- const defaultStyling = {
- '--background-color': '#ffffff',
- '--text-color': '#1a1d26',
- '--border-color': '#d0d4f7',
- '--accent-background': '#ebebed',
- '--accent-color': '#929bed',
- '--accent-color-hover': '#eff1fc',
- '--secondary-text-color': '#707481',
- '--secondary-accent-background': '#242835'
- }
-
- const baseStyling = `--onboard-connect-sidebar-border-color: var(--border-color);
- --onboard-connect-sidebar-background: var(--accent-background);
- --onboard-connect-sidebar-color: var(--text-color);
- --onboard-connect-sidebar-progress-background: var(--secondary-text-color);
- --onboard-connect-sidebar-progress-color: var(--accent-color);
- --onboard-connect-header-background: var(--background-color);
- --onboard-connect-header-color: var(--text-color);
- --onboard-main-scroll-container-background: var(--background-color);
- --onboard-link-color: var(--accent-color);
- --onboard-wallet-button-background: var(--background-color);
- --onboard-wallet-button-background-hover: var(--accent-color-hover);
- --onboard-wallet-button-border-color: var(--border-color);
- --onboard-wallet-app-icon-border-color: var(--border-color);
- --onboard-close-button-background: var(--accent-background);
- --onboard-wallet-button-color-hover: var(--text-color);
- --onboard-wallet-button-color: var(--text-color);
-
- --account-center-minimized-background: var(--background-color);
- --account-center-minimized-address-color: var(--text-color);
- --account-center-minimized-balance-color: var(--secondary-text-color);
- --account-center-minimized-chain-select-background: var(
- --accent-color-hover
- );
- --account-center-maximized-info-section-background: var(
- --background-color
- );
- --account-center-maximized-network-section-background: var(
- --accent-background
- );
- --account-center-maximized-upper-background: var(
- --secondary-accent-background
- );
- --account-center-maximized-address-color: var(--background-color);
- --account-center-maximized-account-section-background-hover: var(
- --text-color
- );
- --account-center-maximized-balance-color: var(--border-color);
- --account-center-maximized-upper-action-color: var(--accent-color);
- --account-center-maximized-network-text-color: var(
- --secondary-accent-background
- );
- --account-center-maximized-info-section-background-color: var(
- --background-color
- );
- --account-center-maximized-app-name-color: var(
- --secondary-accent-background
- );
- --account-center-maximized-app-info-color: var(
- --secondary-accent-background
- );
- --account-center-app-btn-background: var(--secondary-accent-background);
- --account-center-app-btn-text-color: var(--background-color);
-
- --notify-onboard-background: var(----secondary-accent-color);
- --notify-onboard-transaction-status: var(--accent-background);
- --notify-onboard-address-hash-color: var(--accent-color-hover);
- --notify-onboard-anchor-color: var(--accent-color);
- --notify-onboard-timer-color: var(--secondary-text-color);`
-
- const styleToString = style => {
- return Object.keys(style).reduce(
- (acc, key) => acc + key + ': ' + style[key] + '; \n ',
- ''
- )
- }
-
- async function copyStylingConfig() {
- try {
- const copy = await navigator.clipboard.writeText(copyableStyles)
- return copy
- } catch (err) {
- console.error('Failed to copy: ', err)
- }
- }
-
- let copyableStyles = `:root {\n ${styleToString(
- defaultStyling
- )}${baseStyling}\n}`
-
- const updateTheme = (e, targetStyle) => {
- const iframe = document.getElementById('inlineFrameExample')
- iframe.contentWindow.document.documentElement.style.setProperty(
- targetStyle,
- e.target.value
- )
-
- copyableStyles = `:root {\n ${styleToString(
- defaultStyling
- )}${baseStyling}\n}`
- }
-
- let checked = false
-
- const handleBackdrop = () => {
- const iframe = document.getElementById('inlineFrameExample')
-
- if (!checked) {
- iframe.contentWindow.document.documentElement.style.setProperty(
- '--onboard-modal-backdrop',
- 'rgba(0, 0, 0, 0)'
- )
- } else {
- iframe.contentWindow.document.documentElement.style.setProperty(
- '--onboard-modal-backdrop',
- 'rgba(0, 0, 0, 0.6)'
- )
- }
+ const themes = ['system', 'default', 'light', 'dark']
+ let selectedTheme = 'system'
+ const updateTheme = () => {
+ onboard.state.actions.updateTheme(selectedTheme)
}
-
- // Converts the image into a data URI
- const readImage = file => {
- const reader = new FileReader()
- reader.addEventListener('load', event => {
- uploaded_image = event.target.result
- document.querySelector(
- '#image_drop_area'
- ).style.backgroundImage = `url(${uploaded_image})`
- })
- reader.readAsDataURL(file)
- }
-
- let hideForIframe = false
- let uploaded_image
- const handleImageDrop = () => {
- if (window.location !== window.parent.location) {
- if (image_drop_area) {
- // Event listener for dragging the image over the div
- const connectButton = window.document.getElementById('connectBtn')
- connectButton.style.visibility = 'hidden'
- image_drop_area.addEventListener('dragover', event => {
- event.stopPropagation()
- event.preventDefault()
- // Style the drag-and-drop as a "copy file" operation.
- event.dataTransfer.dropEffect = 'copy'
- })
-
- // Event listener for dropping the image inside the div
- image_drop_area.addEventListener('drop', event => {
- const image_drop_area_direction = document.querySelector(
- '#image_drop_area_direction'
- )
- document.body.style.padding = 0
- image_drop_area_direction.style.display = 'none'
- connectButton.click()
- connectButton.style.display = 'none'
- event.stopPropagation()
- event.preventDefault()
- let fileList = event.dataTransfer.files
-
- readImage(fileList[0])
- })
- }
- }
- }
- const initIFrame = async () => {
- if (window.location !== window.parent.location) {
- return (hideForIframe = true)
- }
- }
-
- onMount(async () => {
- await initIFrame()
- handleImageDrop()
- })
-
-
- {#if hideForIframe}
-
-
- Drag and drop a screen shot of your site to customize styling.
-
- Click color circles above to change the theme.
-
- {#if uploaded_image}
-
- {#if $wallets$}
-
-
-
-
-
-
-
-
-
- {/if}
- {/if}
-
- {/if}
-
- {#if $wallets$ && !hideForIframe}
+
+ {#if $wallets$}
{/if}
- {#if $wallets$ && !hideForIframe}
+ {#if $wallets$}
{#each $wallets$ as { icon, label, accounts, chains, provider, instance }}
@@ -1168,53 +713,4 @@
{/each}
{/if}
- {#if !hideForIframe && windowWidth > 1040}
-
-
-
- {#each Object.keys(defaultStyling) as target}
-
- {/each}
-
-
-
- Disabled Backdrop for Styling
-
-
-
-
-
-
-
- {/if}
diff --git a/packages/gnosis/package.json b/packages/gnosis/package.json
index b9ffc7994..d72881f6a 100644
--- a/packages/gnosis/package.json
+++ b/packages/gnosis/package.json
@@ -1,6 +1,6 @@
{
"name": "@web3-onboard/gnosis",
- "version": "2.1.5",
+ "version": "2.1.6",
"description": "Gnosis Safe module for connecting to Web3-Onboard. 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, 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/gnosis/src/icon.ts b/packages/gnosis/src/icon.ts
index 1bd36fd17..2276e406c 100644
--- a/packages/gnosis/src/icon.ts
+++ b/packages/gnosis/src/icon.ts
@@ -1,5 +1,5 @@
export default `
`
diff --git a/packages/hw-common/package.json b/packages/hw-common/package.json
index c07d2f7d4..63bd58881 100644
--- a/packages/hw-common/package.json
+++ b/packages/hw-common/package.json
@@ -1,6 +1,6 @@
{
"name": "@web3-onboard/hw-common",
- "version": "2.0.4",
+ "version": "2.1.0",
"description": "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, 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/hw-common/src/account-select.ts b/packages/hw-common/src/account-select.ts
index 7b2c9a27f..ff34593ad 100644
--- a/packages/hw-common/src/account-select.ts
+++ b/packages/hw-common/src/account-select.ts
@@ -59,7 +59,7 @@ const mountAccountSelect = (
target.innerHTML = `
`
+ const containerElementQuery = selectAccountOptions.containerElement || 'body'
+
+ const containerElement = document.querySelector(containerElementQuery)
+
+ if (!containerElement) {
+ throw new Error(
+ `Element with query ${containerElementQuery} does not exist.`
+ )
+ }
- document.body.appendChild(accountSelectDomElement)
+ containerElement.appendChild(accountSelectDomElement)
const app = new AccountSelect({
target: target,
diff --git a/packages/hw-common/src/elements/AddressTable.svelte b/packages/hw-common/src/elements/AddressTable.svelte
index abe6fd761..711cc08d1 100644
--- a/packages/hw-common/src/elements/AddressTable.svelte
+++ b/packages/hw-common/src/elements/AddressTable.svelte
@@ -21,28 +21,20 @@
}
table thead {
- position: sticky;
- inset-block-start: 0; /* "top" */
box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.1);
- background: var(--account-select-white, var(--onboard-white, var(--white)));
+ background: var(--account-select-background-color, var(--foreground-color));
}
th,
td {
text-align: left;
- padding: 0.5rem 0.5rem;
+ padding: 0.4rem 0.5rem;
}
td {
- font-family: var(
- --account-select-font-family-normal,
- var(--font-family-normal)
- );
- font-style: normal;
- font-weight: normal;
font-size: var(
- --account-select-font-size-5,
- var(--onboard-font-size-5, var(--font-size-5))
+ --account-select-font-size-6,
+ var(--onboard-font-size-6, var(--font-size-6))
);
line-height: var(
--account-select-font-line-height-1,
@@ -59,12 +51,12 @@
--account-select-primary-100,
var(--onboard-primary-100, var(--primary-100))
);
- color: var(--account-select-black, var(--onboard-black, var(--black)));
+ color: var(--account-select-text-color, var(--onboard-black, var(--black)));
}
.address-table {
min-height: 4.5rem;
- max-height: 27rem;
+ max-height: 14rem;
overflow: auto;
}
@@ -90,6 +82,24 @@
.pointer {
cursor: pointer;
}
+
+ @media all and (min-width: 768px) {
+ .address-table {
+ max-height: 27rem;
+ }
+
+ td {
+ font-size: var(
+ --account-select-font-size-5,
+ var(--onboard-font-size-5, var(--font-size-5))
+ );
+ }
+
+ th,
+ td {
+ padding: 0.5rem 0.5rem;
+ }
+ }
diff --git a/packages/hw-common/src/elements/CloseButton.svelte b/packages/hw-common/src/elements/CloseButton.svelte
index 699d77ed4..1a1a944a7 100644
--- a/packages/hw-common/src/elements/CloseButton.svelte
+++ b/packages/hw-common/src/elements/CloseButton.svelte
@@ -3,33 +3,48 @@
diff --git a/packages/hw-common/src/elements/TableHeader.svelte b/packages/hw-common/src/elements/TableHeader.svelte
index 5cc436ba3..4c1aeb423 100644
--- a/packages/hw-common/src/elements/TableHeader.svelte
+++ b/packages/hw-common/src/elements/TableHeader.svelte
@@ -10,7 +10,7 @@
diff --git a/packages/hw-common/src/entry-modal.ts b/packages/hw-common/src/entry-modal.ts
index daecd4512..77e1d32da 100644
--- a/packages/hw-common/src/entry-modal.ts
+++ b/packages/hw-common/src/entry-modal.ts
@@ -215,7 +215,8 @@ const passphraseHTML = `
export const entryModal = (
modalType: string,
submit: (value: string) => void,
- cancel: () => void
+ cancel: () => void,
+ containerElement?: string
): void => {
const modalHtml = modalType === 'pin' ? pinHTML : passphraseHTML
@@ -236,13 +237,23 @@ export const entryModal = (
}
}
+ const containerElementQuery = containerElement || 'body'
+
+ const containerEl = document.querySelector(containerElementQuery)
+
+ if (!containerEl) {
+ throw new Error(
+ `Element with query ${containerElementQuery} does not exist.`
+ )
+ }
+
// Creates a modal component which gets
// mounted to the body and is passed the pin html into it's slot
const div = document.createElement('div')
div.innerHTML = modalHtml
div.className = 'keepkey-modal'
const pinModal = new Modal({
- target: document.body,
+ target: containerEl,
props: {
closeModal: () => {
// Cancels any action that the keepkey wallet may be doing
diff --git a/packages/hw-common/src/types.ts b/packages/hw-common/src/types.ts
index b9b7ad960..9f9f75127 100644
--- a/packages/hw-common/src/types.ts
+++ b/packages/hw-common/src/types.ts
@@ -43,6 +43,7 @@ export type SelectAccountOptions = {
chains: Chain[] // the selectable chains/networks to scan for balance
scanAccounts: ScanAccounts
supportsCustomPath?: boolean
+ containerElement?: string
}
export type BasePath = {
diff --git a/packages/hw-common/src/validation.ts b/packages/hw-common/src/validation.ts
index d2da3a50b..2b202941d 100644
--- a/packages/hw-common/src/validation.ts
+++ b/packages/hw-common/src/validation.ts
@@ -28,7 +28,8 @@ const selectAccountOptions = Joi.object({
assets: assets,
chains: chains,
scanAccounts: Joi.function().arity(1).required(),
- supportsCustomPath: Joi.bool()
+ supportsCustomPath: Joi.bool(),
+ containerElement: Joi.string()
})
export const validateSelectAccountOptions = (
diff --git a/packages/hw-common/src/views/AccountSelect.svelte b/packages/hw-common/src/views/AccountSelect.svelte
index 81ca6cef7..0efdea2c1 100644
--- a/packages/hw-common/src/views/AccountSelect.svelte
+++ b/packages/hw-common/src/views/AccountSelect.svelte
@@ -21,7 +21,8 @@
assets,
chains,
scanAccounts,
- supportsCustomPath = true
+ supportsCustomPath = true,
+ containerElement
} = selectAccountOptions
let accountsListObject: AccountsList | undefined
@@ -123,17 +124,8 @@
--account-select-font-size-5,
var(--onboard-font-size-5, var(--font-size-5))
);
- line-height: var(
- --account-select-font-line-height-1,
- var(--onboard-font-line-height-1, var(--font-line-height-1))
- );
- color: var(
- --account-select-gray-600,
- var(--onboard-gray-600, var(--gray-600))
- );
transition: all 200ms ease-in-out;
- border: 2px solid
- var(--account-select-gray-200, var(--onboard-gray-200, var(--gray-200)));
+ border: 2px solid var(--account-select-gray-200, var(--border-color));
box-sizing: border-box;
height: 3rem;
-ms-overflow-style: none;
@@ -254,7 +246,7 @@
select:disabled {
background: var(
- --account-select-gray-100,
+ --account-select-accent-background-color,
var(--onboard-gray-100, var(--gray-100))
);
}
@@ -269,11 +261,8 @@
}
.container {
- font-family: var(
- --account-select-font-family-normal,
- var(--onboard-font-family-normal, var(--font-family-normal))
- );
- color: var(--account-select-black, var(--onboard-black, var(--black)));
+ font-family: var(--onboard-font-family-normal, var(--font-family-normal));
+ color: var(--account-select-text-color, var(--text-color));
position: fixed;
top: 0;
right: 0;
@@ -282,21 +271,32 @@
var(--account-select-modal-z-index)
);
display: flex;
- width: 100vw;
- height: 100vh;
align-items: center;
justify-content: center;
backdrop-filter: blur(4px);
- background-color: rgba(0, 0, 0, 0.2);
+ background: var(--account-select-background-color, rgba(0, 0, 0, 0.2));
+ }
+
+ .fixed {
+ position: fixed;
+ }
+
+ .h-w-100 {
+ width: 100vw;
+ height: 100vh;
}
.hardware-connect-modal {
- width: 50rem;
+ width: 100%;
+ flex-flow: column;
+ display: flex;
max-height: 51.75rem;
- display: table;
- background: var(--account-select-white, var(--onboard-white, var(--white)));
+ background: var(
+ --account-select-background-color,
+ var(--background-color)
+ );
box-shadow: var(
- --account-select-shadow-1,
+ --account-select-shadow,
var(--onboard-shadow-1, var(--shadow-1))
);
border-radius: 1.5rem;
@@ -320,14 +320,13 @@
--onboard-account-select-modal-right,
var(--account-select-modal-right)
);
+ max-height: 100vh;
+ overflow: scroll;
}
.connect-wallet-header {
position: relative;
- background: var(
- --account-select-gray-100,
- var(--onboard-gray-100, var(--gray-100))
- );
+ border-bottom: 1px solid var(--border-color, transparent);
border-radius: 1.5rem 1.5rem 0 0;
display: flex;
justify-content: space-between;
@@ -337,6 +336,7 @@
.modal-controls {
display: flex;
+ flex-wrap: wrap;
justify-content: space-between;
align-items: center;
padding: 1rem;
@@ -344,10 +344,6 @@
}
.control-label {
- font-family: var(
- --account-select-font-family-normal,
- var(--onboard-font-family-normal, var(--font-family-normal))
- );
font-style: normal;
font-weight: bold;
font-size: var(
@@ -366,14 +362,7 @@
--account-select-margin-5,
var(--onboard-margin-5, var(--margin-5))
);
- color: var(
- --account-select-gray-700,
- var(--onboard-gray-700, var(--gray-700))
- );
- }
-
- .base-path-select {
- min-width: 20rem;
+ color: var(--account-select-gray-700, inherit);
}
.asset-select {
@@ -396,19 +385,14 @@
);
}
- .input-select {
- background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23242835%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E),
- linear-gradient(to bottom, transparent 0%, transparent 100%);
- background-repeat: no-repeat, repeat;
- background-position: center;
- background-size: 0.65em auto, 100%;
+ .hidden-input-select {
position: absolute;
top: 2.7rem;
right: 0.2rem;
width: 2.5rem;
height: 2.5rem;
- background: var(--account-select-white, var(--onboard-white, var(--white)));
- border-radius: 1rem;
+ background: transparent;
+ cursor: pointer;
}
.asset-container {
@@ -421,28 +405,51 @@
.table-section {
max-height: 31.8rem;
padding: 1rem;
+ margin-top: 2rem;
}
.table-container {
- background: var(--account-select-white, var(--onboard-white, var(--white)));
- border: 2px solid
- var(--account-select-gray-200, var(--onboard-gray-200, var(--gray-200)));
+ border: 2px solid var(--account-select-gray-200, var(--border-color));
box-sizing: border-box;
border-radius: 0.5rem;
}
.address-found-count {
- padding: 1rem;
- color: var(
- --account-select-gray-500,
- var(--onboard-gray-500, var(--gray-500))
- );
+ padding: 0 2rem;
+ }
+ @media all and (min-width: 768px) {
+ .hardware-connect-modal {
+ width: 50rem;
+ display: table;
+ flex-flow: unset;
+ }
+ .modal-controls {
+ flex-wrap: nowrap;
+ }
+
+ .base-path-select {
+ min-width: 20rem;
+ }
+
+ .table-section {
+ margin-top: unset;
+ }
+
+ .account-select-modal-position {
+ max-height: unset;
+ overflow: unset;
+ }
}
-