@bosonprotocol/react-kit 0.33.0-alpha.9 → 0.33.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/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/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 +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -1
- 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/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/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 +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- 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 +2 -0
- 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
package/src/index.tsx
CHANGED
|
@@ -33,6 +33,7 @@ export * from "./components/currencyDisplay/CurrencyDisplay";
|
|
|
33
33
|
export * from "./components/exchangeCard/ExchangeCard";
|
|
34
34
|
export * from "./components/image/Image";
|
|
35
35
|
export * from "./components/ui/IpfsImage";
|
|
36
|
+
export { Video, VideoProps } from "./components/ui/Video";
|
|
36
37
|
export * from "./components/ui/loading/Loading";
|
|
37
38
|
export * from "./components/productCard/ProductCard";
|
|
38
39
|
export * from "./components/productCard/const";
|
|
@@ -71,6 +72,7 @@ export * from "./components/ui/MuteButton";
|
|
|
71
72
|
export * from "./components/ui/CardCTA";
|
|
72
73
|
export * from "./components/form";
|
|
73
74
|
export * from "./lib/magicLink/logout";
|
|
75
|
+
export * from "./lib/bytes/bytesToSize";
|
|
74
76
|
export * from "./lib/magicLink/provider";
|
|
75
77
|
export * from "./lib/const/networks";
|
|
76
78
|
export * from "./lib/errors/transactions";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export function bytesToSize(bytes: number) {
|
|
2
2
|
const sizes = ["Bytes", "KB", "MB", "GB", "TB"];
|
|
3
3
|
const i = Math.floor(Math.log(bytes) / Math.log(1024));
|
|
4
4
|
return `${Math.round(bytes / Math.pow(1024, i))} ${sizes[i]}`;
|
|
@@ -5,7 +5,7 @@ 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
7
|
|
|
8
|
-
import { SupportedL1ChainId, SupportedL2ChainId } from "./chains";
|
|
8
|
+
import { LocalChainId, SupportedL1ChainId, SupportedL2ChainId } from "./chains";
|
|
9
9
|
|
|
10
10
|
export const AVERAGE_L1_BLOCK_TIME = ms(`12s`);
|
|
11
11
|
|
|
@@ -113,6 +113,15 @@ const CHAIN_INFO: ChainInfoMap = {
|
|
|
113
113
|
symbol: "aMATIC",
|
|
114
114
|
decimals: 18
|
|
115
115
|
}
|
|
116
|
+
},
|
|
117
|
+
[LocalChainId]: {
|
|
118
|
+
networkType: NetworkType.L1,
|
|
119
|
+
docs: "https://docs.uniswap.org/",
|
|
120
|
+
explorer: "https://etherscan.io/",
|
|
121
|
+
infoLink: "https://info.uniswap.org/#/",
|
|
122
|
+
label: "Local",
|
|
123
|
+
logoUrl: ethereumLogoUrl,
|
|
124
|
+
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 }
|
|
116
125
|
}
|
|
117
126
|
} as const;
|
|
118
127
|
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { BaseCheckbox, BaseCheckboxProps } from "../../components/form";
|
|
3
|
+
import { Formik } from "formik";
|
|
4
|
+
import type { Meta } from "@storybook/react";
|
|
5
|
+
import { theme } from "../../theme";
|
|
6
|
+
import { bosonCheckboxTheme } from "../../components/form/Checkbox";
|
|
7
|
+
const colors = theme.colors.light;
|
|
8
|
+
|
|
9
|
+
const inputName = "test";
|
|
10
|
+
// More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
11
|
+
export default {
|
|
12
|
+
title: "Visual Components/Inputs/BaseCheckbox",
|
|
13
|
+
component: BaseCheckbox,
|
|
14
|
+
parameters: {
|
|
15
|
+
// Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
|
|
16
|
+
layout: "centered"
|
|
17
|
+
},
|
|
18
|
+
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
19
|
+
tags: ["autodocs"],
|
|
20
|
+
// More on argTypes: https://storybook.js.org/docs/api/argtypes
|
|
21
|
+
argTypes: {
|
|
22
|
+
disabled: { control: "boolean" },
|
|
23
|
+
text: { control: "text" }
|
|
24
|
+
},
|
|
25
|
+
// Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
|
|
26
|
+
// args: { onClick: fn() },
|
|
27
|
+
decorators: [
|
|
28
|
+
(Story, { name }) => {
|
|
29
|
+
return (
|
|
30
|
+
<Formik<{ [inputName]: unknown }>
|
|
31
|
+
onSubmit={() => {
|
|
32
|
+
//
|
|
33
|
+
}}
|
|
34
|
+
initialErrors={
|
|
35
|
+
name.toLowerCase().includes("error")
|
|
36
|
+
? { [inputName]: "Checkbox error!" }
|
|
37
|
+
: {}
|
|
38
|
+
}
|
|
39
|
+
initialValues={{ [inputName]: "" }}
|
|
40
|
+
initialTouched={{ [inputName]: true }}
|
|
41
|
+
>
|
|
42
|
+
<Story />
|
|
43
|
+
</Formik>
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
] satisfies Meta<typeof BaseCheckbox>["decorators"]
|
|
47
|
+
} satisfies Meta<typeof BaseCheckbox>;
|
|
48
|
+
|
|
49
|
+
const BASE_ARGS = {
|
|
50
|
+
name: inputName,
|
|
51
|
+
text: "text next to checkbox via 'text' prop",
|
|
52
|
+
theme: bosonCheckboxTheme
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export const Simple = {
|
|
56
|
+
args: {
|
|
57
|
+
...BASE_ARGS
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export const CustomTheme = {
|
|
62
|
+
name: "With custom theme",
|
|
63
|
+
args: {
|
|
64
|
+
...BASE_ARGS,
|
|
65
|
+
theme: {
|
|
66
|
+
backgroundColor: colors.blue,
|
|
67
|
+
borderColor: colors.green,
|
|
68
|
+
color: colors.red,
|
|
69
|
+
borderRadius: "4px",
|
|
70
|
+
hover: {
|
|
71
|
+
borderColor: colors.red,
|
|
72
|
+
backgroundColor: colors.primary,
|
|
73
|
+
color: colors.darkRed
|
|
74
|
+
},
|
|
75
|
+
checked: {
|
|
76
|
+
borderColor: "#ff00d4",
|
|
77
|
+
color: "#ff00d4",
|
|
78
|
+
backgroundColor: "#ff00d444"
|
|
79
|
+
},
|
|
80
|
+
error: {
|
|
81
|
+
color: colors.orange,
|
|
82
|
+
borderColor: colors.bosonSkyBlue,
|
|
83
|
+
backgroundColor: colors.cyan
|
|
84
|
+
}
|
|
85
|
+
} satisfies BaseCheckboxProps["theme"]
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
export const InputWithError = {
|
|
89
|
+
name: "With error",
|
|
90
|
+
args: {
|
|
91
|
+
...BASE_ARGS
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export const CustomThemeWithError = {
|
|
96
|
+
name: "With custom theme and error",
|
|
97
|
+
args: {
|
|
98
|
+
...BASE_ARGS,
|
|
99
|
+
theme: {
|
|
100
|
+
backgroundColor: colors.blue,
|
|
101
|
+
borderColor: colors.green,
|
|
102
|
+
hover: {
|
|
103
|
+
borderColor: colors.red,
|
|
104
|
+
backgroundColor: colors.grey
|
|
105
|
+
},
|
|
106
|
+
error: {
|
|
107
|
+
color: colors.orange,
|
|
108
|
+
borderColor: colors.bosonSkyBlue,
|
|
109
|
+
backgroundColor: colors.cyan
|
|
110
|
+
}
|
|
111
|
+
} satisfies BaseCheckboxProps["theme"]
|
|
112
|
+
}
|
|
113
|
+
};
|
|
@@ -74,7 +74,14 @@ export default {
|
|
|
74
74
|
initialValues={{ [inputName]: "" }}
|
|
75
75
|
initialTouched={{ [inputName]: true }}
|
|
76
76
|
>
|
|
77
|
-
|
|
77
|
+
{({ values }) => {
|
|
78
|
+
return (
|
|
79
|
+
<>
|
|
80
|
+
<Story args={{ ...args, name: inputName }} />
|
|
81
|
+
<div>selected value: {JSON.stringify(values)}</div>
|
|
82
|
+
</>
|
|
83
|
+
);
|
|
84
|
+
}}
|
|
78
85
|
</Formik>
|
|
79
86
|
);
|
|
80
87
|
}
|
|
@@ -95,16 +102,47 @@ export const CustomTheme = {
|
|
|
95
102
|
args: {
|
|
96
103
|
...BASE_ARGS,
|
|
97
104
|
theme: {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
control: {
|
|
106
|
+
color: "yellow",
|
|
107
|
+
height: undefined,
|
|
108
|
+
background: colors.arsenic,
|
|
109
|
+
borderRadius: "16px",
|
|
110
|
+
padding: "3px",
|
|
111
|
+
boxShadow: "1px 2px 3px 4px blue",
|
|
112
|
+
borderWidth: undefined,
|
|
113
|
+
border: "1px solid green",
|
|
114
|
+
focus: {
|
|
115
|
+
border: "1px solid red"
|
|
116
|
+
},
|
|
117
|
+
hover: {
|
|
118
|
+
borderColor: "purple",
|
|
119
|
+
borderWidth: "1px"
|
|
120
|
+
},
|
|
121
|
+
error: {
|
|
122
|
+
border: "1px solid orange"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
option: {
|
|
126
|
+
opacity: "1",
|
|
127
|
+
background: "pink",
|
|
128
|
+
color: "brown",
|
|
129
|
+
selected: {
|
|
130
|
+
background: "yellow",
|
|
131
|
+
color: "cyan"
|
|
132
|
+
},
|
|
133
|
+
disabled: {
|
|
134
|
+
opacity: "0.8"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
placeholder: {
|
|
138
|
+
color: "red"
|
|
139
|
+
},
|
|
140
|
+
input: {
|
|
141
|
+
color: "cyan"
|
|
142
|
+
},
|
|
143
|
+
singleValue: {
|
|
144
|
+
color: "orange"
|
|
145
|
+
}
|
|
108
146
|
}
|
|
109
147
|
} satisfies CountrySelectProps
|
|
110
148
|
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { fn } from "@storybook/test";
|
|
2
|
+
import { Select, SelectProps, theme } from "../../index";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Meta } from "@storybook/react";
|
|
5
|
+
import { Formik } from "formik";
|
|
6
|
+
|
|
7
|
+
const inputWithErrors = "With error";
|
|
8
|
+
const inputName = "test";
|
|
9
|
+
|
|
10
|
+
const colors = theme.colors.light;
|
|
11
|
+
// More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
12
|
+
export default {
|
|
13
|
+
title: "Visual Components/Selects/Select",
|
|
14
|
+
component: Select,
|
|
15
|
+
parameters: {
|
|
16
|
+
// Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
|
|
17
|
+
layout: "centered"
|
|
18
|
+
},
|
|
19
|
+
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
20
|
+
tags: ["autodocs"],
|
|
21
|
+
args: { onChange: fn() },
|
|
22
|
+
argTypes: {
|
|
23
|
+
name: {
|
|
24
|
+
table: {
|
|
25
|
+
disable: true // remove name input in controls
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
theme: {
|
|
29
|
+
table: {
|
|
30
|
+
disable: true // remove name input in controls
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
disabled: { control: "boolean" },
|
|
34
|
+
placeholder: { control: "text" }
|
|
35
|
+
},
|
|
36
|
+
decorators: [
|
|
37
|
+
(Story, { args, name }) => {
|
|
38
|
+
return (
|
|
39
|
+
<Formik<{ [inputName]: unknown }>
|
|
40
|
+
onSubmit={() => {
|
|
41
|
+
//
|
|
42
|
+
}}
|
|
43
|
+
initialErrors={
|
|
44
|
+
name === inputWithErrors
|
|
45
|
+
? { [inputName]: "There has been an error!" }
|
|
46
|
+
: {}
|
|
47
|
+
}
|
|
48
|
+
initialValues={{ [inputName]: "" }}
|
|
49
|
+
initialTouched={{ [inputName]: true }}
|
|
50
|
+
>
|
|
51
|
+
<Story args={{ ...args, name: inputName }} />
|
|
52
|
+
</Formik>
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
} satisfies Meta<typeof Select>;
|
|
57
|
+
|
|
58
|
+
const BASE_ARGS = {
|
|
59
|
+
name: inputName,
|
|
60
|
+
options: [
|
|
61
|
+
{ label: "first option", value: "1" },
|
|
62
|
+
{ label: "second option", value: "2" },
|
|
63
|
+
{ label: "third option", value: "3" }
|
|
64
|
+
]
|
|
65
|
+
} as SelectProps;
|
|
66
|
+
|
|
67
|
+
// More on args: https://storybook.js.org/docs/react/writing-stories/args
|
|
68
|
+
export const Base = {
|
|
69
|
+
args: { ...BASE_ARGS } satisfies SelectProps
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export const CustomTheme = {
|
|
73
|
+
args: {
|
|
74
|
+
...BASE_ARGS,
|
|
75
|
+
theme: {
|
|
76
|
+
control: {
|
|
77
|
+
background: colors.arsenic,
|
|
78
|
+
borderRadius: "16px",
|
|
79
|
+
padding: "3px",
|
|
80
|
+
boxShadow: "1px 2px 3px 4px blue",
|
|
81
|
+
borderWidth: undefined,
|
|
82
|
+
border: "1px solid green",
|
|
83
|
+
focus: {
|
|
84
|
+
border: "1px solid red"
|
|
85
|
+
},
|
|
86
|
+
hover: {
|
|
87
|
+
borderColor: undefined,
|
|
88
|
+
borderWidth: undefined,
|
|
89
|
+
border: "1px solid purple"
|
|
90
|
+
},
|
|
91
|
+
error: {
|
|
92
|
+
border: "1px solid orange"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
option: {
|
|
96
|
+
opacity: "1",
|
|
97
|
+
background: "pink",
|
|
98
|
+
color: "brown",
|
|
99
|
+
selected: {
|
|
100
|
+
background: "yellow",
|
|
101
|
+
color: "cyan"
|
|
102
|
+
},
|
|
103
|
+
disabled: {
|
|
104
|
+
opacity: "0.8"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
} satisfies SelectProps
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export const WithError = {
|
|
112
|
+
name: inputWithErrors,
|
|
113
|
+
args: {
|
|
114
|
+
...BASE_ARGS,
|
|
115
|
+
placeholder: "this is a placeholder"
|
|
116
|
+
} satisfies SelectProps
|
|
117
|
+
};
|