Skip to content

Commit 1995134

Browse files
authored
switch to stitches from plain css (#341)
1 parent addd844 commit 1995134

File tree

6 files changed

+53
-41
lines changed

6 files changed

+53
-41
lines changed

packages/components/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,13 @@
3838
"@chakra-ui/react": "^1.7.2",
3939
"@emotion/react": "^11",
4040
"@emotion/styled": "^11",
41+
"@stitches/react": "^1.2.8",
4142
"framer-motion": "^4"
4243
},
4344
"peerDependencies": {
45+
"ethers": "^5.5.2",
4446
"react": ">= 16.8.0 | >= 17.0.0",
45-
"react-dom": ">= 16.8.0 | >= 17.0.0",
46-
"ethers": "^5.5.2"
47+
"react-dom": ">= 16.8.0 | >= 17.0.0"
4748
},
4849
"devDependencies": {
4950
"@web3-ui/hooks": "^0.12.0",

packages/components/src/components/Address/Address.css

Lines changed: 0 additions & 10 deletions
This file was deleted.

packages/components/src/components/Address/Address.tsx

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { CopyIcon, CheckIcon } from '@chakra-ui/icons';
22
import React, { useState, useEffect } from 'react';
33
import { ethers } from 'ethers';
4-
import './Address.css';
4+
import { styled } from '@stitches/react';
55

66
export interface AddressProps {
77
/**
@@ -30,6 +30,17 @@ export interface AddressProps {
3030
className?: string;
3131
}
3232

33+
const Container = styled('div', {
34+
display: 'flex',
35+
alignItems: 'center',
36+
gap: '8px',
37+
});
38+
39+
const ErrorMessage = styled('p', {
40+
color: 'red',
41+
marginTop: '4px',
42+
});
43+
3344
/**
3445
* A component to display an address
3546
*/
@@ -98,7 +109,7 @@ export const Address: React.FC<AddressProps> = ({
98109

99110
return (
100111
<>
101-
<div
112+
<Container
102113
data-testid="address-container"
103114
className={`Web3UI_Address__Container ${className}`}
104115
style={{ cursor: copiable ? 'pointer' : 'initial' }}
@@ -110,8 +121,8 @@ export const Address: React.FC<AddressProps> = ({
110121
) : (
111122
<CopyIcon marginLeft="auto" color="gray.300" />
112123
)}
113-
</div>
114-
<p className="Web3UI_Address__Error">{error}</p>
124+
</Container>
125+
<ErrorMessage className="Web3UI_Address__Error">{error}</ErrorMessage>
115126
</>
116127
);
117128
};

packages/components/src/components/AddressInput/AddressInput.css

Lines changed: 0 additions & 19 deletions
This file was deleted.

packages/components/src/components/AddressInput/AddressInput.tsx

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
22
import { ethers } from 'ethers';
33
import { useDebounce } from './useDebounce';
44
import { JsonRpcSigner } from '@ethersproject/providers';
5-
import './AddressInput.css';
5+
import { styled } from '@stitches/react';
66

77
export interface AddressInputProps {
88
/**
@@ -31,6 +31,25 @@ export interface AddressInputProps {
3131
inputClassName?: string;
3232
}
3333

34+
const Container = styled('div', {
35+
display: 'flex',
36+
flexDirection: 'column',
37+
});
38+
39+
const Label = styled('label', {});
40+
41+
const Input = styled('input', {
42+
marginTop: '4px',
43+
padding: '8px',
44+
borderRadius: '7px',
45+
border: '1px solid #ccc',
46+
});
47+
48+
const ErrorMessage = styled('p', {
49+
color: 'red',
50+
marginTop: '4px',
51+
});
52+
3453
/**
3554
* A text input component that is used to get ETH addresses. ENS support included. You can also pass all the styling props of the Chakra UI Input component.
3655
*/
@@ -90,15 +109,20 @@ export const AddressInput: React.FC<
90109
}, [inputValue]);
91110

92111
return (
93-
<div className={`Web3UI_AddressInput__Container ${className}`}>
94-
{label && <label className="Web3UI_AddressInput__Label">{label}</label>}
95-
<input
112+
<Container className={`Web3UI_AddressInput__Container ${className}`}>
113+
{label && <Label className="Web3UI_AddressInput__Label">{label}</Label>}
114+
{/* @ts-expect-error TODO: Fix this type error */}
115+
<Input
96116
className={`Web3UI_AddressInput__Input ${inputClassName}`}
97117
value={inputValue}
98118
onChange={(e) => setInputValue(e.target.value)}
99119
{...props}
100120
/>
101-
{error && <p className="Web3UI_AddressInput__ErrorMessage">{error}</p>}
102-
</div>
121+
{error && (
122+
<ErrorMessage className="Web3UI_AddressInput__ErrorMessage">
123+
{error}
124+
</ErrorMessage>
125+
)}
126+
</Container>
103127
);
104128
};

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3810,6 +3810,11 @@
38103810
dependencies:
38113811
"@sinonjs/commons" "^1.7.0"
38123812

3813+
"@stitches/react@^1.2.8":
3814+
version "1.2.8"
3815+
resolved "https://registry.yarnpkg.com/@stitches/react/-/react-1.2.8.tgz#954f8008be8d9c65c4e58efa0937f32388ce3a38"
3816+
integrity sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==
3817+
38133818
"@storybook/addon-actions@6.4.0", "@storybook/addon-actions@^6.4.0":
38143819
version "6.4.0"
38153820
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.4.0.tgz#118dafe927bc480c1b07b3d1ed8643015190117c"

0 commit comments

Comments
 (0)