@bosonprotocol/react-kit 0.33.0-alpha.9 → 0.33.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/buttons/BaseButton.d.ts +1 -0
- package/dist/cjs/components/buttons/BaseButton.d.ts.map +1 -1
- package/dist/cjs/components/buttons/BaseButton.js +1 -0
- package/dist/cjs/components/buttons/BaseButton.js.map +1 -1
- package/dist/cjs/components/buttons/CommitButtonView.d.ts.map +1 -1
- package/dist/cjs/components/buttons/CommitButtonView.js +4 -0
- package/dist/cjs/components/buttons/CommitButtonView.js.map +1 -1
- package/dist/cjs/components/datepicker/DatePicker.style.d.ts +2 -2
- package/dist/cjs/components/error/SimpleError.d.ts +2 -2
- package/dist/cjs/components/error/SimpleError.d.ts.map +1 -1
- package/dist/cjs/components/error/SimpleError.js.map +1 -1
- package/dist/cjs/components/form/BaseCheckbox.d.ts +5 -0
- package/dist/cjs/components/form/BaseCheckbox.d.ts.map +1 -0
- package/dist/cjs/components/form/BaseCheckbox.js +69 -0
- package/dist/cjs/components/form/BaseCheckbox.js.map +1 -0
- package/dist/cjs/components/form/Checkbox.d.ts +13 -2
- package/dist/cjs/components/form/Checkbox.d.ts.map +1 -1
- package/dist/cjs/components/form/Checkbox.js +18 -61
- package/dist/cjs/components/form/Checkbox.js.map +1 -1
- package/dist/cjs/components/form/CountrySelect.d.ts +26 -11
- package/dist/cjs/components/form/CountrySelect.d.ts.map +1 -1
- package/dist/cjs/components/form/CountrySelect.js +64 -31
- package/dist/cjs/components/form/CountrySelect.js.map +1 -1
- package/dist/cjs/components/form/Field.styles.d.ts +36 -2
- package/dist/cjs/components/form/Field.styles.d.ts.map +1 -1
- package/dist/cjs/components/form/Field.styles.js +83 -24
- package/dist/cjs/components/form/Field.styles.js.map +1 -1
- package/dist/cjs/components/form/FormField.d.ts +2 -1
- package/dist/cjs/components/form/FormField.d.ts.map +1 -1
- package/dist/cjs/components/form/FormField.js +14 -2
- package/dist/cjs/components/form/FormField.js.map +1 -1
- package/dist/cjs/components/form/Select.d.ts +2 -1
- package/dist/cjs/components/form/Select.d.ts.map +1 -1
- package/dist/cjs/components/form/Select.js +32 -20
- package/dist/cjs/components/form/Select.js.map +1 -1
- package/dist/cjs/components/form/Upload/BaseUpload.d.ts +71 -0
- package/dist/cjs/components/form/Upload/BaseUpload.d.ts.map +1 -0
- package/dist/cjs/components/form/Upload/BaseUpload.js +264 -0
- package/dist/cjs/components/form/Upload/BaseUpload.js.map +1 -0
- package/dist/cjs/components/form/Upload/Upload.d.ts +3 -41
- package/dist/cjs/components/form/Upload/Upload.d.ts.map +1 -1
- package/dist/cjs/components/form/Upload/Upload.js +7 -258
- package/dist/cjs/components/form/Upload/Upload.js.map +1 -1
- package/dist/cjs/components/form/Upload/UploadedFile.js +2 -2
- package/dist/cjs/components/form/Upload/UploadedFile.js.map +1 -1
- package/dist/cjs/components/form/Upload/WithUploadToIpfs.d.ts.map +1 -1
- package/dist/cjs/components/form/Upload/WithUploadToIpfs.js +9 -12
- package/dist/cjs/components/form/Upload/WithUploadToIpfs.js.map +1 -1
- package/dist/cjs/components/form/index.d.ts +6 -4
- package/dist/cjs/components/form/index.d.ts.map +1 -1
- package/dist/cjs/components/form/index.js +7 -3
- package/dist/cjs/components/form/index.js.map +1 -1
- package/dist/cjs/components/form/types.d.ts +31 -3
- package/dist/cjs/components/form/types.d.ts.map +1 -1
- package/dist/cjs/components/ui/IpfsImage.d.ts +4 -3
- package/dist/cjs/components/ui/IpfsImage.d.ts.map +1 -1
- package/dist/cjs/components/ui/IpfsImage.js +2 -2
- package/dist/cjs/components/ui/IpfsImage.js.map +1 -1
- package/dist/cjs/components/ui/Video.d.ts +3 -3
- package/dist/cjs/components/ui/Video.d.ts.map +1 -1
- package/dist/cjs/components/ui/Video.js +7 -3
- package/dist/cjs/components/ui/Video.js.map +1 -1
- package/dist/cjs/hooks/ipfs/useIpfsStorage.d.ts.map +1 -1
- package/dist/cjs/hooks/ipfs/useIpfsStorage.js +2 -1
- package/dist/cjs/hooks/ipfs/useIpfsStorage.js.map +1 -1
- package/dist/cjs/hooks/transactions/usePendingTransactionsWithContext.d.ts +1 -1
- package/dist/cjs/hooks/useIpfsMetadataStorage.d.ts +2 -2
- package/dist/cjs/hooks/useIpfsMetadataStorage.d.ts.map +1 -1
- package/dist/cjs/hooks/useIpfsMetadataStorage.js +6 -6
- package/dist/cjs/hooks/useIpfsMetadataStorage.js.map +1 -1
- package/dist/cjs/hooks/useIpfsStorage.d.ts.map +1 -1
- package/dist/cjs/hooks/useIpfsStorage.js +2 -1
- package/dist/cjs/hooks/useIpfsStorage.js.map +1 -1
- package/dist/cjs/index.d.ts +63 -60
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +70 -66
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/bytes/bytesToSize.d.ts +1 -1
- package/dist/cjs/lib/bytes/bytesToSize.d.ts.map +1 -1
- package/dist/cjs/lib/bytes/bytesToSize.js +2 -1
- package/dist/cjs/lib/bytes/bytesToSize.js.map +1 -1
- package/dist/cjs/lib/const/chainInfo.d.ts.map +1 -1
- package/dist/cjs/lib/const/chainInfo.js +10 -0
- package/dist/cjs/lib/const/chainInfo.js.map +1 -1
- package/dist/esm/components/buttons/BaseButton.d.ts +1 -0
- package/dist/esm/components/buttons/BaseButton.d.ts.map +1 -1
- package/dist/esm/components/buttons/BaseButton.js +1 -0
- package/dist/esm/components/buttons/BaseButton.js.map +1 -1
- package/dist/esm/components/buttons/CommitButtonView.d.ts.map +1 -1
- package/dist/esm/components/buttons/CommitButtonView.js +4 -0
- package/dist/esm/components/buttons/CommitButtonView.js.map +1 -1
- package/dist/esm/components/datepicker/DatePicker.style.d.ts +2 -2
- package/dist/esm/components/error/SimpleError.d.ts +2 -2
- package/dist/esm/components/error/SimpleError.d.ts.map +1 -1
- package/dist/esm/components/error/SimpleError.js.map +1 -1
- package/dist/esm/components/form/BaseCheckbox.d.ts +5 -0
- package/dist/esm/components/form/BaseCheckbox.d.ts.map +1 -0
- package/dist/esm/components/form/BaseCheckbox.js +27 -0
- package/dist/esm/components/form/BaseCheckbox.js.map +1 -0
- package/dist/esm/components/form/Checkbox.d.ts +13 -2
- package/dist/esm/components/form/Checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/Checkbox.js +16 -25
- package/dist/esm/components/form/Checkbox.js.map +1 -1
- package/dist/esm/components/form/CountrySelect.d.ts +26 -11
- package/dist/esm/components/form/CountrySelect.d.ts.map +1 -1
- package/dist/esm/components/form/CountrySelect.js +97 -67
- package/dist/esm/components/form/CountrySelect.js.map +1 -1
- package/dist/esm/components/form/Field.styles.d.ts +36 -2
- package/dist/esm/components/form/Field.styles.d.ts.map +1 -1
- package/dist/esm/components/form/Field.styles.js +58 -20
- package/dist/esm/components/form/Field.styles.js.map +1 -1
- package/dist/esm/components/form/FormField.d.ts +2 -1
- package/dist/esm/components/form/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/FormField.js +2 -2
- package/dist/esm/components/form/FormField.js.map +1 -1
- package/dist/esm/components/form/Select.d.ts +2 -1
- package/dist/esm/components/form/Select.d.ts.map +1 -1
- package/dist/esm/components/form/Select.js +52 -30
- package/dist/esm/components/form/Select.js.map +1 -1
- package/dist/esm/components/form/Upload/BaseUpload.d.ts +71 -0
- package/dist/esm/components/form/Upload/BaseUpload.d.ts.map +1 -0
- package/dist/esm/components/form/Upload/BaseUpload.js +226 -0
- package/dist/esm/components/form/Upload/BaseUpload.js.map +1 -0
- package/dist/esm/components/form/Upload/Upload.d.ts +3 -41
- package/dist/esm/components/form/Upload/Upload.d.ts.map +1 -1
- package/dist/esm/components/form/Upload/Upload.js +5 -225
- package/dist/esm/components/form/Upload/Upload.js.map +1 -1
- package/dist/esm/components/form/Upload/UploadedFile.js +1 -1
- package/dist/esm/components/form/Upload/UploadedFile.js.map +1 -1
- package/dist/esm/components/form/Upload/WithUploadToIpfs.d.ts.map +1 -1
- package/dist/esm/components/form/Upload/WithUploadToIpfs.js +8 -11
- package/dist/esm/components/form/Upload/WithUploadToIpfs.js.map +1 -1
- package/dist/esm/components/form/index.d.ts +6 -4
- package/dist/esm/components/form/index.d.ts.map +1 -1
- package/dist/esm/components/form/index.js +4 -2
- package/dist/esm/components/form/index.js.map +1 -1
- package/dist/esm/components/form/types.d.ts +31 -3
- package/dist/esm/components/form/types.d.ts.map +1 -1
- package/dist/esm/components/ui/IpfsImage.d.ts +4 -3
- package/dist/esm/components/ui/IpfsImage.d.ts.map +1 -1
- package/dist/esm/components/ui/IpfsImage.js +2 -2
- package/dist/esm/components/ui/IpfsImage.js.map +1 -1
- package/dist/esm/components/ui/Video.d.ts +3 -3
- package/dist/esm/components/ui/Video.d.ts.map +1 -1
- package/dist/esm/components/ui/Video.js +5 -3
- package/dist/esm/components/ui/Video.js.map +1 -1
- package/dist/esm/hooks/ipfs/useIpfsStorage.d.ts.map +1 -1
- package/dist/esm/hooks/ipfs/useIpfsStorage.js +2 -1
- package/dist/esm/hooks/ipfs/useIpfsStorage.js.map +1 -1
- package/dist/esm/hooks/transactions/usePendingTransactionsWithContext.d.ts +1 -1
- package/dist/esm/hooks/useIpfsMetadataStorage.d.ts +2 -2
- package/dist/esm/hooks/useIpfsMetadataStorage.d.ts.map +1 -1
- package/dist/esm/hooks/useIpfsMetadataStorage.js +6 -6
- package/dist/esm/hooks/useIpfsMetadataStorage.js.map +1 -1
- package/dist/esm/hooks/useIpfsStorage.d.ts.map +1 -1
- package/dist/esm/hooks/useIpfsStorage.js +2 -1
- package/dist/esm/hooks/useIpfsStorage.js.map +1 -1
- package/dist/esm/index.d.ts +63 -60
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +63 -60
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/bytes/bytesToSize.d.ts +1 -1
- package/dist/esm/lib/bytes/bytesToSize.d.ts.map +1 -1
- package/dist/esm/lib/bytes/bytesToSize.js +1 -1
- package/dist/esm/lib/bytes/bytesToSize.js.map +1 -1
- package/dist/esm/lib/const/chainInfo.d.ts.map +1 -1
- package/dist/esm/lib/const/chainInfo.js +10 -0
- package/dist/esm/lib/const/chainInfo.js.map +1 -1
- package/package.json +5 -5
- package/src/components/buttons/BaseButton.tsx +4 -0
- package/src/components/buttons/CommitButtonView.tsx +4 -0
- package/src/components/error/SimpleError.tsx +2 -2
- package/src/components/form/BaseCheckbox.tsx +50 -0
- package/src/components/form/Checkbox.tsx +17 -40
- package/src/components/form/CountrySelect.tsx +178 -130
- package/src/components/form/Field.styles.ts +113 -24
- package/src/components/form/FormField.tsx +4 -1
- package/src/components/form/Select.tsx +65 -34
- package/src/components/form/Upload/BaseUpload.tsx +367 -0
- package/src/components/form/Upload/Upload.tsx +8 -360
- package/src/components/form/Upload/UploadedFile.tsx +1 -1
- package/src/components/form/Upload/WithUploadToIpfs.tsx +8 -11
- package/src/components/form/index.ts +6 -4
- package/src/components/form/types.ts +31 -3
- package/src/components/ui/IpfsImage.tsx +14 -7
- package/src/components/ui/Video.tsx +7 -5
- package/src/hooks/ipfs/useIpfsStorage.ts +2 -0
- package/src/hooks/useIpfsMetadataStorage.tsx +6 -4
- package/src/hooks/useIpfsStorage.ts +2 -0
- package/src/index.tsx +67 -64
- package/src/lib/bytes/bytesToSize.ts +1 -1
- package/src/lib/const/chainInfo.ts +10 -1
- package/src/stories/buttons/Upload.stories.tsx +8 -0
- package/src/stories/form/BaseCheckbox.stories.tsx +113 -0
- package/src/stories/selects/CountrySelect.stories.tsx +49 -11
- package/src/stories/selects/Select.stories.tsx +117 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainInfo.d.ts","sourceRoot":"","sources":["../../../../src/lib/const/chainInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAO5C,OAAO,
|
|
1
|
+
{"version":3,"file":"chainInfo.d.ts","sourceRoot":"","sources":["../../../../src/lib/const/chainInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAO5C,OAAO,EAAgB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEhF,eAAO,MAAM,qBAAqB,QAAY,CAAC;AAE/C,oBAAY,WAAW;IACrB,EAAE,IAAA;IACF,EAAE,IAAA;CACH;AACD,UAAU,aAAa;IACrB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,UAAU,WAAY,SAAQ,aAAa;IACzC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,UAAU,WAAY,SAAQ,aAAa;IACzC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAiFD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,kBAAkB,EAC3B,YAAY,CAAC,EAAE,MAAM,CACnB,OAAO,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,MAAM,EAC1D,OAAO,CACR,GACA,WAAW,CAAC;AACf,wBAAgB,YAAY,CAC1B,OAAO,EAAE,kBAAkB,EAC3B,YAAY,CAAC,EAAE,MAAM,CACnB,OAAO,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,MAAM,EAC1D,OAAO,CACR,GACA,WAAW,CAAC;AACf,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,MAAM,CACnB,OAAO,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,MAAM,EAC1D,OAAO,CACR,GACA,WAAW,GAAG,WAAW,CAAC;AAC7B,wBAAgB,YAAY,CAC1B,OAAO,EACH,OAAO,GACP,kBAAkB,GAClB,kBAAkB,GAClB,MAAM,GACN,SAAS,EACb,YAAY,CAAC,EAAE,MAAM,CACnB,OAAO,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,MAAM,EAC1D,OAAO,CACR,GACA,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC"}
|
|
@@ -4,6 +4,7 @@ import polygonCircleLogoUrl from "../../assets/polygonCircle.png";
|
|
|
4
4
|
import polygonMaticLogo from "../../assets/svg/polygon-matic-logo.svg";
|
|
5
5
|
import polygonSquareLogoUrl from "../../assets/svg/polygon_square_logo.svg";
|
|
6
6
|
import ms from "ms";
|
|
7
|
+
import { LocalChainId } from "./chains";
|
|
7
8
|
export const AVERAGE_L1_BLOCK_TIME = ms(`12s`);
|
|
8
9
|
export var NetworkType;
|
|
9
10
|
(function (NetworkType) {
|
|
@@ -71,6 +72,15 @@ const CHAIN_INFO = {
|
|
|
71
72
|
symbol: "aMATIC",
|
|
72
73
|
decimals: 18
|
|
73
74
|
}
|
|
75
|
+
},
|
|
76
|
+
[LocalChainId]: {
|
|
77
|
+
networkType: NetworkType.L1,
|
|
78
|
+
docs: "https://docs.uniswap.org/",
|
|
79
|
+
explorer: "https://etherscan.io/",
|
|
80
|
+
infoLink: "https://info.uniswap.org/#/",
|
|
81
|
+
label: "Local",
|
|
82
|
+
logoUrl: ethereumLogoUrl,
|
|
83
|
+
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 }
|
|
74
84
|
}
|
|
75
85
|
};
|
|
76
86
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainInfo.js","sourceRoot":"","sources":["../../../../src/lib/const/chainInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"chainInfo.js","sourceRoot":"","sources":["../../../../src/lib/const/chainInfo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bosonprotocol/react-kit",
|
|
3
3
|
"description": "React toolkit with smart components and hooks for building on top of the Boson Protocol.",
|
|
4
|
-
"version": "0.33.
|
|
4
|
+
"version": "0.33.1-alpha.0",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
7
7
|
"types": "./dist/cjs/index.d.ts",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"license": "Apache-2.0",
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@bosonprotocol/chat-sdk": "^1.3.1-alpha.9",
|
|
18
|
-
"@bosonprotocol/core-sdk": "^1.40.5
|
|
19
|
-
"@bosonprotocol/ethers-sdk": "^1.14.5
|
|
20
|
-
"@bosonprotocol/ipfs-storage": "^1.11.4
|
|
18
|
+
"@bosonprotocol/core-sdk": "^1.40.5",
|
|
19
|
+
"@bosonprotocol/ethers-sdk": "^1.14.5",
|
|
20
|
+
"@bosonprotocol/ipfs-storage": "^1.11.4",
|
|
21
21
|
"@davatar/react": "1.11.1",
|
|
22
22
|
"@ethersproject/units": "5.6.0",
|
|
23
23
|
"@glidejs/glide": "3.6.0",
|
|
@@ -188,5 +188,5 @@
|
|
|
188
188
|
"overrides": {
|
|
189
189
|
"typescript": "^5.1.6"
|
|
190
190
|
},
|
|
191
|
-
"gitHead": "
|
|
191
|
+
"gitHead": "f584204fef7d4089c9f7e8b1aadccd2a74569472"
|
|
192
192
|
}
|
|
@@ -19,6 +19,7 @@ const colors = theme.colors.light;
|
|
|
19
19
|
const ButtonWithThemeProps = styled.button<{
|
|
20
20
|
size: ButtonSizeProp;
|
|
21
21
|
fill: boolean | undefined;
|
|
22
|
+
theme: BaseButtonTheme;
|
|
22
23
|
}>`
|
|
23
24
|
${() => Styles.button};
|
|
24
25
|
${(props) => Styles[props.size as keyof typeof Styles]}
|
|
@@ -26,6 +27,8 @@ const ButtonWithThemeProps = styled.button<{
|
|
|
26
27
|
border-color: ${(props) => props.theme?.borderColor || "transparent"};
|
|
27
28
|
border-width: ${(props) => props.theme?.borderWidth || 0}px;
|
|
28
29
|
border-radius: ${(props) => props.theme?.borderRadius || 0}px;
|
|
30
|
+
${(props) =>
|
|
31
|
+
props.theme?.boxShadow ? `box-shadow: ${props.theme.boxShadow}` : ""};
|
|
29
32
|
color: ${(props) => props.theme?.color || "#000000"};
|
|
30
33
|
background-color: ${(props) => props.theme?.background || "transparent"};
|
|
31
34
|
svg {
|
|
@@ -110,6 +113,7 @@ export type BaseButtonTheme = {
|
|
|
110
113
|
borderColor?: CSSProperties["borderColor"];
|
|
111
114
|
borderRadius?: CSSProperties["borderRadius"];
|
|
112
115
|
borderWidth?: CSSProperties["borderWidth"];
|
|
116
|
+
boxShadow?: CSSProperties["boxShadow"];
|
|
113
117
|
color?: CSSProperties["color"];
|
|
114
118
|
padding?: CSSProperties["padding"];
|
|
115
119
|
gap?: CSSProperties["gap"];
|
|
@@ -13,7 +13,7 @@ const StyledGrid = styled(Grid)<{
|
|
|
13
13
|
background-color: ${({ $background }) => $background};
|
|
14
14
|
`;
|
|
15
15
|
|
|
16
|
-
export type
|
|
16
|
+
export type SimpleErrorProps = GridProps & {
|
|
17
17
|
errorMessage?: string;
|
|
18
18
|
children?: ReactNode;
|
|
19
19
|
backgroundColor?: CSSProperties["backgroundColor"];
|
|
@@ -26,7 +26,7 @@ export function SimpleError({
|
|
|
26
26
|
backgroundColor = colors.lightGrey,
|
|
27
27
|
warningColor = colors.darkOrange,
|
|
28
28
|
...rest
|
|
29
|
-
}:
|
|
29
|
+
}: SimpleErrorProps) {
|
|
30
30
|
return (
|
|
31
31
|
<StyledGrid
|
|
32
32
|
justifyContent="flex-start"
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useField } from "formik";
|
|
2
|
+
import { Check } from "phosphor-react";
|
|
3
|
+
import React, { useEffect, useRef } from "react";
|
|
4
|
+
|
|
5
|
+
import Error from "./Error";
|
|
6
|
+
import { CheckboxWrapper } from "./Field.styles";
|
|
7
|
+
import type { CheckboxProps } from "./types";
|
|
8
|
+
|
|
9
|
+
export type BaseCheckboxProps = CheckboxProps;
|
|
10
|
+
export function BaseCheckbox({
|
|
11
|
+
name,
|
|
12
|
+
text,
|
|
13
|
+
theme,
|
|
14
|
+
hideError,
|
|
15
|
+
...props
|
|
16
|
+
}: BaseCheckboxProps) {
|
|
17
|
+
const [field, meta, helpers] = useField(name);
|
|
18
|
+
const ref = useRef(field.value);
|
|
19
|
+
const errorMessage = meta.error && meta.touched ? meta.error : "";
|
|
20
|
+
const displayError = typeof errorMessage === "string" && errorMessage !== "";
|
|
21
|
+
const checkboxId = `checkbox-${name}`;
|
|
22
|
+
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (ref.current !== field.value) {
|
|
25
|
+
if (!meta.touched) {
|
|
26
|
+
helpers.setTouched(true);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}, [field.value]); // eslint-disable-line
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<>
|
|
33
|
+
<CheckboxWrapper htmlFor={checkboxId} $error={errorMessage} theme={theme}>
|
|
34
|
+
<input
|
|
35
|
+
hidden
|
|
36
|
+
id={checkboxId}
|
|
37
|
+
type="checkbox"
|
|
38
|
+
{...props}
|
|
39
|
+
{...field}
|
|
40
|
+
checked={field.value}
|
|
41
|
+
/>
|
|
42
|
+
<div>
|
|
43
|
+
<Check size={16} />
|
|
44
|
+
</div>
|
|
45
|
+
<b>{text}</b>
|
|
46
|
+
</CheckboxWrapper>
|
|
47
|
+
<Error display={!hideError && displayError} message={errorMessage} />
|
|
48
|
+
</>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
@@ -1,43 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Check } from "phosphor-react";
|
|
3
|
-
import React, { useEffect, useRef } from "react";
|
|
1
|
+
import React from "react";
|
|
4
2
|
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import type { CheckboxProps } from "./types";
|
|
3
|
+
import { theme } from "../../theme";
|
|
4
|
+
import { BaseCheckbox, BaseCheckboxProps } from "./BaseCheckbox";
|
|
8
5
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<>
|
|
26
|
-
<CheckboxWrapper htmlFor={checkboxId} error={errorMessage}>
|
|
27
|
-
<input
|
|
28
|
-
hidden
|
|
29
|
-
id={checkboxId}
|
|
30
|
-
type="checkbox"
|
|
31
|
-
{...props}
|
|
32
|
-
{...field}
|
|
33
|
-
checked={field.value}
|
|
34
|
-
/>
|
|
35
|
-
<div>
|
|
36
|
-
<Check size={16} />
|
|
37
|
-
</div>
|
|
38
|
-
<b>{text || "Checkbox"}</b>
|
|
39
|
-
</CheckboxWrapper>
|
|
40
|
-
<Error display={displayError} message={errorMessage} />
|
|
41
|
-
</>
|
|
42
|
-
);
|
|
6
|
+
const colors = theme.colors.light;
|
|
7
|
+
export const bosonCheckboxTheme = {
|
|
8
|
+
backgroundColor: colors.lightGrey,
|
|
9
|
+
borderColor: colors.border,
|
|
10
|
+
hover: {
|
|
11
|
+
borderColor: colors.secondary
|
|
12
|
+
},
|
|
13
|
+
error: {
|
|
14
|
+
borderColor: colors.orange
|
|
15
|
+
}
|
|
16
|
+
} satisfies BaseCheckboxProps["theme"];
|
|
17
|
+
export type CheckboxProps = Omit<BaseCheckboxProps, "theme">;
|
|
18
|
+
export function Checkbox(props: CheckboxProps) {
|
|
19
|
+
return <BaseCheckbox {...props} theme={bosonCheckboxTheme} />;
|
|
43
20
|
}
|
|
@@ -4,18 +4,31 @@ import { GlobeHemisphereWest } from "phosphor-react";
|
|
|
4
4
|
import React, { forwardRef, useState, useEffect } from "react";
|
|
5
5
|
import type { Country as CountryCode } from "react-phone-number-input";
|
|
6
6
|
import PhoneInput from "react-phone-number-input";
|
|
7
|
-
import Select, {
|
|
7
|
+
import Select, {
|
|
8
|
+
CSSObjectWithLabel,
|
|
9
|
+
GroupBase,
|
|
10
|
+
StylesConfig,
|
|
11
|
+
components
|
|
12
|
+
} from "react-select";
|
|
8
13
|
import styled, { CSSProperties } from "styled-components";
|
|
9
14
|
import { zIndex } from "../ui/zIndex";
|
|
10
15
|
import Error from "./Error";
|
|
11
16
|
import type { InputProps } from "./types";
|
|
12
17
|
import { SelectDataProps } from "./types";
|
|
13
18
|
import { theme as importedTheme } from "../../theme";
|
|
19
|
+
import { checkIfValueIsEmpty } from "../../lib/object/checkIfValueIsEmpty";
|
|
14
20
|
export type { Country as CountryCode } from "react-phone-number-input";
|
|
15
21
|
|
|
16
22
|
const colors = importedTheme.colors.light;
|
|
17
|
-
const customStyles =
|
|
18
|
-
|
|
23
|
+
const customStyles = (
|
|
24
|
+
error: unknown,
|
|
25
|
+
customTheme: CountrySelectProps["theme"]
|
|
26
|
+
): StylesConfig<
|
|
27
|
+
SelectDataProps<string>,
|
|
28
|
+
false,
|
|
29
|
+
GroupBase<SelectDataProps<string>>
|
|
30
|
+
> => ({
|
|
31
|
+
control: (provided, state: any) => {
|
|
19
32
|
const before = state.selectProps.label
|
|
20
33
|
? {
|
|
21
34
|
":before": {
|
|
@@ -25,26 +38,27 @@ const customStyles = {
|
|
|
25
38
|
}
|
|
26
39
|
}
|
|
27
40
|
: null;
|
|
28
|
-
const { theme } = state;
|
|
29
41
|
return {
|
|
30
42
|
...provided,
|
|
31
|
-
borderRadius: theme.borderRadius,
|
|
32
|
-
height: theme.controlHeight,
|
|
33
43
|
alignContent: "center",
|
|
34
44
|
padding: "0.4rem 1rem",
|
|
35
45
|
boxShadow: "none",
|
|
46
|
+
background: colors.lightGrey,
|
|
47
|
+
...customTheme?.control,
|
|
48
|
+
border: state.isFocused
|
|
49
|
+
? customTheme?.control?.focus?.border ?? `1px solid ${colors.secondary}`
|
|
50
|
+
: !checkIfValueIsEmpty(error)
|
|
51
|
+
? customTheme?.control?.error?.border ?? `1px solid ${colors.orange}`
|
|
52
|
+
: customTheme?.control?.border ?? `1px solid ${colors.border}`,
|
|
36
53
|
":hover": {
|
|
37
|
-
borderColor:
|
|
38
|
-
borderWidth: "1px"
|
|
54
|
+
borderColor: colors.secondary,
|
|
55
|
+
borderWidth: "1px",
|
|
56
|
+
...customTheme?.control?.hover
|
|
39
57
|
},
|
|
40
|
-
background: theme.colors.controlBackground,
|
|
41
|
-
border: state.isFocused
|
|
42
|
-
? `1px solid ${theme.colors.controlFocusBorderColor}`
|
|
43
|
-
: `1px solid ${theme.colors.controlUnfocusedBorderColor}`,
|
|
44
58
|
...before
|
|
45
59
|
};
|
|
46
60
|
},
|
|
47
|
-
container: (provided
|
|
61
|
+
container: (provided, state) => {
|
|
48
62
|
return {
|
|
49
63
|
...provided,
|
|
50
64
|
zIndex: state.isFocused ? zIndex.Select + 1 : zIndex.Select,
|
|
@@ -52,34 +66,56 @@ const customStyles = {
|
|
|
52
66
|
width: "100%"
|
|
53
67
|
};
|
|
54
68
|
},
|
|
55
|
-
option: (provided
|
|
56
|
-
const { theme } = state;
|
|
69
|
+
option: (provided, state: any) => {
|
|
57
70
|
return {
|
|
58
71
|
...provided,
|
|
72
|
+
...customTheme?.option,
|
|
59
73
|
cursor: state.isDisabled ? "not-allowed" : "pointer",
|
|
60
|
-
opacity: state.isDisabled
|
|
74
|
+
opacity: state.isDisabled
|
|
75
|
+
? customTheme?.option?.disabled?.opacity ?? "0.5"
|
|
76
|
+
: customTheme?.option?.opacity ?? "1",
|
|
61
77
|
background:
|
|
62
78
|
state.isOptionSelected || state.isSelected || state.isFocused
|
|
63
|
-
?
|
|
64
|
-
:
|
|
79
|
+
? customTheme?.option?.selected?.background ?? colors.lightGrey
|
|
80
|
+
: customTheme?.option?.background ?? colors.white,
|
|
65
81
|
color:
|
|
66
82
|
state.isOptionSelected || state.isSelected
|
|
67
|
-
?
|
|
68
|
-
:
|
|
83
|
+
? customTheme?.option?.selected?.color ?? colors.secondary
|
|
84
|
+
: customTheme?.option?.color ?? colors.black,
|
|
85
|
+
...(state.isDisabled && customTheme?.option?.disabled),
|
|
86
|
+
...((state.isOptionSelected || state.isSelected) &&
|
|
87
|
+
customTheme?.option?.selected),
|
|
88
|
+
...(state.isFocused && customTheme?.option?.focus),
|
|
89
|
+
...(!checkIfValueIsEmpty(error) && customTheme?.option?.error)
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
menu: (provided) => {
|
|
93
|
+
return {
|
|
94
|
+
...provided,
|
|
95
|
+
overflow: "hidden",
|
|
96
|
+
...customTheme?.menu,
|
|
97
|
+
...(!checkIfValueIsEmpty(error) && customTheme?.menu?.error)
|
|
69
98
|
};
|
|
70
99
|
},
|
|
71
|
-
menu: (provided) => ({
|
|
72
|
-
...provided,
|
|
73
|
-
overflow: "hidden"
|
|
74
|
-
}),
|
|
75
100
|
indicatorSeparator: () => ({
|
|
76
101
|
display: "none"
|
|
102
|
+
}),
|
|
103
|
+
placeholder: (provided) => ({
|
|
104
|
+
...provided,
|
|
105
|
+
...customTheme?.placeholder,
|
|
106
|
+
...(!checkIfValueIsEmpty(error) && customTheme?.placeholder?.error)
|
|
107
|
+
}),
|
|
108
|
+
input: (provided) => ({
|
|
109
|
+
...provided,
|
|
110
|
+
...customTheme?.input,
|
|
111
|
+
...(!checkIfValueIsEmpty(error) && customTheme?.input?.error)
|
|
112
|
+
}),
|
|
113
|
+
singleValue: (provided) => ({
|
|
114
|
+
...provided,
|
|
115
|
+
...customTheme?.singleValue,
|
|
116
|
+
...(!checkIfValueIsEmpty(error) && customTheme?.singleValue?.error)
|
|
77
117
|
})
|
|
78
|
-
}
|
|
79
|
-
SelectDataProps<string>,
|
|
80
|
-
false,
|
|
81
|
-
GroupBase<SelectDataProps<string>>
|
|
82
|
-
>;
|
|
118
|
+
});
|
|
83
119
|
|
|
84
120
|
const ControlGrid = styled.div`
|
|
85
121
|
display: flex;
|
|
@@ -88,6 +124,7 @@ const ControlGrid = styled.div`
|
|
|
88
124
|
align-items: center;
|
|
89
125
|
justify-content: space-between;
|
|
90
126
|
.PhoneInputCountryIcon {
|
|
127
|
+
max-width: fit-content;
|
|
91
128
|
min-width: 40px;
|
|
92
129
|
display: inline;
|
|
93
130
|
height: 27px;
|
|
@@ -95,6 +132,9 @@ const ControlGrid = styled.div`
|
|
|
95
132
|
max-width: 40px;
|
|
96
133
|
}
|
|
97
134
|
}
|
|
135
|
+
svg {
|
|
136
|
+
max-width: 40px;
|
|
137
|
+
}
|
|
98
138
|
`;
|
|
99
139
|
const OptionGrid = styled.div`
|
|
100
140
|
display: grid;
|
|
@@ -122,38 +162,57 @@ const PhoneWrapper = styled.div`
|
|
|
122
162
|
|
|
123
163
|
export type CountrySelectProps = InputProps & {
|
|
124
164
|
countries?: CountryCode[];
|
|
165
|
+
fieldValueIsCountryCode?: boolean; // if true, the field.value will be the countryCodeOrName, otherwise the country name
|
|
125
166
|
theme?: Partial<{
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
167
|
+
control: Partial<CSSProperties> &
|
|
168
|
+
Partial<{
|
|
169
|
+
hover: Partial<CSSProperties>;
|
|
170
|
+
focus: Partial<CSSProperties>;
|
|
171
|
+
error: Partial<CSSProperties>;
|
|
172
|
+
}>;
|
|
173
|
+
option: Partial<CSSProperties> &
|
|
174
|
+
Partial<{
|
|
175
|
+
selected: Partial<CSSProperties>;
|
|
176
|
+
disabled: Partial<CSSProperties>;
|
|
177
|
+
focus: Partial<CSSProperties>;
|
|
178
|
+
error: CSSProperties;
|
|
179
|
+
}>;
|
|
180
|
+
placeholder: Partial<CSSProperties> &
|
|
181
|
+
Partial<{ error: CSSObjectWithLabel }>;
|
|
182
|
+
input: Partial<CSSProperties> & Partial<{ error: CSSObjectWithLabel }>;
|
|
183
|
+
singleValue: Partial<CSSProperties> &
|
|
184
|
+
Partial<{ error: CSSObjectWithLabel }>;
|
|
185
|
+
menu: Partial<CSSProperties> & Partial<{ error: CSSObjectWithLabel }>;
|
|
136
186
|
}>;
|
|
137
187
|
};
|
|
138
|
-
|
|
188
|
+
type CountryName = string;
|
|
139
189
|
export function CountrySelect({
|
|
140
190
|
name,
|
|
141
191
|
countries,
|
|
142
192
|
theme: selectTheme,
|
|
193
|
+
fieldValueIsCountryCode,
|
|
143
194
|
...rest
|
|
144
195
|
}: CountrySelectProps) {
|
|
145
196
|
const { status } = useFormikContext();
|
|
146
197
|
const [initialized, setInitialized] = useState<boolean>(false);
|
|
147
198
|
const [field, meta, helpers] = useField(name);
|
|
148
|
-
const
|
|
149
|
-
const
|
|
150
|
-
|
|
199
|
+
const errorMessage = meta.error || status?.[name];
|
|
200
|
+
const displayErrorMessage =
|
|
201
|
+
meta.error && meta.touched && !errorMessage
|
|
202
|
+
? meta.error
|
|
203
|
+
: meta.error && meta.touched && errorMessage
|
|
204
|
+
? errorMessage
|
|
205
|
+
: "";
|
|
206
|
+
const displayError =
|
|
207
|
+
typeof displayErrorMessage === "string" && displayErrorMessage !== "";
|
|
151
208
|
const [phone, setPhone] = useState<string | undefined>(undefined);
|
|
152
|
-
const [
|
|
209
|
+
const [countryCodeOrName, setCountryCodeOrName] = useState<
|
|
210
|
+
CountryCode | CountryName | undefined
|
|
211
|
+
>();
|
|
153
212
|
|
|
154
213
|
useEffect(() => {
|
|
155
214
|
if (!initialized && field.value) {
|
|
156
|
-
|
|
215
|
+
setCountryCodeOrName(field.value);
|
|
157
216
|
setInitialized(true);
|
|
158
217
|
}
|
|
159
218
|
}, [field.value, initialized]); // eslint-disable-line
|
|
@@ -167,94 +226,83 @@ export function CountrySelect({
|
|
|
167
226
|
<div></div>
|
|
168
227
|
))}
|
|
169
228
|
addInternationalOption={false}
|
|
170
|
-
country={
|
|
229
|
+
country={countryCodeOrName}
|
|
171
230
|
value={phone}
|
|
172
231
|
onChange={(value) => setPhone((value || "").replace(/\+/g, ""))}
|
|
173
232
|
countries={countries}
|
|
174
|
-
countrySelectComponent={({ iconComponent: Icon, ...props }) =>
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
)}
|
|
248
|
-
{props.label}
|
|
249
|
-
</OptionGrid>
|
|
250
|
-
</components.Option>
|
|
251
|
-
);
|
|
252
|
-
}
|
|
253
|
-
}}
|
|
254
|
-
/>
|
|
255
|
-
</div>
|
|
256
|
-
</>
|
|
257
|
-
)}
|
|
233
|
+
countrySelectComponent={({ iconComponent: Icon, ...props }) => {
|
|
234
|
+
const value = (props?.options || []).find((o: SelectDataProps) =>
|
|
235
|
+
fieldValueIsCountryCode
|
|
236
|
+
? o.value === countryCodeOrName
|
|
237
|
+
: o.label === countryCodeOrName
|
|
238
|
+
);
|
|
239
|
+
return (
|
|
240
|
+
<>
|
|
241
|
+
<div>
|
|
242
|
+
<Select
|
|
243
|
+
{...rest}
|
|
244
|
+
{...props}
|
|
245
|
+
isDisabled={rest.disabled}
|
|
246
|
+
styles={customStyles(displayErrorMessage, selectTheme)}
|
|
247
|
+
name="countrySelect"
|
|
248
|
+
value={value}
|
|
249
|
+
onChange={(o: SelectDataProps) => {
|
|
250
|
+
if (!meta.touched) {
|
|
251
|
+
helpers.setTouched(true);
|
|
252
|
+
}
|
|
253
|
+
const value = fieldValueIsCountryCode ? o.value : o.label;
|
|
254
|
+
setCountryCodeOrName(value);
|
|
255
|
+
helpers.setValue(value);
|
|
256
|
+
}}
|
|
257
|
+
onBlur={() => {
|
|
258
|
+
if (!meta.touched) {
|
|
259
|
+
helpers.setTouched(true);
|
|
260
|
+
}
|
|
261
|
+
}}
|
|
262
|
+
components={{
|
|
263
|
+
Control: (props) => {
|
|
264
|
+
const country =
|
|
265
|
+
(props?.getValue()[0] as any)?.value || null;
|
|
266
|
+
return (
|
|
267
|
+
<components.Control {...props}>
|
|
268
|
+
<ControlGrid>
|
|
269
|
+
{country ? (
|
|
270
|
+
<Icon
|
|
271
|
+
country={country as CountryCode}
|
|
272
|
+
label=""
|
|
273
|
+
/>
|
|
274
|
+
) : (
|
|
275
|
+
<GlobeHemisphereWest />
|
|
276
|
+
)}
|
|
277
|
+
{props.children as any}
|
|
278
|
+
</ControlGrid>
|
|
279
|
+
</components.Control>
|
|
280
|
+
);
|
|
281
|
+
},
|
|
282
|
+
Option: (props) => {
|
|
283
|
+
const country = (props?.data as any)?.value || null;
|
|
284
|
+
return (
|
|
285
|
+
<components.Option {...props}>
|
|
286
|
+
<OptionGrid>
|
|
287
|
+
{country ? (
|
|
288
|
+
<Icon
|
|
289
|
+
country={country as CountryCode}
|
|
290
|
+
label={props.label}
|
|
291
|
+
/>
|
|
292
|
+
) : (
|
|
293
|
+
<GlobeHemisphereWest />
|
|
294
|
+
)}
|
|
295
|
+
{props.label}
|
|
296
|
+
</OptionGrid>
|
|
297
|
+
</components.Option>
|
|
298
|
+
);
|
|
299
|
+
}
|
|
300
|
+
}}
|
|
301
|
+
/>
|
|
302
|
+
</div>
|
|
303
|
+
</>
|
|
304
|
+
);
|
|
305
|
+
}}
|
|
258
306
|
/>
|
|
259
307
|
</PhoneWrapper>
|
|
260
308
|
<Error display={!rest.hideError && displayError} message={errorMessage} />
|