@0xsquid/ui 0.2.0-beta.0 → 0.3.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.
Files changed (30) hide show
  1. package/README.md +76 -1
  2. package/dist/cjs/index.js +466 -4326
  3. package/dist/cjs/types/components/badges/index.d.ts +2 -0
  4. package/dist/cjs/types/components/buttons/Dropdown.d.ts +4 -1
  5. package/dist/cjs/types/components/controls/index.d.ts +3 -0
  6. package/dist/cjs/types/components/index.d.ts +5 -0
  7. package/dist/cjs/types/components/layout/SwapConfiguration.d.ts +3 -0
  8. package/dist/cjs/types/components/layout/index.d.ts +8 -0
  9. package/dist/cjs/types/components/lists/index.d.ts +5 -0
  10. package/dist/cjs/types/components/typography/index.d.ts +3 -0
  11. package/dist/cjs/types/index.d.ts +1 -0
  12. package/dist/cjs/types/providers/SquidConfigProvider.d.ts +0 -1
  13. package/dist/cjs/types/providers/index.d.ts +1 -0
  14. package/dist/cjs/types/types/config.d.ts +1 -0
  15. package/dist/esm/index.js +445 -4327
  16. package/dist/esm/types/components/badges/index.d.ts +2 -0
  17. package/dist/esm/types/components/buttons/Dropdown.d.ts +4 -1
  18. package/dist/esm/types/components/controls/index.d.ts +3 -0
  19. package/dist/esm/types/components/index.d.ts +5 -0
  20. package/dist/esm/types/components/layout/SwapConfiguration.d.ts +3 -0
  21. package/dist/esm/types/components/layout/index.d.ts +8 -0
  22. package/dist/esm/types/components/lists/index.d.ts +5 -0
  23. package/dist/esm/types/components/typography/index.d.ts +3 -0
  24. package/dist/esm/types/index.d.ts +1 -0
  25. package/dist/esm/types/providers/SquidConfigProvider.d.ts +0 -1
  26. package/dist/esm/types/providers/index.d.ts +1 -0
  27. package/dist/esm/types/types/config.d.ts +1 -0
  28. package/dist/index.css +6 -6
  29. package/dist/index.d.ts +224 -2
  30. package/package.json +8 -5
@@ -0,0 +1,2 @@
1
+ export * from './BadgeImage';
2
+ export * from './UsdAmount';
@@ -2,6 +2,9 @@ interface DropdownProps {
2
2
  tokenImageUrl?: string;
3
3
  chainImageUrl?: string;
4
4
  tokenSymbol?: string;
5
+ chainBgColor?: string;
6
+ tokenBgColor?: string;
7
+ tokenTextColor?: string;
5
8
  }
