@masterpeach/plugin-react 0.0.0-experimental-20260625203238

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.
@@ -0,0 +1,215 @@
1
+ /* eslint-disable */
2
+ // Generated by the Peach Plugin public type build.
3
+ // Keep this declaration file self-contained for npm consumers.
4
+
5
+ import type { CSSProperties, ReactElement } from "react";
6
+
7
+ export type PeachPluginEvent =
8
+ | { type: "ready" }
9
+ | { type: "terms_opened" }
10
+ | { type: "terms_accepted" }
11
+ | { type: "wallet_connected"; payload: { address: string; connector: string } }
12
+ | { type: "wallet_disconnected" }
13
+ | { type: "quote_loaded" }
14
+ | { type: "quote_error"; payload: { message: string } }
15
+ | { type: "swap_submitted"; payload: { txHash: string } }
16
+ | { type: "swap_confirmed"; payload: { txHash: string } }
17
+ | { type: "swap_failed"; payload: { message: string; txHash?: string } };
18
+
19
+ export type PeachPluginEventType = PeachPluginEvent["type"];
20
+
21
+ export type PeachPluginEventHandler = (event: PeachPluginEvent) => void;
22
+
23
+ export type PeachPluginTheme = "light" | "dark" | "auto";
24
+ export type PeachPluginThemePreset = Exclude<PeachPluginTheme, "auto">;
25
+ export type PeachPluginLocale = "en" | "zh-CN";
26
+ export type PeachPluginDisplayMode = "integrated" | "widget" | "modal";
27
+ export type PeachPluginWidgetCorner = "top-left" | "top-right" | "bottom-left" | "bottom-right";
28
+ export type PeachPluginWidgetSize = "small" | "default";
29
+ export type PeachPluginProviderMode = "self" | "host";
30
+ export type PeachPluginWalletConnector = "injected" | "walletconnect";
31
+
32
+ export interface PeachPluginModalDisplayOptions {
33
+ open?: boolean;
34
+ defaultOpen?: boolean;
35
+ onOpenChange?: (open: boolean) => void;
36
+ showTrigger?: boolean;
37
+ triggerLabel?: string;
38
+ }
39
+
40
+ export interface PeachPluginWidgetDisplayOptions {
41
+ open?: boolean;
42
+ corner?: PeachPluginWidgetCorner;
43
+ size?: PeachPluginWidgetSize;
44
+ offsetX?: number;
45
+ offsetY?: number;
46
+ defaultOpen?: boolean;
47
+ onOpenChange?: (open: boolean) => void;
48
+ showTrigger?: boolean;
49
+ triggerIconUrl?: string;
50
+ }
51
+
52
+ export interface PeachPluginIntegratedDisplayOptions {
53
+ syncTokensWithUrl?: boolean;
54
+ }
55
+
56
+ export interface PeachPluginDisplayOptions {
57
+ mode?: PeachPluginDisplayMode;
58
+ integrated?: PeachPluginIntegratedDisplayOptions;
59
+ modal?: PeachPluginModalDisplayOptions;
60
+ widget?: PeachPluginWidgetDisplayOptions;
61
+ }
62
+
63
+ export interface PeachPluginBrandingOptions {
64
+ logoUrl?: string;
65
+ /** Maximum 16 characters. Longer values are truncated at runtime. */
66
+ appName?: string;
67
+ }
68
+
69
+ export interface PeachPluginAppKitMetadataOptions {
70
+ name?: string;
71
+ description?: string;
72
+ url?: string;
73
+ icons?: string[];
74
+ }
75
+
76
+ export interface PeachPluginAppKitFeaturesOptions {
77
+ analytics?: boolean;
78
+ email?: boolean;
79
+ socials?: boolean;
80
+ }
81
+
82
+ export interface PeachPluginAppKitOptions {
83
+ projectId: string;
84
+ metadata?: PeachPluginAppKitMetadataOptions;
85
+ features?: PeachPluginAppKitFeaturesOptions;
86
+ hideBranding?: boolean;
87
+ }
88
+
89
+ export interface ResolvedPeachPluginAppKitMetadata {
90
+ name: string;
91
+ description: string;
92
+ url: string;
93
+ icons: string[];
94
+ }
95
+
96
+ export interface ResolvedPeachPluginAppKitFeatures {
97
+ analytics: boolean;
98
+ email: boolean;
99
+ socials: boolean;
100
+ }
101
+
102
+ export interface ResolvedPeachPluginAppKitOptions {
103
+ projectId: string;
104
+ metadata: ResolvedPeachPluginAppKitMetadata;
105
+ features: ResolvedPeachPluginAppKitFeatures;
106
+ hideBranding: boolean;
107
+ themeMode: PeachPluginThemePreset;
108
+ }
109
+
110
+ export interface PeachPluginCustomTheme {
111
+ platformBg: string;
112
+ primaryColor: string;
113
+ primaryText: string;
114
+ secondaryText: string;
115
+ positiveText: string;
116
+ warningText: string;
117
+ errorText: string;
118
+ buttonTextColor: string;
119
+ inputRadius: string;
120
+ buttonRadius: string;
121
+ cardRadius: string;
122
+ }
123
+
124
+ export interface PeachPluginThemeOptions {
125
+ theme?: PeachPluginTheme;
126
+ customTheme?: Partial<PeachPluginCustomTheme>;
127
+ }
128
+
129
+ export interface PeachPluginCustomFeeOptions {
130
+ feeReceiver: string;
131
+ feeBps: number;
132
+ }
133
+
134
+ export interface PeachPluginCommonOptions extends PeachPluginThemeOptions {
135
+ locale?: PeachPluginLocale;
136
+ independentWallet?: boolean;
137
+ apiBaseUrl?: string;
138
+ network?: {
139
+ rpcUrl?: string;
140
+ };
141
+ defaultTokens?: {
142
+ sell?: string;
143
+ buy?: string;
144
+ };
145
+ settings?: {
146
+ slippage?: "auto" | `${number}`;
147
+ deadlineMinutes?: number;
148
+ mevProtect?: boolean;
149
+ liquiditySources?: string[];
150
+ customFee?: PeachPluginCustomFeeOptions;
151
+ };
152
+ storage?: {
153
+ persistence?: "local" | "memory";
154
+ namespace?: string;
155
+ };
156
+ legal?: {
157
+ requireTermsAcceptance?: boolean;
158
+ };
159
+ branding?: PeachPluginBrandingOptions;
160
+ ui?: {
161
+ density?: "default" | "compact";
162
+ hide?: {
163
+ priceReference?: boolean;
164
+ route?: boolean;
165
+ priceDifference?: boolean;
166
+ connectButton?: boolean;
167
+ };
168
+ };
169
+ callbacks?: {
170
+ onReady?: () => void;
171
+ onError?: (error: unknown) => void;
172
+ onEvent?: (event: PeachPluginEvent) => void;
173
+ confirmTokenRisk?: (token: BaseToken) => Promise<boolean> | boolean;
174
+ };
175
+ }
176
+
177
+ export interface PeachPluginWalletOptions {
178
+ connectors?: PeachPluginWalletConnector[];
179
+ walletConnectProjectId?: string;
180
+ appKit?: PeachPluginAppKitOptions;
181
+ onlyInjected?: boolean;
182
+ }
183
+
184
+ export interface PeachPluginEmbedOptions extends PeachPluginCommonOptions {
185
+ displayMode?: PeachPluginDisplayMode;
186
+ display?: PeachPluginDisplayOptions;
187
+ wallet?: PeachPluginWalletOptions;
188
+ }
189
+
190
+ export interface PeachPluginScriptInitOptions extends PeachPluginEmbedOptions {
191
+ el: HTMLElement | string;
192
+ }
193
+
194
+ export interface PeachPluginReactOptions extends PeachPluginEmbedOptions {
195
+ providerMode?: PeachPluginProviderMode;
196
+ }
197
+
198
+ export type PeachPluginInitOptions = PeachPluginScriptInitOptions;
199
+
200
+ export interface PeachPluginHandle {
201
+ update: (
202
+ patch: Partial<Omit<PeachPluginScriptInitOptions, "el" | "wallet" | "displayMode">>,
203
+ ) => void;
204
+ destroy: () => void;
205
+ }
206
+
207
+ export interface PeachPluginProps extends PeachPluginReactOptions {
208
+ className?: string;
209
+ style?: CSSProperties;
210
+ useShadowDOM?: boolean;
211
+ }
212
+
213
+ export declare function PeachPlugin(props: PeachPluginProps): ReactElement | null;
214
+
215
+ export default PeachPlugin;
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ import { av as o } from "./index-B67iXHsu.js";
2
+ export {
3
+ o as PeachPlugin
4
+ };
@@ -0,0 +1 @@
1
+ html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}@media(hover:none)and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:#00000014}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media(max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 87%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 93%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 84%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 43%, 17%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 9%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media(prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@masterpeach/plugin-react",
3
+ "version": "0.0.0-experimental-20260625203238",
4
+ "type": "module",
5
+ "private": false,
6
+ "sideEffects": [
7
+ "**/*.css"
8
+ ],
9
+ "main": "dist/index.js",
10
+ "module": "dist/index.js",
11
+ "types": "dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js",
16
+ "default": "./dist/index.js"
17
+ },
18
+ "./style.css": "./dist/plugin-react.css"
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "peerDependencies": {
27
+ "@reown/appkit": "^1.8.17",
28
+ "@reown/appkit-adapter-wagmi": "^1.8.17",
29
+ "@wagmi/core": "^3.3.1",
30
+ "@tanstack/react-query": "^5.90.20",
31
+ "react": "^19.2.1",
32
+ "react-dom": "^19.2.1",
33
+ "viem": "^2.45.0",
34
+ "wagmi": "^3.4.1"
35
+ },
36
+ "devDependencies": {
37
+ "@reown/appkit": "^1.8.17",
38
+ "@reown/appkit-adapter-wagmi": "^1.8.17",
39
+ "@wagmi/core": "^3.3.1",
40
+ "@types/react": "^19.2.7",
41
+ "@types/react-dom": "^19.2.3",
42
+ "@vitejs/plugin-react": "^4.5.2",
43
+ "@tanstack/react-query": "^5.90.20",
44
+ "typescript": "5.7.3",
45
+ "viem": "^2.45.0",
46
+ "vite": "^6.3.5",
47
+ "vite-plugin-dts": "^4.4.0",
48
+ "wagmi": "^3.4.1",
49
+ "@repo/typescript-config": "0.0.0",
50
+ "@repo/biome-config": "0.0.0"
51
+ },
52
+ "scripts": {
53
+ "dev": "vite build --watch",
54
+ "build": "vite build && node ../scripts/write-public-types.mjs plugin-react",
55
+ "test": "pnpm build && node ../../../scripts/run-mjs-tests.mjs",
56
+ "test:bundle": "node ./tests/assert-no-bundled-wallet-runtime.mjs",
57
+ "test:release": "node ./tests/assert-release-package-ready.mjs",
58
+ "lint": "biome lint .",
59
+ "format": "biome format --write .",
60
+ "check": "biome check --write .",
61
+ "typecheck": "tsc --noEmit"
62
+ }
63
+ }