6
- export declare function Dropdown({ chainImageUrl, tokenImageUrl, tokenSymbol, }: DropdownProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function Dropdown({ chainImageUrl, tokenImageUrl, tokenSymbol, chainBgColor, tokenBgColor, tokenTextColor, }: DropdownProps): import("react/jsx-runtime").JSX.Element;
7
10
  export {};
@@ -0,0 +1,3 @@
1
+ export * from './Input';
2
+ export * from './Switch';
3
+ export * from './Tooltip';
@@ -1 +1,6 @@
1
+ export * from './badges';
1
2
  export * from './buttons';
3
+ export * from './controls';
4
+ export * from './layout';
5
+ export * from './lists';
6
+ export * from './typography';
@@ -8,10 +8,13 @@ interface SwapConfigurationProps {
8
8
  isFetching?: boolean;
9
9
  chain?: {
10
10
  iconUrl: string;
11
+ bgColor: string;
11
12
  };
12
13
  token?: {
13
14
  iconUrl: string;
14
15
  symbol: string;
16
+ bgColor: string;
17
+ textColor: string;
15
18
  };
16
19
  }
17
20
  export declare function SwapConfiguration({ priceImpactPercentage, amount, swapAmountUsd, balance, isFetching, chain, token, direction, }: SwapConfigurationProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export * from './Boost';
2
+ export * from './DetailsToolbar';
3
+ export * from './Menu';
4
+ export * from './Modal';
5
+ export * from './NavigationBar';
6
+ export * from './ProductCard';
7
+ export * from './SwapConfiguration';
8
+ export * from './WalletAddress';
@@ -0,0 +1,5 @@
1
+ export * from './DropdownMenuItem';
2
+ export * from './HistoryItem';
3
+ export * from './ListItem';
4
+ export * from './MenuItem';
5
+ export * from './SectionTitle';
@@ -0,0 +1,3 @@
1
+ export * from './BodyText';
2
+ export * from './CaptionText';
3
+ export * from './HeadingText';
@@ -1 +1,2 @@
1
1
  export * from './components';
2
+ export * from './providers';
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { ConfigTheme } from '../types/config';
3
- export declare function useSquidConfig(): ConfigTheme;
4
3
  export declare function SquidConfigProvider({ theme, children, }: {
5
4
  theme?: ConfigTheme;
6
5
  children?: React.ReactNode;
@@ -0,0 +1 @@
1
+ export * from './SquidConfigProvider';
@@ -37,6 +37,7 @@ export interface ConfigTheme {
37
37
  'accent-salmon': string;
38
38
  'accent-gold': string;
39
39
  }
40
+ export declare const SQUID_THEME_CSS_VARIABLE_PREFIX = "--squid-theme-";
40
41
  /**
41
42
  * Mapping between readable variables name and css variables used TailwindCSS config
42
43
  */
package/dist/index.css CHANGED
@@ -2009,9 +2009,9 @@ video {
2009
2009
  cursor: not-allowed;
2010
2010
  }
2011
2011
 
2012
- .dropdown-mask {
2013
- -webkit-mask-image: url('/public/assets/images/dropdown-mask.png');
2014
- mask-image: url('/public/assets/images/dropdown-mask.png');
2012
+ .tw-token-chain-mask {
2013
+ -webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaIAAABQBAMAAACpCGz6AAAAAXNSR0IArs4c6QAAABtQTFRFR3BM////////////////////////////////Fv0dDgAAAAh0Uk5TABtReZjD3+88JgQSAAACUklEQVR42u3cQWsaURQF4PNGY7eP2ibbCYY2yyQbszSFQJYtFHSpXYRZthXBddXx/Nz+gxQay4Wpkzuzybtc5ttfOIc3iIz3iYowun8kV19vIhSVmTT0oBcFD3afIoQyk1L5UtBsSoptDqHMJKEHHa4r7c8hlJmEJKgerrwyXEgPmh0JV+YQNTOJ6EHDjEfsIkTNTBp60DGPWkIoM2n9RMU71phAKDNpTZo+P7to8ZnTg56y1gKiMpOMHjQUrFVGiMpMKnrQU6W7sSPSg4ZC6W7siPSgJ0p320ckvuCfB6276SMSWxz0qFjYPiJxhWdn+gNq+ojEDzybUbMwfURih78yqspo+ohEDgAYULcwdER6zlvqymj5iMSmebwNID7Sqn0EkDX/YDzo0yKJOWj7FSPMaNd3AJdsZhMPhcY07Jd8BdJ9i/YLcQsENra9iWE4pWn7iIy+5OjTlwlO6Ms8G8KX8yzCl9A16holaARnAtb0pQS96Rp1jV4fCvqyd9dol/2GM+4aPXWNukav7gkD+jL39+bE4dutsGZTq+sYRjPaFoHGEZcRAMIHWrYFcNmqEBBurb/Jf9N2NSoUtGsOoNd6fa1Hu3IAYd16xXBMq8ro8pdlnDn69X/ub0PD3RaNv00nd9touduNQbx3stX52d/mrbvtaH8b7O5uGTi9CaLvzN2hVp+W3Hm7UbX0e+tNZAX/s9duJhYGbyaKXsGK/TUUMpOAHvRt0byQzBgsJLIHUqxyKGQmET1ouJjVXEBXZpLRg4bR/ZR8bPtvBlOmcDToHwH+7Tk7/P1uAAAAAElFTkSuQmCC');
2014
+ mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaIAAABQBAMAAACpCGz6AAAAAXNSR0IArs4c6QAAABtQTFRFR3BM////////////////////////////////Fv0dDgAAAAh0Uk5TABtReZjD3+88JgQSAAACUklEQVR42u3cQWsaURQF4PNGY7eP2ibbCYY2yyQbszSFQJYtFHSpXYRZthXBddXx/Nz+gxQay4Wpkzuzybtc5ttfOIc3iIz3iYowun8kV19vIhSVmTT0oBcFD3afIoQyk1L5UtBsSoptDqHMJKEHHa4r7c8hlJmEJKgerrwyXEgPmh0JV+YQNTOJ6EHDjEfsIkTNTBp60DGPWkIoM2n9RMU71phAKDNpTZo+P7to8ZnTg56y1gKiMpOMHjQUrFVGiMpMKnrQU6W7sSPSg4ZC6W7siPSgJ0p320ckvuCfB6276SMSWxz0qFjYPiJxhWdn+gNq+ojEDzybUbMwfURih78yqspo+ohEDgAYULcwdER6zlvqymj5iMSmebwNID7Sqn0EkDX/YDzo0yKJOWj7FSPMaNd3AJdsZhMPhcY07Jd8BdJ9i/YLcQsENra9iWE4pWn7iIy+5OjTlwlO6Ms8G8KX8yzCl9A16holaARnAtb0pQS96Rp1jV4fCvqyd9dol/2GM+4aPXWNukav7gkD+jL39+bE4dutsGZTq+sYRjPaFoHGEZcRAMIHWrYFcNmqEBBurb/Jf9N2NSoUtGsOoNd6fa1Hu3IAYd16xXBMq8ro8pdlnDn69X/ub0PD3RaNv00nd9touduNQbx3stX52d/mrbvtaH8b7O5uGTi9CaLvzN2hVp+W3Hm7UbX0e+tNZAX/s9duJhYGbyaKXsGK/TUUMpOAHvRt0byQzBgsJLIHUqxyKGQmET1ouJjVXEBXZpLRg4bR/ZR8bPtvBlOmcDToHwH+7Tk7/P1uAAAAAElFTkSuQmCC');
2015
2015
  -webkit-mask-size: 100% 100%;
2016
2016
  mask-size: 100% 100%;
2017
2017
  aspect-ratio: 209/40;
@@ -2021,9 +2021,9 @@ video {
2021
2021
  mask-position: center;
2022
2022
  }
2023
2023
 
2024
- .token-swap-mask {
2025
- -webkit-mask-image: url('/public/assets/images/token-swap-mask.png');
2026
- mask-image: url('/public/assets/images/token-swap-mask.png');
2024
+ .tw-token-pair-mask {
2025
+ -webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAABZCAMAAAC9t8DHAAAALVBMVEVHcEzi4+Tp6uvv8PHx8vPy8/T19fb29vb3+Pj5+fr6+/v7+/v9/f3+/v7///+I7qq0AAAADnRSTlMADx8wQ1VqhJ+3yt7u+X/ouusAAANMSURBVHja3duLbt0wCAZg8BUw8P6Pu3bSuqpZ1jgOR6q/B/Avgp2rA1dgLrV1YmbqrZaMECA4LZVGPNTM3c3dzHQwtZJgynya+ZuH0lIlUX9j/oUKnQy+nnZkQvV+WulifspMen5yNsWkYWX17wwqCE/ASiFp2Fj9CuUC6+rltAozCptfZEoZ1mTSa1HuPpOWuvqM0RDuwz5i0oqYT+IMdxWeTTMul1aG+jQbFW7BNnzeaPAdJPM7tCPMwx6Ultj8HiOEo6g0pwT/kdlvs5OhY9KcE5zK4h4w9KvTEru/rpAsQWnIvmpiaiVZT8OJM1VQRxL7MusAR818nXG6Wob5MmtwUNQPwk6/iU3N141yNl3XEV7qhrl7wDwmfwzhwtpYXCJF/TmUFspYmlnIfhB1Zc/s5kHdb+aPkgxnivijtMIHFH+WSYF/q8MfxjjbjvWnNuzqT7N2aEf0Islk7h7WkGoeQSrCZ1jFI2j5OFnFUCr4qQo2j0HwWx4eRbmX/K52MY8yErxrHkl1DFXzQFZDptXr0eGWJFTsxGr+41kBQPKfrwMk2aAfDJCG/3yCUNR/vpGhmW+x0PsWdVTovgFrQL4B68C+gw7Dd0CgvgPapB/7rA/yHbRNrh91l/uSPerQssv97h7PH4yAvMVlEGCT53NoOyzzPd5fSQIAlC2WB0D3SKZv7AXvdyFrXIJQLTnn0miEv29HDquiJfgjNTGPQYfPg6GfCFPXyO9RQa9GjTJ8VcUjvw9C8wkrOyETWcj32rCGnO6DbRpw8fjQ/WX7GeoIaEdQQyTDuTIiVkfEKYtT1AbLI63wGVJIGfGFEEZ1mxN8J0vcDG4WUEZ0IVrhK6TXlPHoHooOR0kC+hx71uIUM7Qdyggt5CytjoCBT5W4tKoBA0cVMgqcqiOgjJgtl1KCjhEnmJUl7KBlWd+OGP9HjnGGE2uPCNoQ7kDSqJ/KsI2FyTrtTlqFE2vbU7UnOBGRRpfTsMnc75VLsIpNpFWYkPrwS0wqwqrUhl1Ma7NpqV8Y27ghPCF1uZSWYF767h/0QWe9CEnj22lYupwMboNbhqfEp2FuJEPN/zIV7jUhzJtPM9PBvWaEdZhq68RDVQf33spEDUtpcj3tF5fuzGpqosw0AAAAAElFTkSuQmCC');
2026
+ mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAABZCAMAAAC9t8DHAAAALVBMVEVHcEzi4+Tp6uvv8PHx8vPy8/T19fb29vb3+Pj5+fr6+/v7+/v9/f3+/v7///+I7qq0AAAADnRSTlMADx8wQ1VqhJ+3yt7u+X/ouusAAANMSURBVHja3duLbt0wCAZg8BUw8P6Pu3bSuqpZ1jgOR6q/B/Avgp2rA1dgLrV1YmbqrZaMECA4LZVGPNTM3c3dzHQwtZJgynya+ZuH0lIlUX9j/oUKnQy+nnZkQvV+WulifspMen5yNsWkYWX17wwqCE/ASiFp2Fj9CuUC6+rltAozCptfZEoZ1mTSa1HuPpOWuvqM0RDuwz5i0oqYT+IMdxWeTTMul1aG+jQbFW7BNnzeaPAdJPM7tCPMwx6Ultj8HiOEo6g0pwT/kdlvs5OhY9KcE5zK4h4w9KvTEru/rpAsQWnIvmpiaiVZT8OJM1VQRxL7MusAR818nXG6Wob5MmtwUNQPwk6/iU3N141yNl3XEV7qhrl7wDwmfwzhwtpYXCJF/TmUFspYmlnIfhB1Zc/s5kHdb+aPkgxnivijtMIHFH+WSYF/q8MfxjjbjvWnNuzqT7N2aEf0Islk7h7WkGoeQSrCZ1jFI2j5OFnFUCr4qQo2j0HwWx4eRbmX/K52MY8yErxrHkl1DFXzQFZDptXr0eGWJFTsxGr+41kBQPKfrwMk2aAfDJCG/3yCUNR/vpGhmW+x0PsWdVTovgFrQL4B68C+gw7Dd0CgvgPapB/7rA/yHbRNrh91l/uSPerQssv97h7PH4yAvMVlEGCT53NoOyzzPd5fSQIAlC2WB0D3SKZv7AXvdyFrXIJQLTnn0miEv29HDquiJfgjNTGPQYfPg6GfCFPXyO9RQa9GjTJ8VcUjvw9C8wkrOyETWcj32rCGnO6DbRpw8fjQ/WX7GeoIaEdQQyTDuTIiVkfEKYtT1AbLI63wGVJIGfGFEEZ1mxN8J0vcDG4WUEZ0IVrhK6TXlPHoHooOR0kC+hx71uIUM7Qdyggt5CytjoCBT5W4tKoBA0cVMgqcqiOgjJgtl1KCjhEnmJUl7KBlWd+OGP9HjnGGE2uPCNoQ7kDSqJ/KsI2FyTrtTlqFE2vbU7UnOBGRRpfTsMnc75VLsIpNpFWYkPrwS0wqwqrUhl1Ma7NpqV8Y27ghPCF1uZSWYF767h/0QWe9CEnj22lYupwMboNbhqfEp2FuJEPN/zIV7jUhzJtPM9PBvWaEdZhq68RDVQf33spEDUtpcj3tF5fuzGpqosw0AAAAAElFTkSuQmCC');
2027
2027
  -webkit-mask-size: 100% 100%;
2028
2028
  mask-size: 100% 100%;
2029
2029
  aspect-ratio: 747/334;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,21 @@
1
1
  /// <reference types="react" />
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import React$1 from 'react';
4
+
5
+ interface BadgeImageProps {
6
+ imageUrl?: string;
7
+ badgeUrl?: string;
8
+ size?: BadgeSize;
9
+ extraMarginForBadge?: boolean;
10
+ rounded?: boolean;
11
+ }
12
+ type BadgeSize = 'sm' | 'md';
13
+ declare function BadgeImage({ imageUrl, badgeUrl, size, extraMarginForBadge, rounded, }: BadgeImageProps): react_jsx_runtime.JSX.Element | null;
14
+
15
+ interface UsdAmountProps {
16
+ usdAmount: number;
17
+ }
18
+ declare function UsdAmount({ usdAmount }: UsdAmountProps): react_jsx_runtime.JSX.Element;
3
19
 
4
20
  interface AddressButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
5
21
  label: string;
@@ -15,9 +31,18 @@ interface ArrowButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
15
31
  }
16
32
  declare function ArrowButton({ label, disabled, ...props }: ArrowButtonProps): react_jsx_runtime.JSX.Element;
17
33
 
34
+ type TextSize = 'small' | 'medium' | 'large';
35
+ type SwitchSize = 'small' | 'large';
18
36
  type ButtonVariant = 'primary' | 'secondary' | 'tertiary';
19
37
  type ButtonSize = 'md' | 'lg';
38
+ type SwapDirection = 'from' | 'to';
20
39
  type BoostMode = 'normal' | 'boost';
40
+ declare enum DetailsToolbarState {
41
+ FULL = 0,
42
+ LOADING = 1,
43
+ EMPTY = 2,
44
+ ERROR = 3
45
+ }
21
46
 
22
47
  interface BoostButtonProps {
23
48
  boostMode?: BoostMode;
@@ -46,9 +71,206 @@ interface DropdownProps {
46
71
  tokenImageUrl?: string;
47
72
  chainImageUrl?: string;
48
73
  tokenSymbol?: string;
74
+ chainBgColor?: string;
75
+ tokenBgColor?: string;
76
+ tokenTextColor?: string;
49
77
  }
50
- declare function Dropdown({ chainImageUrl, tokenImageUrl, tokenSymbol, }: DropdownProps): react_jsx_runtime.JSX.Element;
78
+ declare function Dropdown({ chainImageUrl, tokenImageUrl, tokenSymbol, chainBgColor, tokenBgColor, tokenTextColor, }: DropdownProps): react_jsx_runtime.JSX.Element;
51
79
 
52
80
  declare function FeeButton(): react_jsx_runtime.JSX.Element;
53
81
 
54
- export { AddressButton, ArrowButton, BoostButton, Button, Chip, Dropdown, FeeButton };
82
+ interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
83
+ placeholder?: string;
84
+ showIcon?: boolean;
85
+ showPasteButton?: boolean;
86
+ icon?: React.ReactNode;
87
+ }
88
+ declare function Input({ placeholder, showIcon, showPasteButton, className, icon, ...props }: InputProps): react_jsx_runtime.JSX.Element;
89
+
90
+ interface SwitchProps {
91
+ checked: boolean;
92
+ onChange: (checked: boolean) => void;
93
+ size: SwitchSize;
94
+ }
95
+ declare function Switch({ checked, onChange, size }: SwitchProps): react_jsx_runtime.JSX.Element;
96
+
97
+ type TooltipWidth = 'max' | 'container';
98
+ type TooltipThreshold = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl';
99
+ interface TooltipProps {
100
+ children: React$1.ReactNode;
101
+ tooltipContent: React$1.ReactNode;
102
+ threshold?: TooltipThreshold;
103
+ tooltipWidth?: TooltipWidth;
104
+ className?: string;
105
+ }
106
+ declare function Tooltip({ children, tooltipContent, tooltipWidth, threshold, className, }: TooltipProps): react_jsx_runtime.JSX.Element;
107
+
108
+ declare function Boost(): react_jsx_runtime.JSX.Element;
109
+
110
+ interface DetailsToolbarProps {
111
+ state?: DetailsToolbarState;
112
+ errorMessage: string;
113
+ }
114
+ declare function DetailsToolbar({ state, errorMessage, }: DetailsToolbarProps): react_jsx_runtime.JSX.Element;
115
+
116
+ interface MenuProps extends React$1.ComponentProps<'div'> {
117
+ menuClassName?: string;
118
+ contentClassName?: string;
119
+ }
120
+ declare function Menu({ children, menuClassName, contentClassName, ...props }: MenuProps): react_jsx_runtime.JSX.Element;
121
+
122
+ interface ModalProps {
123
+ children: React.ReactNode;
124
+ }
125
+ declare function Modal({ children }: ModalProps): react_jsx_runtime.JSX.Element;
126
+
127
+ interface NavigationBarProps {
128
+ title?: string;
129
+ displayBackButton?: boolean;
130
+ logoUrl?: string;
131
+ }
132
+ declare function NavigationBar({ title, displayBackButton, logoUrl, }: NavigationBarProps): react_jsx_runtime.JSX.Element;
133
+
134
+ interface ProductCardProps {
135
+ children?: React.ReactNode;
136
+ }
137
+ declare function ProductCard({ children }: ProductCardProps): react_jsx_runtime.JSX.Element;
138
+
139
+ interface SwapConfigurationProps {
140
+ direction: SwapDirection;
141
+ priceImpactPercentage?: number;
142
+ amount?: number;
143
+ swapAmountUsd?: number;
144
+ balance?: string;
145
+ isFetching?: boolean;
146
+ chain?: {
147
+ iconUrl: string;
148
+ bgColor: string;
149
+ };
150
+ token?: {
151
+ iconUrl: string;
152
+ symbol: string;
153
+ bgColor: string;
154
+ textColor: string;
155
+ };
156
+ }
157
+ declare function SwapConfiguration({ priceImpactPercentage, amount, swapAmountUsd, balance, isFetching, chain, token, direction, }: SwapConfigurationProps): react_jsx_runtime.JSX.Element;
158
+
159
+ interface WalletAddressProps {
160
+ ens?: string;
161
+ address?: string;
162
+ }
163
+ declare function WalletAddress({ address, ens }: WalletAddressProps): react_jsx_runtime.JSX.Element;
164
+
165
+ interface DropdownMenuItemProps {
166
+ label: string;
167
+ imageUrl?: string;
168
+ icon?: React.ReactNode;
169
+ }
170
+ declare function DropdownMenuItem({ label, imageUrl, icon, }: DropdownMenuItemProps): react_jsx_runtime.JSX.Element;
171
+
172
+ interface HistoryItemProps {
173
+ firstImageUrl: string;
174
+ secondImageUrl: string;
175
+ isPending?: boolean;
176
+ fromLabel: string;
177
+ toLabel: string;
178
+ pendingLabel?: string;
179
+ dateCompleted: string;
180
+ fromAmount: string;
181
+ toAmount: string;
182
+ }
183
+ declare function HistoryItem({ firstImageUrl, secondImageUrl, isPending, dateCompleted, fromAmount, fromLabel, toAmount, toLabel, pendingLabel, }: HistoryItemProps): react_jsx_runtime.JSX.Element;
184
+
185
+ interface ListItemProps {
186
+ title: string | React.ReactNode;
187
+ mainImageUrl?: string;
188
+ secondaryImageUrl?: string;
189
+ subtitle?: string;
190
+ detail?: string;
191
+ icon?: React.ReactNode;
192
+ size?: ListItemSize;
193
+ mainIcon?: React.ReactNode;
194
+ className?: string;
195
+ }
196
+ type ListItemSize = 'small' | 'large';
197
+ declare function ListItem({ title, mainImageUrl, subtitle, detail, icon, secondaryImageUrl, size, mainIcon, className, }: ListItemProps): react_jsx_runtime.JSX.Element;
198
+
199
+ interface MenuItemProps {
200
+ label: string;
201
+ imageUrl?: string;
202
+ icon?: React.ReactNode;
203
+ }
204
+ declare function MenuItem({ label, imageUrl, icon }: MenuItemProps): react_jsx_runtime.JSX.Element;
205
+
206
+ interface SectionTitleProps {
207
+ title: string;
208
+ icon?: React.ReactNode;
209
+ accessory?: string | null;
210
+ actionIcon?: React.ReactNode;
211
+ className?: string;
212
+ }
213
+ declare function SectionTitle({ title, icon, accessory, actionIcon, className, }: SectionTitleProps): react_jsx_runtime.JSX.Element;
214
+
215
+ interface BodyTextProps extends React.HTMLAttributes<HTMLSpanElement> {
216
+ children: string | undefined;
217
+ size: TextSize;
218
+ bold?: boolean;
219
+ }
220
+ declare function BodyText({ size, children, bold, ...props }: BodyTextProps): react_jsx_runtime.JSX.Element;
221
+
222
+ interface CaptionProps extends React.HTMLAttributes<HTMLSpanElement> {
223
+ children?: string;
224
+ bold?: boolean;
225
+ }
226
+ declare function CaptionText({ children, bold, ...props }: CaptionProps): react_jsx_runtime.JSX.Element;
227
+
228
+ interface HeadingTextProps {
229
+ children: string;
230
+ size: TextSize;
231
+ bold?: boolean;
232
+ }
233
+ declare function HeadingText({ children, bold, size }: HeadingTextProps): react_jsx_runtime.JSX.Element;
234
+
235
+ interface ConfigTheme {
236
+ 'grey-100': string;
237
+ 'grey-200': string;
238
+ 'grey-300': string;
239
+ 'grey-400': string;
240
+ 'grey-500': string;
241
+ 'grey-600': string;
242
+ 'grey-700': string;
243
+ 'grey-800': string;
244
+ 'grey-900': string;
245
+ 'royal-100': string;
246
+ 'royal-200': string;
247
+ 'royal-300': string;
248
+ 'royal-400': string;
249
+ 'royal-500': string;
250
+ 'royal-600': string;
251
+ 'royal-700': string;
252
+ 'royal-800': string;
253
+ 'status-positive': string;
254
+ 'status-negative': string;
255
+ 'material-light-thin': string;
256
+ 'material-light-average': string;
257
+ 'material-light-thick': string;
258
+ 'material-dark-thin': string;
259
+ 'material-dark-average': string;
260
+ 'material-dark-thick': string;
261
+ 'volt-300': string;
262
+ 'volt-400': string;
263
+ 'volt-600': string;
264
+ 'volt-700': string;
265
+ 'volt-800': string;
266
+ 'volt-900': string;
267
+ 'accent-salmon': string;
268
+ 'accent-gold': string;
269
+ }
270
+
271
+ declare function SquidConfigProvider({ theme, children, }: {
272
+ theme?: ConfigTheme;
273
+ children?: React.ReactNode;
274
+ }): react_jsx_runtime.JSX.Element;
275
+
276
+ export { AddressButton, ArrowButton, BadgeImage, BodyText, Boost, BoostButton, Button, CaptionText, Chip, DetailsToolbar, Dropdown, DropdownMenuItem, FeeButton, HeadingText, HistoryItem, Input, ListItem, Menu, MenuItem, Modal, NavigationBar, ProductCard, SectionTitle, SquidConfigProvider, SwapConfiguration, Switch, Tooltip, type TooltipThreshold, type TooltipWidth, UsdAmount, WalletAddress };
package/package.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "name": "@0xsquid/ui",
3
3
  "repository": {
4
4
  "type": "git",
5
- "url": "git+https://github.com/0xsquid/api-widget.git"
5
+ "url": "git+https://github.com/0xsquid/squid-ui.git"
6
6
  },
7
7
  "description": "Squid's UI components",
8
- "version": "0.2.0-beta.0",
8
+ "version": "0.3.0",
9
9
  "author": "",
10
10
  "license": "MIT",
11
11
  "scripts": {
@@ -25,8 +25,6 @@
25
25
  "dependencies": {
26
26
  "clsx": "2.1.0",
27
27
  "color": "4.2.3",
28
- "react": "18.2.0",
29
- "react-dom": "18.2.0",
30
28
  "tailwind-merge": "2.3.0"
31
29
  },
32
30
  "main": "dist/cjs/index.js",
@@ -70,9 +68,10 @@
70
68
  "postcss": "8.4.36",
71
69
  "prettier": "3.2.5",
72
70
  "prettier-plugin-tailwindcss": "0.5.12",
73
- "release-it": "16.3.0",
71
+ "release-it": "17.2.1",
74
72
  "rollup": "^4.17.2",
75
73
  "rollup-plugin-dts": "^6.1.0",
74
+ "rollup-plugin-peer-deps-external": "^2.2.4",
76
75
  "storybook": "^8.0.1",
77
76
  "tailwindcss": "3.4.1",
78
77
  "ts-loader": "9.5.1",
@@ -100,5 +99,9 @@
100
99
  "npm": {
101
100
  "publish": false
102
101
  }
102
+ },
103
+ "peerDependencies": {
104
+ "react": "^18.3.1",
105
+ "react-dom": "^18.3.1"
103
106
  }
104
107
  }