@tuwaio/nova-core 0.4.4 → 0.4.5
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/README.md +71 -157
- package/dist/index.cjs +3 -3
- package/dist/index.css +68 -68
- package/dist/index.d.cts +13 -14
- package/dist/index.d.ts +13 -14
- package/dist/index.js +3 -3
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -1,227 +1,141 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @tuwaio/nova-core
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@tuwaio/nova-core)
|
|
4
4
|
[](./LICENSE)
|
|
5
|
-
[](https://github.com/TuwaIO/nova-uikit/actions)
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
`@tuwaio/nova-core` is the **UI Core (L6)** package of the TUWA Ecosystem design system. It acts as the shared foundation for styling primitives, CSS variable definitions, base React elements, and helper utilities. Fully independent of Web3 logic, it provides the common design boundaries consumed by visual modules like `@tuwaio/nova-connect` and `@tuwaio/nova-transactions` to maintain visual consistency across all TUWA interfaces.
|
|
8
7
|
|
|
9
8
|
---
|
|
10
9
|
|
|
11
|
-
##
|
|
10
|
+
## 🏛️ Core Capabilities
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
2. **Supplying Common Hooks:** A collection of reusable React hooks for common UI patterns.
|
|
19
|
-
3. **Ensuring Tailwind CSS v4 Integration:** Seamless compatibility with modern Tailwind CSS workflows.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## ✨ Key Features
|
|
24
|
-
|
|
25
|
-
- **🎨 Complete Design Token System:** Comprehensive CSS variables for colors, spacing, typography, shadows, and animations
|
|
26
|
-
- **🛠️ Smart Utility Functions:** Advanced `cn` utility that merges Tailwind classes intelligently, preventing style conflicts
|
|
27
|
-
- **⚡ Tailwind CSS v4 Ready:** Full compatibility with modern Tailwind CSS workflows and arbitrary value usage
|
|
28
|
-
- **🌓 Dark Mode Support:** Built-in dark mode theming with CSS variable-based switching
|
|
29
|
-
- **♿ Accessibility First:** ARIA-compliant design tokens and utilities for building accessible interfaces
|
|
30
|
-
- **📱 Responsive Design:** Mobile-first breakpoints and responsive utility functions
|
|
12
|
+
- **🎨 Design Token System:** Declares variables for colors, typography, borders, animations, and spacing, with built-in switching for light and dark modes.
|
|
13
|
+
- **🛠️ Style Merger (`cn`):** An optimized composition utility blending `clsx` and `tailwind-merge` to resolve style overrides dynamically without class conflicts.
|
|
14
|
+
- **⚡ Tailwind CSS v4 Native:** Configured to map variables into Tailwind's modern engine, allowing arbitrary class declarations.
|
|
15
|
+
- **♿ Base Components & Primitives:** Shared layout modules, dialog nodes, overlays, and common utility indicators.
|
|
16
|
+
- **📱 Shared React Hooks:** Reusable, performance-optimized hooks for clipboards (`useCopyToClipboard`) and responsive layouts (`useMediaQuery`).
|
|
31
17
|
|
|
32
18
|
---
|
|
33
19
|
|
|
34
20
|
## 💾 Installation
|
|
35
21
|
|
|
36
|
-
### Requirements
|
|
37
|
-
|
|
38
|
-
- **React:** 19+
|
|
39
|
-
- **Node.js:** 20-24
|
|
40
|
-
- **TypeScript:** 5.9+ (recommended)
|
|
41
|
-
|
|
42
|
-
### Package Installation
|
|
43
|
-
|
|
44
|
-
Install the package using your preferred package manager:
|
|
45
|
-
|
|
46
22
|
```bash
|
|
47
|
-
# Using pnpm (recommended), but you can use npm, yarn or bun as well
|
|
48
23
|
pnpm add @tuwaio/nova-core
|
|
49
24
|
```
|
|
50
25
|
|
|
51
26
|
### CSS Setup
|
|
52
27
|
|
|
53
|
-
|
|
28
|
+
Import the core CSS styles into the entrypoint of your application (e.g., `main.css` or `globals.css`):
|
|
54
29
|
|
|
55
30
|
```css
|
|
56
|
-
/* src/styles/globals.css or src/styles/app.css */
|
|
57
31
|
@import '@tuwaio/nova-core/dist/index.css';
|
|
58
32
|
```
|
|
59
33
|
|
|
60
34
|
---
|
|
61
35
|
|
|
62
|
-
## 🚀 Usage
|
|
36
|
+
## 🚀 Usage Guide
|
|
63
37
|
|
|
64
|
-
###
|
|
38
|
+
### 1. Tailwind Arbitrary Tokens
|
|
65
39
|
|
|
66
|
-
Nova
|
|
40
|
+
Use Nova custom variables directly in components for consistent styling:
|
|
67
41
|
|
|
68
42
|
```tsx
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
</
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
hover:bg-[var(--tuwa-bg-muted)]
|
|
79
|
-
transition-colors
|
|
80
|
-
">
|
|
81
|
-
Card Content
|
|
82
|
-
</div>
|
|
43
|
+
export function AccentCard() {
|
|
44
|
+
return (
|
|
45
|
+
<div className="p-6 bg-[var(--tuwa-bg-secondary)] border border-[var(--tuwa-border-primary)] rounded-[var(--tuwa-rounded-corners)]">
|
|
46
|
+
<h3 className="text-[var(--tuwa-text-primary)] font-medium">Core Primitive Card</h3>
|
|
47
|
+
<p className="mt-2 text-[var(--tuwa-text-secondary)] text-sm">Styled using central ecosystem design tokens.</p>
|
|
48
|
+
<button className="mt-4 px-4 py-2 bg-[var(--tuwa-text-accent)] text-[var(--tuwa-text-on-accent)]">Action</button>
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
83
52
|
```
|
|
84
53
|
|
|
85
|
-
###
|
|
54
|
+
### 2. Styling Composition (`cn`)
|
|
86
55
|
|
|
87
|
-
|
|
56
|
+
Blend default styles with external prop overrides cleanly:
|
|
88
57
|
|
|
89
58
|
```tsx
|
|
90
59
|
import { cn } from '@tuwaio/nova-core';
|
|
91
60
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
61
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
62
|
+
variant?: 'primary' | 'secondary';
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export function Button({ variant = 'primary', className, ...props }: ButtonProps) {
|
|
66
|
+
return (
|
|
67
|
+
<button
|
|
68
|
+
className={cn(
|
|
69
|
+
'px-4 py-2 font-medium rounded transition-colors',
|
|
70
|
+
variant === 'primary'
|
|
71
|
+
? 'bg-[var(--tuwa-text-accent)] text-[var(--tuwa-text-on-accent)]'
|
|
72
|
+
: 'bg-[var(--tuwa-standart-button-bg)] text-[var(--tuwa-text-primary)] hover:bg-[var(--tuwa-standart-button-hover)]',
|
|
73
|
+
className,
|
|
74
|
+
)}
|
|
75
|
+
{...props}
|
|
76
|
+
/>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
106
79
|
```
|
|
107
80
|
|
|
108
|
-
###
|
|
81
|
+
### 3. Clipboard copy with `useCopyToClipboard`
|
|
109
82
|
|
|
110
|
-
|
|
83
|
+
Easily build wallet address display nodes with copying feedback:
|
|
111
84
|
|
|
112
85
|
```tsx
|
|
113
|
-
import {
|
|
86
|
+
import { useCopyToClipboard } from '@tuwaio/nova-core';
|
|
114
87
|
|
|
115
|
-
function
|
|
88
|
+
export function AddressDisplay({ address }: { address: string }) {
|
|
116
89
|
const [copied, copy] = useCopyToClipboard();
|
|
117
90
|
|
|
118
91
|
return (
|
|
119
|
-
<
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
92
|
+
<button
|
|
93
|
+
onClick={() => copy(address)}
|
|
94
|
+
className="font-mono text-xs text-[var(--tuwa-text-secondary)] hover:text-[var(--tuwa-text-accent)]"
|
|
95
|
+
>
|
|
96
|
+
{address.slice(0, 6)}...{address.slice(-4)}
|
|
97
|
+
{copied ? ' (Copied ✓)' : ' (Copy)'}
|
|
98
|
+
</button>
|
|
125
99
|
);
|
|
126
100
|
}
|
|
127
101
|
```
|
|
128
102
|
|
|
129
103
|
---
|
|
130
104
|
|
|
131
|
-
##
|
|
132
|
-
|
|
133
|
-
### Basic Customization
|
|
105
|
+
## 🎨 Theme Customization
|
|
134
106
|
|
|
135
|
-
Override
|
|
107
|
+
Override default tokens in your global CSS stylesheet to match your brand:
|
|
136
108
|
|
|
137
109
|
```css
|
|
138
|
-
/* src/styles/globals.css */
|
|
139
|
-
@import '@tuwaio/nova-core/dist/index.css';
|
|
140
|
-
|
|
141
|
-
/* Your custom theme overrides */
|
|
142
110
|
:root {
|
|
143
|
-
/*
|
|
144
|
-
--tuwa-text-
|
|
145
|
-
--tuwa-text-secondary: #64748b;
|
|
146
|
-
--tuwa-text-tertiary: #94a3b8;
|
|
147
|
-
--tuwa-text-accent: #3b82f6;
|
|
111
|
+
/* Customize Brand Accent Colors */
|
|
112
|
+
--tuwa-text-accent: #10b981; /* Emerald-500 */
|
|
148
113
|
--tuwa-text-on-accent: #ffffff;
|
|
149
|
-
|
|
150
|
-
/* Background System */
|
|
151
|
-
--tuwa-bg-primary: #ffffff;
|
|
152
|
-
--tuwa-bg-secondary: #f8fafc;
|
|
153
|
-
--tuwa-bg-muted: #f1f5f9;
|
|
154
|
-
|
|
155
|
-
/* Border System */
|
|
156
|
-
--tuwa-border-primary: #e2e8f0;
|
|
157
|
-
--tuwa-border-secondary: #cbd5e1;
|
|
114
|
+
--tuwa-rounded-corners: 8px;
|
|
158
115
|
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### Dark Mode Support
|
|
162
116
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
```css
|
|
166
|
-
/* Dark mode overrides */
|
|
117
|
+
/* Customize Dark Mode styling */
|
|
167
118
|
.dark {
|
|
168
|
-
--tuwa-
|
|
169
|
-
--tuwa-
|
|
170
|
-
--tuwa-
|
|
171
|
-
--tuwa-bg-primary: #0f172a;
|
|
172
|
-
--tuwa-bg-secondary: #1e293b;
|
|
173
|
-
--tuwa-bg-muted: #334155;
|
|
174
|
-
--tuwa-border-primary: #374151;
|
|
119
|
+
--tuwa-bg-primary: #050505;
|
|
120
|
+
--tuwa-bg-secondary: #121212;
|
|
121
|
+
--tuwa-border-primary: #222222;
|
|
175
122
|
}
|
|
176
123
|
```
|
|
177
124
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
#### Component Integration
|
|
181
|
-
|
|
182
|
-
Nova Core works seamlessly with other Nova packages:
|
|
183
|
-
|
|
184
|
-
```tsx
|
|
185
|
-
import { cn } from '@tuwaio/nova-core';
|
|
186
|
-
import { ConnectButton } from '@tuwaio/nova-connect/components';
|
|
187
|
-
import { NovaTransactionsProvider } from '@tuwaio/nova-transactions';
|
|
188
|
-
|
|
189
|
-
function App() {
|
|
190
|
-
return (
|
|
191
|
-
<div className={cn('min-h-screen', 'bg-[var(--tuwa-bg-primary)]', 'text-[var(--tuwa-text-primary)]')}>
|
|
192
|
-
<NovaTransactionsProvider {...params} />
|
|
193
|
-
<header className="border-b border-[var(--tuwa-border-primary)]">
|
|
194
|
-
<ConnectButton />
|
|
195
|
-
</header>
|
|
196
|
-
<main>{/* Your app content */}</main>
|
|
197
|
-
</div>
|
|
198
|
-
);
|
|
199
|
-
}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### API Reference
|
|
203
|
-
|
|
204
|
-
#### Utilities
|
|
205
|
-
|
|
206
|
-
| Function | Description | Usage |
|
|
207
|
-
| :------------------- | :------------------------------------------------------------- | :--------------------------------------------------- |
|
|
208
|
-
| **`cn(...classes)`** | Merges class names intelligently, resolving Tailwind conflicts | `cn('p-4 text-sm', 'p-6', {'hidden': conditional})` |
|
|
209
|
-
|
|
210
|
-
#### Hooks
|
|
211
|
-
|
|
212
|
-
| Hook | Description | Return Type |
|
|
213
|
-
| :------------------------- | :----------------------------------- | :---------------------------------- |
|
|
214
|
-
| **`useCopyToClipboard()`** | Copy text to clipboard with feedback | `[boolean, (text: string) => void]` |
|
|
215
|
-
| **`useMediaQuery(query)`** | Responsive media query hook | `boolean` |
|
|
125
|
+
---
|
|
216
126
|
|
|
217
|
-
##
|
|
127
|
+
## 🔧 API & Module Architecture
|
|
218
128
|
|
|
219
|
-
|
|
129
|
+
`@tuwaio/nova-core` exports the following modules and functions:
|
|
220
130
|
|
|
221
|
-
|
|
131
|
+
- **Style Composition:** `cn`.
|
|
132
|
+
- **React Hooks:** `useCopyToClipboard`, `useMediaQuery`.
|
|
133
|
+
- **UI Dialog Primitives:** `Dialog`, `DialogOverlay`, `DialogContent`, `DialogHeader`, `DialogTitle`, `DialogDescription`, `DialogFooter`.
|
|
134
|
+
- **Utility Indicators:** `StarsBackground`, `FallbackIcon`, `GithubFallbackIcon`, `ChevronArrowWithAnim`, `ToastCloseButton`, `ToastValidationError`, `NetworkIcon`, `WalletIcon`.
|
|
135
|
+
- **Formatters:** `deepMerge`, `svgToBase64`, `isTouchDevice`, `textCenterEllipsis`, `resolveCssVariable`.
|
|
222
136
|
|
|
223
|
-
|
|
137
|
+
---
|
|
224
138
|
|
|
225
139
|
## 📄 License
|
|
226
140
|
|
|
227
|
-
|
|
141
|
+
Licensed under the **Apache-2.0 License**. See the [LICENSE](./LICENSE) file for details.
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var framerMotion=require('framer-motion'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),metadata=require('@web3icons/common/metadata'),jsxRuntime=require('react/jsx-runtime'),d=require('react'),l=require('@radix-ui/react-dialog');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var d__namespace=/*#__PURE__*/_interopNamespace(d);var l__namespace=/*#__PURE__*/_interopNamespace(l);var Oo="novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:bg-[var(--tuwa-standart-button-bg)] novacore:px-3 novacore:py-2 novacore:flex novacore:items-center novacore:gap-1 novacore:text-sm novacore:font-semibold novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors novacore:hover:bg-[var(--tuwa-standart-button-hover)] novacore:disabled:cursor-not-allowed novacore:disabled:opacity-50";function s(...o){return tailwindMerge.twMerge(clsx.clsx(o))}var y=o=>o&&typeof o=="object"&&!Array.isArray(o);function J(o,e){let t={...o};return y(o)&&y(e)&&Object.keys(e).forEach(n=>{let r=o[n],a=e[n];y(r)&&y(a)?t[n]=J(r,a):t[n]=a;}),t}function h(o){if(typeof o!="string")return false;let e=o.toLowerCase();return e.includes("solana")&&(e.includes("devnet")||e.includes("testnet"))}var R="Unknown";function Z(o){return o.charAt(0).toUpperCase()+o.slice(1).toLowerCase()}function z(o){let e={name:R,id:R.toLowerCase(),filePath:R.toLowerCase(),chainId:o};if(typeof o=="number"){let i=metadata.networks.find(c=>c.chainId===o);return i?{name:i.name,id:i.id,filePath:i.filePath?.split(":")[1],chainId:o}:e}let[t,n]=o?o.split(":"):[o],r=metadata.networks.find(i=>i.id===t);return r?{name:n&&h(o)?`${r.name} ${Z(n)}`:r.name,id:r.id,filePath:r.filePath?.split(":")[1],chainId:o}:e}function F(o=1200){if(typeof window>"u")return false;let e="ontouchstart"in window,t=navigator.maxTouchPoints>0,n=false;window.matchMedia&&(n=window.matchMedia("(pointer: coarse)").matches);let r=e||t||n,a=window.innerWidth<=o;return r&&a}function oo(o){if(!o.startsWith("var("))return o;let e=o.match(/var\(\s*(--[\w-]+)/);if(!e)return o;let t=e[1];return getComputedStyle(document.documentElement).getPropertyValue(t).trim()||o}function eo(o,e){let t=oo(e),r=new DOMParser().parseFromString(o,"image/svg+xml");if(r.querySelector("parsererror"))return console.warn("SVG parse error, returning original"),o;let i=r.querySelector("path");return i&&i.setAttribute("fill",t),new XMLSerializer().serializeToString(r.documentElement)}function x(o,e){let t=o;return e&&(t=eo(t,e)),`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(t)))}`}var N=o=>`${o.replace(/\s+/g,"-").toLowerCase()}.svg`;function oe(o,e,t){if(!o)return "";if(o.length<=e+t)return o;let n=o.slice(0,e),r=o.slice(o.length-t);return `${n}...${r}`}function pe({className:o,strokeWidth:e,isOpen:t}){return jsxRuntime.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:e??2,stroke:"currentColor",className:s("novacore:w-4 novacore:h-4 novacore:text-[var(--tuwa-text-secondary)]",o),children:[jsxRuntime.jsx(framerMotion.AnimatePresence,{children:t&&jsxRuntime.jsx(framerMotion.motion.path,{strokeLinecap:"round",strokeLinejoin:"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5",variants:{hidden:{translateY:3,scaleY:.8,opacity:0},visible:{translateY:0,scaleY:1,opacity:1}},initial:"hidden",animate:"visible",transition:{duration:.4}})}),jsxRuntime.jsx(framerMotion.AnimatePresence,{children:!t&&jsxRuntime.jsx(framerMotion.motion.path,{strokeLinecap:"round",strokeLinejoin:"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5",className:"novacore:relative",variants:{hidden:{translateY:-3,scaleY:.8,opacity:0},visible:{translateY:0,scaleY:1,opacity:1}},initial:"hidden",animate:"visible",transition:{duration:.4}})})]})}var ro=d__namespace.forwardRef(({className:o,...e},t)=>jsxRuntime.jsxs("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:s("novacore:h-5 novacore:w-5 novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors",o),...e,children:[jsxRuntime.jsx("path",{d:"M18 6 6 18"}),jsxRuntime.jsx("path",{d:"m6 6 12 12"})]}));ro.displayName="CloseIcon";var ao="novacore:flex novacore:items-center novacore:justify-center novacore:w-full novacore:h-full novacore:rounded-full novacore:text-[var(--tuwa-text-secondary)] novacore:bg-[var(--tuwa-bg-muted)]",f=({animate:o=false,content:e="",className:t})=>jsxRuntime.jsx("div",{className:s(ao,"Nova_Web3_Icon",t,{"novacore:animate-pulse":o}),children:e});function k({src:o,alt:e,...t}){return jsxRuntime.jsx("img",{...t,src:o,alt:e??"",draggable:false,onDragStart:n=>n.preventDefault(),style:{outline:"none",pointerEvents:"none"}})}var lo="https://raw.githubusercontent.com/0xa3k5/web3icons/refs/heads/main/raw-svgs",H=new Map;function C({githubSrc:o,className:e,alt:t,firstPathFill:n,...r}){let[a,i]=d.useState(null),[c,m]=d.useState("idle");return d.useEffect(()=>{let v=true,b=`${o}|${n??""}`,I=H.get(b);if(I){i(I),m("success");return}return (async()=>{m("loading");try{let D=await fetch(`${lo}/${o}`);if(!D.ok)throw new Error(`Failed to load icon: ${D.status}`);let Q=await D.text();if(v){let A=x(Q,n);H.set(b,A),i(A),m("success");}}catch{v&&m("error");}})(),()=>{v=false;}},[o,n]),c==="loading"||c==="idle"?jsxRuntime.jsx(f,{animate:true,className:e}):c==="success"&&a?jsxRuntime.jsx(k,{...r,src:a,alt:t,className:e}):jsxRuntime.jsx(f,{content:"?",className:e})}var Ae=l__namespace.Root,Ve=l__namespace.Trigger,mo=l__namespace.Portal,ze=l__namespace.Close,uo={initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,transition:{duration:.2}}},po={initial:{opacity:0,y:"100%"},animate:{opacity:1,y:"0%"},exit:{opacity:0,y:"100%",transition:{duration:.2}}},fo={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}},U=({className:o,backdropAnimation:e})=>(d__namespace.useEffect(()=>(typeof window<"u"&&window.document.body.classList.add("NovaModalOpen"),()=>{typeof window<"u"&&window.document.body.classList.remove("NovaModalOpen");}),[]),jsxRuntime.jsx(framerMotion.AnimatePresence,{children:jsxRuntime.jsx(framerMotion.motion.div,{variants:e??fo,transition:{duration:.2,ease:"easeInOut"},animate:"animate",initial:"initial",exit:"exit",className:"novacore:relative novacore:overflow-hidden",children:jsxRuntime.jsx("div",{className:s("novacore:fixed novacore:inset-0 novacore:z-50 novacore:bg-black/55 novacore:backdrop-blur-sm novacore:backdrop-saturate-150",o)})})}));U.displayName=l__namespace.Overlay.displayName;var vo=d__namespace.forwardRef(({className:o,children:e,modalAnimation:t,backdropAnimation:n,...r},a)=>{let[i,c]=d__namespace.useState(false);d__namespace.useEffect(()=>{c(F());},[]);let m=t??(i?po:uo);return jsxRuntime.jsxs(mo,{children:[jsxRuntime.jsx(U,{backdropAnimation:n}),jsxRuntime.jsx(l__namespace.Content,{"aria-describedby":"tuwa:modal-content",ref:a,className:s("NovaNoScrolling novacore:fixed novacore:bottom-0 novacore:left-0 novacore:p-0 novacore:sm:bottom-auto novacore:sm:left-[50%] novacore:sm:top-[50%] novacore:sm:translate-x-[-50%] novacore:sm:translate-y-[-50%] novacore:z-50 novacore:sm:p-4 novacore:outline-none",o),...r,children:jsxRuntime.jsx(framerMotion.motion.div,{layout:true,className:"NovaNoScrolling novacore:relative novacore:overflow-hidden",transition:{layout:{duration:.2,ease:[.1,.1,.2,1]}},children:jsxRuntime.jsx(framerMotion.AnimatePresence,{children:jsxRuntime.jsx(framerMotion.motion.div,{variants:m,transition:{duration:.2,ease:"easeInOut"},animate:"animate",initial:"initial",exit:"exit",className:"NovaNoScrolling novacore:relative novacore:overflow-hidden",children:jsxRuntime.jsx("div",{className:s("NovaNoScrolling NovaDialogContent__elements novacore:relative novacore:flex novacore:max-h-[98dvh] novacore:w-full novacore:flex-col novacore:gap-3 novacore:overflow-y-auto novacore:rounded-t-[var(--tuwa-rounded-corners)] novacore:sm:rounded-[var(--tuwa-rounded-corners)]","novacore:border novacore:border-[var(--tuwa-border-primary)] novacore:bg-[var(--tuwa-bg-primary)]"),children:e})})})})})]})});vo.displayName=l__namespace.Content.displayName;var go=({className:o,...e})=>jsxRuntime.jsx("div",{"aria-describedby":"tuwa:modal-header",className:s("novacore:sticky novacore:flex novacore:top-0 novacore:z-11 novacore:w-full novacore:flex-row novacore:items-center novacore:justify-between","novacore:border-b novacore:border-[var(--tuwa-border-primary)] novacore:bg-[var(--tuwa-bg-primary)] novacore:p-4",o),...e});go.displayName="DialogHeader";var wo=({className:o,...e})=>jsxRuntime.jsx("div",{"aria-describedby":"tuwa:modal-footer",className:s("novacore:flex novacore:flex-col-reverse novacore:sm:flex-row novacore:sm:justify-end novacore:sm:space-x-2",o),...e});wo.displayName="DialogFooter";var bo=d__namespace.forwardRef(({className:o,...e},t)=>jsxRuntime.jsx(l__namespace.Title,{ref:t,"aria-describedby":"tuwa:modal-title",className:s("novacore:text-lg novacore:font-bold novacore:leading-none novacore:tracking-tight novacore:text-[var(--tuwa-text-primary)] novacore:m-0",o),...e}));bo.displayName=l__namespace.Title.displayName;var yo=d__namespace.forwardRef(({className:o,...e},t)=>jsxRuntime.jsx(l__namespace.Description,{"aria-describedby":"tuwa:modal-description",ref:t,className:s("novacore:text-sm novacore:text-[var(--tuwa-text-secondary)]",o),...e}));yo.displayName=l__namespace.Description.displayName;function w({children:o,iconId:e,alt:t,firstPathFill:n,...r}){let[a,i]=d.useState(null),c=d.useCallback(m=>{if(m){let v=x(m.outerHTML,n);i({id:e,src:v});}},[e,n]);return a&&a.id===e?jsxRuntime.jsx(k,{...r,src:a.src,alt:t}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:o(c)})}var q=d.lazy(()=>import('@web3icons/react/dynamic').then(o=>({default:o.NetworkIcon}))),Po="var(--tuwa-testnet-icons)";function je({chainId:o,variant:e="background",className:t}){let n=z(o),r=typeof o=="string",a=r?o.split(":")[0].toLowerCase():o,c=r&&h(o)||n.name.toLowerCase().includes("testnet")?Po:void 0,m=s("novacore:w-full novacore:h-full novacore:rounded-full",t),v=typeof a=="string"?a:n.filePath,b=`networks/${e}/${N(v)}`;return n.name==="Unknown"?typeof o=="number"?jsxRuntime.jsx(f,{content:"?",className:t}):jsxRuntime.jsx(C,{githubSrc:b,className:m,firstPathFill:c}):jsxRuntime.jsx(d.Suspense,{fallback:jsxRuntime.jsx(f,{animate:true,className:t}),children:jsxRuntime.jsx(w,{iconId:`${o}-${e}`,className:m,firstPathFill:c,children:T=>typeof a=="string"?jsxRuntime.jsx(q,{ref:T,id:a,variant:e}):jsxRuntime.jsx(q,{ref:T,chainId:a,variant:e})})})}function et({starsCount:o}){let[e,t]=d.useState(false);d.useEffect(()=>t(true),[]);let n=d.useMemo(()=>e?Array.from({length:o??200}).map(()=>({x:Math.random()*window.innerWidth,y:Math.random()*window.innerHeight,r:Math.random()*1+.5,isSupernova:Math.random()<.1,delay:Math.random()*10,duration:5+Math.random()*5})):[],[e]);return jsxRuntime.jsx("div",{className:"novacore:absolute novacore:inset-0 novacore:z-1 novacore:h-full novacore:w-full novacore:overflow-hidden",children:jsxRuntime.jsxs("svg",{width:"100%",height:"100%",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("style",{children:`
|
|
1
|
+
'use strict';var framerMotion=require('framer-motion'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),metadata=require('@web3icons/common/metadata'),jsxRuntime=require('react/jsx-runtime'),d=require('react'),c=require('@radix-ui/react-dialog');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var d__namespace=/*#__PURE__*/_interopNamespace(d);var c__namespace=/*#__PURE__*/_interopNamespace(c);var _o="novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:bg-[var(--tuwa-standart-button-bg)] novacore:px-3 novacore:py-2 novacore:flex novacore:items-center novacore:gap-1 novacore:text-sm novacore:font-mono novacore:font-semibold novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors novacore:hover:bg-[var(--tuwa-standart-button-hover)] novacore:disabled:cursor-not-allowed novacore:disabled:opacity-50 novacore:min-h-[36px]";function s(...o){return tailwindMerge.twMerge(clsx.clsx(o))}var y=o=>o&&typeof o=="object"&&!Array.isArray(o);function Z(o,e){let t={...o};return y(o)&&y(e)&&Object.keys(e).forEach(n=>{let r=o[n],a=e[n];y(r)&&y(a)?t[n]=Z(r,a):t[n]=a;}),t}function x(o){if(typeof o!="string")return false;let e=o.toLowerCase();return e.includes("solana")&&(e.includes("devnet")||e.includes("testnet"))}var M="Unknown";function oo(o){return o.charAt(0).toUpperCase()+o.slice(1).toLowerCase()}function W(o){let e={name:M,id:M.toLowerCase(),filePath:M.toLowerCase(),chainId:o};if(typeof o=="number"){let i=metadata.networks.find(l=>l.chainId===o);return i?{name:i.name,id:i.id,filePath:i.filePath?.split(":")[1],chainId:o}:e}let[t,n]=o?o.split(":"):[o],r=metadata.networks.find(i=>i.id===t);return r?{name:n&&x(o)?`${r.name} ${oo(n)}`:r.name,id:r.id,filePath:r.filePath?.split(":")[1],chainId:o}:e}function G(o=1200){if(typeof window>"u")return false;let e="ontouchstart"in window,t=navigator.maxTouchPoints>0,n=false;window.matchMedia&&(n=window.matchMedia("(pointer: coarse)").matches);let r=e||t||n,a=window.innerWidth<=o;return r&&a}function eo(o){if(!o.startsWith("var("))return o;let e=o.match(/var\(\s*(--[\w-]+)/);if(!e)return o;let t=e[1];return getComputedStyle(document.documentElement).getPropertyValue(t).trim()||o}function to(o,e){let t=eo(e),r=new DOMParser().parseFromString(o,"image/svg+xml");if(r.querySelector("parsererror"))return console.warn("SVG parse error, returning original"),o;let i=r.querySelector("path");return i&&i.setAttribute("fill",t),new XMLSerializer().serializeToString(r.documentElement)}function N(o,e){let t=o;return e&&(t=to(t,e)),`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(t)))}`}var S=o=>`${o.replace(/\s+/g,"-").toLowerCase()}.svg`;function te(o,e,t){if(!o)return "";if(o.length<=e+t)return o;let n=o.slice(0,e),r=o.slice(o.length-t);return `${n}...${r}`}function ve({className:o,strokeWidth:e,isOpen:t}){return jsxRuntime.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:e??2,stroke:"currentColor",className:s("novacore:w-4 novacore:h-4 novacore:text-[var(--tuwa-text-secondary)]",o),children:[jsxRuntime.jsx(framerMotion.AnimatePresence,{children:t&&jsxRuntime.jsx(framerMotion.motion.path,{strokeLinecap:"round",strokeLinejoin:"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5",variants:{hidden:{translateY:3,scaleY:.8,opacity:0},visible:{translateY:0,scaleY:1,opacity:1}},initial:"hidden",animate:"visible",transition:{duration:.4}})}),jsxRuntime.jsx(framerMotion.AnimatePresence,{children:!t&&jsxRuntime.jsx(framerMotion.motion.path,{strokeLinecap:"round",strokeLinejoin:"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5",className:"novacore:relative",variants:{hidden:{translateY:-3,scaleY:.8,opacity:0},visible:{translateY:0,scaleY:1,opacity:1}},initial:"hidden",animate:"visible",transition:{duration:.4}})})]})}var no=d__namespace.forwardRef(({className:o,...e},t)=>jsxRuntime.jsxs("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:s("novacore:h-5 novacore:w-5 novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors",o),...e,children:[jsxRuntime.jsx("path",{d:"M18 6 6 18"}),jsxRuntime.jsx("path",{d:"m6 6 12 12"})]}));no.displayName="CloseIcon";var io="novacore:flex novacore:items-center novacore:justify-center novacore:w-full novacore:h-full novacore:rounded-full novacore:text-[var(--tuwa-text-secondary)] novacore:bg-[var(--tuwa-bg-muted)]",f=({animate:o=false,content:e="",className:t})=>jsxRuntime.jsx("div",{className:s(io,"Nova_Web3_Icon",t,{"novacore:animate-pulse":o}),children:e});function C({src:o,alt:e,...t}){return jsxRuntime.jsx("img",{...t,src:o,alt:e??"",draggable:false,onDragStart:n=>n.preventDefault(),style:{outline:"none",pointerEvents:"none"}})}var mo="https://raw.githubusercontent.com/0xa3k5/web3icons/refs/heads/main/raw-svgs",L=new Map;function P({githubSrc:o,className:e,alt:t,firstPathFill:n,...r}){let a=`${o}|${n??""}`,i=L.get(a),[l,u]=d.useState(null),[w,b]=d.useState("idle"),T=i||l,g=i?"success":w;return d.useEffect(()=>{let D=true;return L.has(a)?void 0:((async()=>{b("loading");try{let R=await fetch(`${mo}/${o}`);if(!R.ok)throw new Error(`Failed to load icon: ${R.status}`);let X=await R.text();if(D){let V=N(X,n);L.set(a,V),u(V),b("success");}}catch{D&&b("error");}})(),()=>{D=false;})},[o,n,a]),g==="loading"||g==="idle"?jsxRuntime.jsx(f,{animate:true,className:e}):g==="success"&&T?jsxRuntime.jsx(C,{...r,src:T,alt:t,className:e}):jsxRuntime.jsx(f,{content:"?",className:e})}var Ve=c__namespace.Root,ze=c__namespace.Trigger,uo=c__namespace.Portal,We=c__namespace.Close,po={initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,transition:{duration:.2}}},fo={initial:{opacity:0,y:"100%"},animate:{opacity:1,y:"0%"},exit:{opacity:0,y:"100%",transition:{duration:.2}}},vo={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}},Y=({className:o,backdropAnimation:e})=>(d__namespace.useEffect(()=>(typeof window<"u"&&window.document.body.classList.add("NovaModalOpen"),()=>{typeof window<"u"&&window.document.body.classList.remove("NovaModalOpen");}),[]),jsxRuntime.jsx(framerMotion.AnimatePresence,{children:jsxRuntime.jsx(framerMotion.motion.div,{variants:e??vo,transition:{duration:.2,ease:"easeInOut"},animate:"animate",initial:"initial",exit:"exit",className:"novacore:relative novacore:overflow-hidden",children:jsxRuntime.jsx("div",{className:s("novacore:fixed novacore:inset-0 novacore:z-50 novacore:bg-black/55 novacore:backdrop-blur-sm novacore:backdrop-saturate-150",o)})})}));Y.displayName=c__namespace.Overlay.displayName;var go=d__namespace.forwardRef(({className:o,children:e,modalAnimation:t,backdropAnimation:n,...r},a)=>{let[i,l]=d__namespace.useState(false);d__namespace.useEffect(()=>{l(G());},[]);let u=t??(i?fo:po);return jsxRuntime.jsxs(uo,{children:[jsxRuntime.jsx(Y,{backdropAnimation:n}),jsxRuntime.jsx(c__namespace.Content,{"aria-describedby":"tuwa:modal-content",ref:a,className:s("NovaNoScrolling novacore:fixed novacore:bottom-0 novacore:left-0 novacore:p-0 novacore:sm:bottom-auto novacore:sm:left-[50%] novacore:sm:top-[50%] novacore:sm:translate-x-[-50%] novacore:sm:translate-y-[-50%] novacore:z-50 novacore:sm:p-4 novacore:outline-none",o),...r,children:jsxRuntime.jsx(framerMotion.motion.div,{layout:true,className:"NovaNoScrolling novacore:relative novacore:overflow-hidden",transition:{layout:{duration:.2,ease:[.1,.1,.2,1]}},children:jsxRuntime.jsx(framerMotion.AnimatePresence,{children:jsxRuntime.jsx(framerMotion.motion.div,{variants:u,transition:{duration:.2,ease:"easeInOut"},animate:"animate",initial:"initial",exit:"exit",className:"NovaNoScrolling novacore:relative novacore:overflow-hidden",children:jsxRuntime.jsx("div",{className:s("NovaNoScrolling NovaDialogContent__elements novacore:relative novacore:flex novacore:max-h-[98dvh] novacore:w-full novacore:flex-col novacore:gap-3 novacore:overflow-y-auto novacore:rounded-t-[var(--tuwa-rounded-corners)] novacore:sm:rounded-[var(--tuwa-rounded-corners)]","novacore:border novacore:border-[var(--tuwa-border-primary)] novacore:bg-[var(--tuwa-bg-primary)]"),children:e})})})})})]})});go.displayName=c__namespace.Content.displayName;var wo=({className:o,...e})=>jsxRuntime.jsx("div",{"aria-describedby":"tuwa:modal-header",className:s("novacore:sticky novacore:flex novacore:top-0 novacore:z-11 novacore:w-full novacore:flex-row novacore:items-center novacore:justify-between","novacore:border-b novacore:border-[var(--tuwa-border-primary)] novacore:bg-[var(--tuwa-bg-primary)] novacore:p-4",o),...e});wo.displayName="DialogHeader";var bo=({className:o,...e})=>jsxRuntime.jsx("div",{"aria-describedby":"tuwa:modal-footer",className:s("novacore:flex novacore:flex-col-reverse novacore:sm:flex-row novacore:sm:justify-end novacore:sm:space-x-2",o),...e});bo.displayName="DialogFooter";var ho=d__namespace.forwardRef(({className:o,...e},t)=>jsxRuntime.jsx(c__namespace.Title,{ref:t,"aria-describedby":"tuwa:modal-title",className:s("novacore:text-lg novacore:font-bold novacore:leading-none novacore:tracking-tight novacore:text-[var(--tuwa-text-primary)] novacore:m-0 novacore:font-mono",o),...e}));ho.displayName=c__namespace.Title.displayName;var yo=d__namespace.forwardRef(({className:o,...e},t)=>jsxRuntime.jsx(c__namespace.Description,{"aria-describedby":"tuwa:modal-description",ref:t,className:s("novacore:text-sm novacore:text-[var(--tuwa-text-secondary)]",o),...e}));yo.displayName=c__namespace.Description.displayName;function h({children:o,iconId:e,alt:t,firstPathFill:n,...r}){let[a,i]=d.useState(null),l=d.useCallback(u=>{if(u){let w=N(u.outerHTML,n);i({id:e,src:w});}},[e,n]);return a&&a.id===e?jsxRuntime.jsx(C,{...r,src:a.src,alt:t}):jsxRuntime.jsx(jsxRuntime.Fragment,{children:o(l)})}var K=d.lazy(()=>import('@web3icons/react/dynamic').then(o=>({default:o.NetworkIcon}))),Io="var(--tuwa-testnet-icons)";function Ze({chainId:o,variant:e="background",className:t}){let n=W(o),r=typeof o=="string",a=r?o.split(":")[0].toLowerCase():o,l=r&&x(o)||n.name.toLowerCase().includes("testnet")?Io:void 0,u=s("novacore:w-full novacore:h-full novacore:rounded-full",t),w=typeof a=="string"?a:n.filePath,b=`networks/${e}/${S(w)}`;return n.name==="Unknown"?typeof o=="number"?jsxRuntime.jsx(f,{content:"?",className:t}):jsxRuntime.jsx(P,{githubSrc:b,className:u,firstPathFill:l}):jsxRuntime.jsx(d.Suspense,{fallback:jsxRuntime.jsx(f,{animate:true,className:t}),children:jsxRuntime.jsx(h,{iconId:`${o}-${e}`,className:u,firstPathFill:l,children:g=>typeof a=="string"?jsxRuntime.jsx(K,{ref:g,id:a,variant:e}):jsxRuntime.jsx(K,{ref:g,chainId:a,variant:e})})})}function rt({starsCount:o}){let[e,t]=d.useState(false);d.useEffect(()=>t(true),[]);let n=d.useMemo(()=>e?Array.from({length:o??200}).map(()=>({x:Math.random()*window.innerWidth,y:Math.random()*window.innerHeight,r:Math.random()*1+.5,isSupernova:Math.random()<.1,delay:Math.random()*10,duration:5+Math.random()*5})):[],[e]);return jsxRuntime.jsx("div",{className:"novacore:absolute novacore:inset-0 novacore:z-1 novacore:h-full novacore:w-full novacore:overflow-hidden",children:jsxRuntime.jsxs("svg",{width:"100%",height:"100%",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("style",{children:`
|
|
2
2
|
/* Pulse animation now includes scale for a more organic feel. */
|
|
3
3
|
@keyframes pulse {
|
|
4
4
|
0%, 100% {
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
transform-origin: center;
|
|
45
45
|
stroke-width: 2;
|
|
46
46
|
}
|
|
47
|
-
`})}),n.map((r,a)=>jsxRuntime.jsx("circle",{cx:r.x,cy:r.y,r:r.r,fill:"rgba(var(--tuwa-bg-primary), 0.7)",className:r.isSupernova?"supernova":"pulsar",style:{animationDelay:`${r.delay}s`,animationDuration:`${r.duration}s`}},a))]})})}function
|
|
48
|
-
exports.ChevronArrowWithAnim=
|
|
47
|
+
`})}),n.map((r,a)=>jsxRuntime.jsx("circle",{cx:r.x,cy:r.y,r:r.r,fill:"rgba(var(--tuwa-bg-primary), 0.7)",className:r.isSupernova?"supernova":"pulsar",style:{animationDelay:`${r.delay}s`,animationDuration:`${r.duration}s`}},a))]})})}function st({closeToast:o,ariaLabel:e="Close toast notification",title:t="Close toast notification",className:n,iconClassName:r}){return jsxRuntime.jsx("button",{type:"button",onClick:o,"aria-label":e,title:t,className:s("novacore:absolute novacore:top-2 novacore:right-2 novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:p-1","novacore:text-[var(--tuwa-text-tertiary)] novacore:transition-colors","novacore:hover:bg-[var(--tuwa-bg-muted)] novacore:hover:text-[var(--tuwa-text-primary)]",n),children:jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:s("novacore:h-5 novacore:w-5",r),children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18 18 6M6 6l12 12"})})})}var Fo=d.lazy(()=>import('@web3icons/react/dynamic').then(o=>({default:o.WalletIcon}))),Vo={walletconnect:"wallet-connect"};function zo(o){return metadata.wallets.some(e=>e.id===o||e.name?.toLowerCase()===o)}var Wo=({className:o,ref:e})=>jsxRuntime.jsxs("svg",{ref:e,className:o,fill:"none",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("path",{fill:"#fff",fillRule:"evenodd",d:"M16 0c8.84 0 16 7.16 16 16s-7.16 16-16 16S0 24.84 0 16 7.16 0 16 0",clipRule:"evenodd"}),jsxRuntime.jsx("path",{fill:"#000",fillRule:"evenodd",d:"M16.54 2.01h1.53c.5.09.99.23 1.48.42.21.25.19.48-.05.69q-.195.045-.39 0c-1.86-.65-3.55-.35-5.07.89 2.39.7 3.84 2.27 4.36 4.7.12.85.08 1.68-.12 2.51.87 0 1.74 0 2.61-.02.39-.4.7-.85.94-1.35-.45-.45-.65-.99-.59-1.63-1.15.08-1.79-.44-1.92-1.58.14-1.12.78-1.67 1.92-1.63a.7.7 0 0 0-.12-.49l-.89-.89c-.02-.45.19-.6.62-.47.24.19.46.39.66.62.71-.79 1.5-.89 2.39-.32.44.42.62.94.54 1.55 1.49.02 2.11.76 1.85 2.22-.08.17-.17.34-.27.49.53.59.87 1.28 1.01 2.07.08 4.6.1 9.19.05 13.79-.19 1.58-1 2.71-2.44 3.37-.29.1-.59.2-.89.27H7.2c-1.31-.33-2.05-1.17-2.24-2.51-.03-5.24-.03-10.47 0-15.71.3-1.62 1.28-2.46 2.93-2.54 1.26-1.77 2.98-2.64 5.17-2.61.96-1.01 2.13-1.62 3.5-1.85zm6.11 1.87c.39-.03.7.12.91.44.06.39.09.79.1 1.18.02.12.07.21.17.27.41 0 .82.04 1.23.1.49.26.63.65.42 1.16-.07.14-.18.25-.32.32-.39.06-.79.09-1.18.1-.12.02-.21.07-.27.17l-.15 1.33c-.32.46-.72.55-1.21.27a.76.76 0 0 1-.27-.37c-.06-.41-.09-.82-.1-1.23a.35.35 0 0 0-.27-.17l-1.08-.05c-.46-.24-.62-.61-.47-1.11.14-.27.36-.43.66-.47l.99-.05s.09-.04.12-.07l.15-1.28q.18-.39.57-.54m-10.49.79c2.41-.09 4.12.94 5.15 3.1.44 1.12.48 2.25.12 3.4-.84.06-1.67.07-2.51.02.56-.68.52-1.32-.1-1.92-.26-.13-.54-.19-.84-.17.02-.95 0-1.91-.07-2.86-.21-.41-.55-.58-1.01-.52-.17.03-.31.09-.44.2-.72.92-1.43 1.85-2.14 2.78-.28.45-.29.91-.05 1.38q.225.3.57.42c.34.02.69.03 1.03.02v.69c-1.3.02-2.59 0-3.89-.05-.58-2.1-.08-3.88 1.53-5.34.79-.62 1.68-1 2.66-1.16zm.83 1.82c.07 0 .13.03.17.1l.05 3.05c.04.09.1.16.17.22l.89.05c.22.08.3.24.22.47q-.27.42-.57.81c-.43.02-.85.03-1.28.02 0-.41 0-.82-.02-1.23a.46.46 0 0 0-.17-.17l-1.28-.05c-.3-.1-.37-.29-.22-.57.7-.89 1.39-1.79 2.04-2.71zm-5.81.84h.2a6.1 6.1 0 0 0-.25 3.77c-.59-.13-1.01-.49-1.26-1.06-.36-1.29.08-2.19 1.31-2.71m17.98.83c.05 0 .1 0 .15.02q.825.855.96 2.04.045 1.305 0 2.61a3.76 3.76 0 0 0-2.54-1.55c-.61-.05-1.21-.08-1.82-.1.26-.31.48-.66.64-1.03 1.31.02 1.94-.62 1.87-1.95.26.02.5 0 .74-.05zM5.7 11.22c.41.4.91.65 1.48.76l16.06.05c1.42.13 2.38.87 2.88 2.19.07.24.12.49.15.74.03 2.86.03 5.71 0 8.57-.21 1.44-1 2.38-2.39 2.83-.24.05-.49.08-.74.1-1.26.02-2.53.03-3.79.02 0-1.33 0-2.66.02-3.99l1.55-1.55c1.42-.04 2.09-.78 1.99-2.19-.24-.88-.81-1.34-1.72-1.38-1.2.12-1.81.8-1.82 2.02l-1.92 1.92c-.08.11-.14.22-.2.34-.07 1.61-.1 3.22-.07 4.83h-.44c0-2.28 0-4.56-.02-6.85a1.8 1.8 0 0 0-.15-.34l-1.13-1.13c0-1.23-.61-1.92-1.82-2.07-1.29.17-1.87.91-1.72 2.22q.465 1.395 1.95 1.35l.71.71c0 .3.04.6.1.89.25.21.48.19.69-.05.03-.39.03-.79 0-1.18-.2-.25-.43-.49-.66-.71.15-.1.29-.22.39-.37.3.27.58.55.86.84.02 2.23.03 4.47.02 6.7h-.59c0-1.38 0-2.76-.02-4.14-.15-.25-.35-.31-.62-.17a1 1 0 0 0-.12.22c-.02 1.36-.03 2.73-.02 4.09h-.44c0-.99 0-1.97-.02-2.96-.02-.09-.06-.17-.1-.25-.67-.72-1.36-1.43-2.07-2.12-.06-1.48-.82-2.13-2.29-1.95-1.02.41-1.42 1.16-1.21 2.24q.51 1.32 1.95 1.26l1.55 1.55c.02.74.03 1.48.02 2.22-1.56.02-3.12 0-4.68-.07-.9-.24-1.42-.83-1.55-1.75-.02-4.48-.03-8.96-.02-13.45zm7.79 5.66c.84.06 1.19.5 1.06 1.33-.32.62-.8.79-1.45.52-.46-.37-.56-.82-.32-1.35.18-.26.42-.42.71-.49zm7.43 1.28c.89-.03 1.29.4 1.21 1.28-.33.67-.83.85-1.5.52-.54-.49-.58-1-.1-1.55.12-.11.25-.19.39-.25M9.94 19.94c.84 0 1.22.4 1.16 1.23-.28.68-.76.89-1.45.62-.63-.54-.65-1.09-.05-1.67l.34-.17zm9.75.24c.16.13.3.27.44.42-.53.52-1.05 1.05-1.55 1.6-.02 1.43-.03 2.86-.02 4.28h-.59c0-1.51 0-3.02.02-4.53a71 71 0 0 1 1.7-1.77M11.56 22c.62.53 1.21 1.11 1.75 1.72.02.92.03 1.84.02 2.76h-.59c0-.85 0-1.71-.02-2.56l-1.48-1.48s-.03-.07 0-.1c.12-.11.22-.22.32-.34",clipRule:"evenodd"})]});function gt({walletName:o,variant:e="background",className:t}){let n=s("novacore:w-full novacore:h-full novacore:rounded-full",t),r=o.toLowerCase();if(r==="impersonatedwallet")return jsxRuntime.jsx(h,{iconId:"impersonatedwallet",className:n,children:l=>jsxRuntime.jsx(Wo,{ref:l})});let a=Vo[r]??r,i=`wallets/${e}/${S(a)}`;return zo(a)?jsxRuntime.jsx(d.Suspense,{fallback:jsxRuntime.jsx(f,{animate:true,className:t}),children:jsxRuntime.jsx(h,{iconId:`${a}-${e}`,className:n,children:l=>jsxRuntime.jsx(Fo,{ref:l,id:a,variant:e})})}):jsxRuntime.jsx(P,{githubSrc:i,className:n})}function yt(o=2e3){let[e,t]=d.useState(false),[n,r]=d.useState(null),a=d.useCallback(async i=>{if(i)try{await navigator.clipboard.writeText(i),t(!0),r(null),setTimeout(()=>t(!1),o);}catch(l){let u=l instanceof Error?l:new Error("Failed to copy text.");console.error(u),r(u),setTimeout(()=>r(null),o);}},[o]);return {isCopied:e,copy:a,error:n}}function St(o){let e=r=>typeof window<"u"?window.matchMedia(r).matches:false,[t,n]=d.useState(e(o));return d.useEffect(()=>{let r=window.matchMedia(o),a=()=>n(r.matches);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[o]),t}
|
|
48
|
+
exports.ChevronArrowWithAnim=ve;exports.CloseIcon=no;exports.Dialog=Ve;exports.DialogClose=We;exports.DialogContent=go;exports.DialogDescription=yo;exports.DialogFooter=bo;exports.DialogHeader=wo;exports.DialogOverlay=Y;exports.DialogPortal=uo;exports.DialogTitle=ho;exports.DialogTrigger=ze;exports.FallbackIcon=f;exports.GithubFallbackIcon=P;exports.NetworkIcon=Ze;exports.StarsBackground=rt;exports.SvgImg=C;exports.SvgToImg=h;exports.ToastCloseButton=st;exports.WalletIcon=gt;exports.applyFirstPathFill=to;exports.cn=s;exports.deepMerge=Z;exports.formatIconNameForGithub=S;exports.getChainName=W;exports.isSolanaDev=x;exports.isTouchDevice=G;exports.resolveCssVariable=eo;exports.standardButtonClasses=_o;exports.svgToBase64=N;exports.textCenterEllipsis=te;exports.useCopyToClipboard=yt;exports.useMediaQuery=St;
|
package/dist/index.css
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer properties;
|
|
3
3
|
@layer theme, base, components, utilities;
|
|
4
4
|
@layer theme {
|
|
5
5
|
:root, :host {
|
|
6
|
+
--novacore-font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
6
7
|
--novacore-color-black: #000;
|
|
7
8
|
--novacore-spacing: 0.25rem;
|
|
8
9
|
--novacore-text-sm: 0.875rem;
|
|
@@ -32,10 +33,10 @@
|
|
|
32
33
|
position: sticky;
|
|
33
34
|
}
|
|
34
35
|
.novacore\:inset-0 {
|
|
35
|
-
inset:
|
|
36
|
+
inset: 0px;
|
|
36
37
|
}
|
|
37
38
|
.novacore\:top-0 {
|
|
38
|
-
top:
|
|
39
|
+
top: 0px;
|
|
39
40
|
}
|
|
40
41
|
.novacore\:top-2 {
|
|
41
42
|
top: calc(var(--novacore-spacing) * 2);
|
|
@@ -44,10 +45,10 @@
|
|
|
44
45
|
right: calc(var(--novacore-spacing) * 2);
|
|
45
46
|
}
|
|
46
47
|
.novacore\:bottom-0 {
|
|
47
|
-
bottom:
|
|
48
|
+
bottom: 0px;
|
|
48
49
|
}
|
|
49
50
|
.novacore\:left-0 {
|
|
50
|
-
left:
|
|
51
|
+
left: 0px;
|
|
51
52
|
}
|
|
52
53
|
.novacore\:z-1 {
|
|
53
54
|
z-index: 1;
|
|
@@ -59,7 +60,7 @@
|
|
|
59
60
|
z-index: 50;
|
|
60
61
|
}
|
|
61
62
|
.novacore\:m-0 {
|
|
62
|
-
margin:
|
|
63
|
+
margin: 0px;
|
|
63
64
|
}
|
|
64
65
|
.novacore\:flex {
|
|
65
66
|
display: flex;
|
|
@@ -76,6 +77,9 @@
|
|
|
76
77
|
.novacore\:max-h-\[98dvh\] {
|
|
77
78
|
max-height: 98dvh;
|
|
78
79
|
}
|
|
80
|
+
.novacore\:min-h-\[36px\] {
|
|
81
|
+
min-height: 36px;
|
|
82
|
+
}
|
|
79
83
|
.novacore\:w-4 {
|
|
80
84
|
width: calc(var(--novacore-spacing) * 4);
|
|
81
85
|
}
|
|
@@ -110,7 +114,7 @@
|
|
|
110
114
|
justify-content: center;
|
|
111
115
|
}
|
|
112
116
|
.novacore\:gap-1 {
|
|
113
|
-
gap:
|
|
117
|
+
gap: var(--novacore-spacing);
|
|
114
118
|
}
|
|
115
119
|
.novacore\:gap-3 {
|
|
116
120
|
gap: calc(var(--novacore-spacing) * 3);
|
|
@@ -158,10 +162,10 @@
|
|
|
158
162
|
}
|
|
159
163
|
}
|
|
160
164
|
.novacore\:p-0 {
|
|
161
|
-
padding:
|
|
165
|
+
padding: 0px;
|
|
162
166
|
}
|
|
163
167
|
.novacore\:p-1 {
|
|
164
|
-
padding:
|
|
168
|
+
padding: var(--novacore-spacing);
|
|
165
169
|
}
|
|
166
170
|
.novacore\:p-4 {
|
|
167
171
|
padding: calc(var(--novacore-spacing) * 4);
|
|
@@ -172,6 +176,9 @@
|
|
|
172
176
|
.novacore\:py-2 {
|
|
173
177
|
padding-block: calc(var(--novacore-spacing) * 2);
|
|
174
178
|
}
|
|
179
|
+
.novacore\:font-mono {
|
|
180
|
+
font-family: var(--novacore-font-mono);
|
|
181
|
+
}
|
|
175
182
|
.novacore\:text-lg {
|
|
176
183
|
font-size: var(--novacore-text-lg);
|
|
177
184
|
line-height: var(--tw-leading, var(--novacore-text-lg--line-height));
|
|
@@ -222,94 +229,87 @@
|
|
|
222
229
|
--tw-outline-style: none;
|
|
223
230
|
outline-style: none;
|
|
224
231
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
background-color: var(--tuwa-bg-muted);
|
|
229
|
-
}
|
|
232
|
+
@media (hover: hover) {
|
|
233
|
+
.novacore\:hover\:bg-\[var\(--tuwa-bg-muted\)\]:hover {
|
|
234
|
+
background-color: var(--tuwa-bg-muted);
|
|
230
235
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
&:hover {
|
|
234
|
-
@media (hover: hover) {
|
|
235
|
-
background-color: var(--tuwa-standart-button-hover);
|
|
236
|
-
}
|
|
236
|
+
.novacore\:hover\:bg-\[var\(--tuwa-standart-button-hover\)\]:hover {
|
|
237
|
+
background-color: var(--tuwa-standart-button-hover);
|
|
237
238
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
&:hover {
|
|
241
|
-
@media (hover: hover) {
|
|
242
|
-
color: var(--tuwa-text-primary);
|
|
243
|
-
}
|
|
239
|
+
.novacore\:hover\:text-\[var\(--tuwa-text-primary\)\]:hover {
|
|
240
|
+
color: var(--tuwa-text-primary);
|
|
244
241
|
}
|
|
245
242
|
}
|
|
246
|
-
.novacore\:disabled\:cursor-not-allowed {
|
|
247
|
-
|
|
248
|
-
cursor: not-allowed;
|
|
249
|
-
}
|
|
243
|
+
.novacore\:disabled\:cursor-not-allowed:disabled {
|
|
244
|
+
cursor: not-allowed;
|
|
250
245
|
}
|
|
251
|
-
.novacore\:disabled\:opacity-50 {
|
|
252
|
-
|
|
253
|
-
opacity: 50%;
|
|
254
|
-
}
|
|
246
|
+
.novacore\:disabled\:opacity-50:disabled {
|
|
247
|
+
opacity: 50%;
|
|
255
248
|
}
|
|
256
|
-
|
|
257
|
-
|
|
249
|
+
@media (width >= 40rem) {
|
|
250
|
+
.novacore\:sm\:top-\[50\%\] {
|
|
258
251
|
top: 50%;
|
|
259
252
|
}
|
|
260
|
-
|
|
261
|
-
.novacore\:sm\:bottom-auto {
|
|
262
|
-
@media (width >= 40rem) {
|
|
253
|
+
.novacore\:sm\:bottom-auto {
|
|
263
254
|
bottom: auto;
|
|
264
255
|
}
|
|
265
|
-
|
|
266
|
-
.novacore\:sm\:left-\[50\%\] {
|
|
267
|
-
@media (width >= 40rem) {
|
|
256
|
+
.novacore\:sm\:left-\[50\%\] {
|
|
268
257
|
left: 50%;
|
|
269
258
|
}
|
|
270
|
-
|
|
271
|
-
.novacore\:sm\:translate-x-\[-50\%\] {
|
|
272
|
-
@media (width >= 40rem) {
|
|
259
|
+
.novacore\:sm\:translate-x-\[-50\%\] {
|
|
273
260
|
--tw-translate-x: -50%;
|
|
274
261
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
275
262
|
}
|
|
276
|
-
|
|
277
|
-
.novacore\:sm\:translate-y-\[-50\%\] {
|
|
278
|
-
@media (width >= 40rem) {
|
|
263
|
+
.novacore\:sm\:translate-y-\[-50\%\] {
|
|
279
264
|
--tw-translate-y: -50%;
|
|
280
265
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
281
266
|
}
|
|
282
|
-
|
|
283
|
-
.novacore\:sm\:flex-row {
|
|
284
|
-
@media (width >= 40rem) {
|
|
267
|
+
.novacore\:sm\:flex-row {
|
|
285
268
|
flex-direction: row;
|
|
286
269
|
}
|
|
287
|
-
|
|
288
|
-
.novacore\:sm\:justify-end {
|
|
289
|
-
@media (width >= 40rem) {
|
|
270
|
+
.novacore\:sm\:justify-end {
|
|
290
271
|
justify-content: flex-end;
|
|
291
272
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
:
|
|
296
|
-
--tw-space-x-reverse: 0;
|
|
297
|
-
margin-inline-start: calc(calc(var(--novacore-spacing) * 2) * var(--tw-space-x-reverse));
|
|
298
|
-
margin-inline-end: calc(calc(var(--novacore-spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
|
|
299
|
-
}
|
|
273
|
+
:where(.novacore\:sm\:space-x-2 > :not(:last-child)) {
|
|
274
|
+
--tw-space-x-reverse: 0;
|
|
275
|
+
margin-inline-start: calc(calc(var(--novacore-spacing) * 2) * var(--tw-space-x-reverse));
|
|
276
|
+
margin-inline-end: calc(calc(var(--novacore-spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
|
|
300
277
|
}
|
|
301
|
-
|
|
302
|
-
.novacore\:sm\:rounded-\[var\(--tuwa-rounded-corners\)\] {
|
|
303
|
-
@media (width >= 40rem) {
|
|
278
|
+
.novacore\:sm\:rounded-\[var\(--tuwa-rounded-corners\)\] {
|
|
304
279
|
border-radius: var(--tuwa-rounded-corners);
|
|
305
280
|
}
|
|
306
|
-
|
|
307
|
-
.novacore\:sm\:p-4 {
|
|
308
|
-
@media (width >= 40rem) {
|
|
281
|
+
.novacore\:sm\:p-4 {
|
|
309
282
|
padding: calc(var(--novacore-spacing) * 4);
|
|
310
283
|
}
|
|
311
284
|
}
|
|
312
285
|
}
|
|
286
|
+
@font-face {
|
|
287
|
+
font-family: 'Geist Mono';
|
|
288
|
+
font-style: normal;
|
|
289
|
+
font-weight: 400;
|
|
290
|
+
font-display: swap;
|
|
291
|
+
src: url(data:font/woff2;charset=utf-8;base64,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) format('woff2');
|
|
292
|
+
}
|
|
293
|
+
@font-face {
|
|
294
|
+
font-family: 'Geist Mono';
|
|
295
|
+
font-style: normal;
|
|
296
|
+
font-weight: 500;
|
|
297
|
+
font-display: swap;
|
|
298
|
+
src: url(data:font/woff2;charset=utf-8;base64,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) format('woff2');
|
|
299
|
+
}
|
|
300
|
+
@font-face {
|
|
301
|
+
font-family: 'Geist Mono';
|
|
302
|
+
font-style: normal;
|
|
303
|
+
font-weight: 700;
|
|
304
|
+
font-display: swap;
|
|
305
|
+
src: url(data:font/woff2;charset=utf-8;base64,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) format('woff2');
|
|
306
|
+
}
|
|
307
|
+
@layer base {
|
|
308
|
+
[class*='font-mono'] {
|
|
309
|
+
letter-spacing: -0.025em !important;
|
|
310
|
+
line-height: 1 !important;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
313
|
:root {
|
|
314
314
|
--tuwa-success-bg: oklch(96.2% 0.044 156.743);
|
|
315
315
|
--tuwa-success-text: oklch(52.7% 0.154 150.069);
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
1
|
import * as React$1 from 'react';
|
|
3
2
|
import { ComponentProps, ReactNode } from 'react';
|
|
4
3
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
@@ -9,7 +8,7 @@ declare function ChevronArrowWithAnim({ className, strokeWidth, isOpen, }: {
|
|
|
9
8
|
className?: string;
|
|
10
9
|
strokeWidth?: number;
|
|
11
10
|
isOpen?: boolean;
|
|
12
|
-
}):
|
|
11
|
+
}): React$1.JSX.Element;
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* A reusable close button icon (X mark) styled with TUWA color scheme.
|
|
@@ -42,7 +41,7 @@ interface FallbackIconProps {
|
|
|
42
41
|
* @param props - {@link FallbackIconProps}
|
|
43
42
|
* @returns The rendered fallback element.
|
|
44
43
|
*/
|
|
45
|
-
declare const FallbackIcon: ({ animate, content, className }: FallbackIconProps) =>
|
|
44
|
+
declare const FallbackIcon: ({ animate, content, className }: FallbackIconProps) => React$1.JSX.Element;
|
|
46
45
|
|
|
47
46
|
/**
|
|
48
47
|
* Props for the GithubFallbackIcon component.
|
|
@@ -68,7 +67,7 @@ interface GithubFallbackIconProps extends Omit<ComponentProps<'img'>, 'src'> {
|
|
|
68
67
|
* @param props - {@link GithubFallbackIconProps}
|
|
69
68
|
* @returns Loading indicator, the fetched icon, or an error fallback
|
|
70
69
|
*/
|
|
71
|
-
declare function GithubFallbackIcon({ githubSrc, className, alt, firstPathFill, ...props }: GithubFallbackIconProps):
|
|
70
|
+
declare function GithubFallbackIcon({ githubSrc, className, alt, firstPathFill, ...props }: GithubFallbackIconProps): React$1.JSX.Element;
|
|
72
71
|
|
|
73
72
|
declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
|
|
74
73
|
declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
@@ -78,7 +77,7 @@ declare const DialogOverlay: {
|
|
|
78
77
|
({ className, backdropAnimation }: {
|
|
79
78
|
backdropAnimation?: Variants;
|
|
80
79
|
className?: string;
|
|
81
|
-
}):
|
|
80
|
+
}): React$1.JSX.Element;
|
|
82
81
|
displayName: string | undefined;
|
|
83
82
|
};
|
|
84
83
|
declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
@@ -86,11 +85,11 @@ declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimit
|
|
|
86
85
|
backdropAnimation?: Variants;
|
|
87
86
|
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
88
87
|
declare const DialogHeader: {
|
|
89
|
-
({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>):
|
|
88
|
+
({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
|
|
90
89
|
displayName: string;
|
|
91
90
|
};
|
|
92
91
|
declare const DialogFooter: {
|
|
93
|
-
({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>):
|
|
92
|
+
({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
|
|
94
93
|
displayName: string;
|
|
95
94
|
};
|
|
96
95
|
declare const DialogTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
@@ -101,11 +100,11 @@ interface NetworkIconProps {
|
|
|
101
100
|
variant?: 'background' | 'branded' | 'mono';
|
|
102
101
|
className?: string;
|
|
103
102
|
}
|
|
104
|
-
declare function NetworkIcon({ chainId, variant, className }: NetworkIconProps):
|
|
103
|
+
declare function NetworkIcon({ chainId, variant, className }: NetworkIconProps): React$1.JSX.Element;
|
|
105
104
|
|
|
106
105
|
declare function StarsBackground({ starsCount }: {
|
|
107
106
|
starsCount?: number;
|
|
108
|
-
}):
|
|
107
|
+
}): React$1.JSX.Element;
|
|
109
108
|
|
|
110
109
|
/**
|
|
111
110
|
* Props for the SvgImg component.
|
|
@@ -121,7 +120,7 @@ interface SvgImgProps extends Omit<ComponentProps<'img'>, 'src' | 'draggable'> {
|
|
|
121
120
|
*
|
|
122
121
|
* @param props - {@link SvgImgProps}
|
|
123
122
|
*/
|
|
124
|
-
declare function SvgImg({ src, alt, ...props }: SvgImgProps):
|
|
123
|
+
declare function SvgImg({ src, alt, ...props }: SvgImgProps): React$1.JSX.Element;
|
|
125
124
|
|
|
126
125
|
/**
|
|
127
126
|
* Props for the SvgToImg component.
|
|
@@ -160,7 +159,7 @@ interface SvgToImgProps extends Omit<ComponentProps<'img'>, 'ref' | 'src' | 'chi
|
|
|
160
159
|
* </SvgToImg>
|
|
161
160
|
* ```
|
|
162
161
|
*/
|
|
163
|
-
declare function SvgToImg({ children, iconId, alt, firstPathFill, ...props }: SvgToImgProps):
|
|
162
|
+
declare function SvgToImg({ children, iconId, alt, firstPathFill, ...props }: SvgToImgProps): React$1.JSX.Element;
|
|
164
163
|
|
|
165
164
|
/**
|
|
166
165
|
* @file This file contains a reusable close button component, designed primarily for toast notifications.
|
|
@@ -195,7 +194,7 @@ type ToastCloseButtonProps = {
|
|
|
195
194
|
* A simple, styled close button component ('X' icon) intended for use within toast notifications.
|
|
196
195
|
* It uses theme-aware CSS variables for styling and i18n labels for accessibility.
|
|
197
196
|
*/
|
|
198
|
-
declare function ToastCloseButton({ closeToast, ariaLabel, title, className, iconClassName, }: ToastCloseButtonProps):
|
|
197
|
+
declare function ToastCloseButton({ closeToast, ariaLabel, title, className, iconClassName, }: ToastCloseButtonProps): React$1.JSX.Element;
|
|
199
198
|
|
|
200
199
|
/**
|
|
201
200
|
* Props for the WalletIcon component.
|
|
@@ -225,7 +224,7 @@ interface WalletIconProps {
|
|
|
225
224
|
* @param props - {@link WalletIconProps}
|
|
226
225
|
* @returns The wallet icon or a fallback UI.
|
|
227
226
|
*/
|
|
228
|
-
declare function WalletIcon({ walletName, variant, className }: WalletIconProps):
|
|
227
|
+
declare function WalletIcon({ walletName, variant, className }: WalletIconProps): React$1.JSX.Element;
|
|
229
228
|
|
|
230
229
|
/**
|
|
231
230
|
* @file This file contains a custom React hook for copying text to the clipboard.
|
|
@@ -267,7 +266,7 @@ declare function useCopyToClipboard(timeout?: number): {
|
|
|
267
266
|
*/
|
|
268
267
|
declare function useMediaQuery(query: string): boolean;
|
|
269
268
|
|
|
270
|
-
declare const standardButtonClasses = "novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:bg-[var(--tuwa-standart-button-bg)] novacore:px-3 novacore:py-2 novacore:flex novacore:items-center novacore:gap-1 novacore:text-sm novacore:font-semibold novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors novacore:hover:bg-[var(--tuwa-standart-button-hover)] novacore:disabled:cursor-not-allowed novacore:disabled:opacity-50";
|
|
269
|
+
declare const standardButtonClasses = "novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:bg-[var(--tuwa-standart-button-bg)] novacore:px-3 novacore:py-2 novacore:flex novacore:items-center novacore:gap-1 novacore:text-sm novacore:font-mono novacore:font-semibold novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors novacore:hover:bg-[var(--tuwa-standart-button-hover)] novacore:disabled:cursor-not-allowed novacore:disabled:opacity-50 novacore:min-h-[36px]";
|
|
271
270
|
|
|
272
271
|
/**
|
|
273
272
|
* @file This file contains a utility function for conditionally merging Tailwind CSS classes.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
1
|
import * as React$1 from 'react';
|
|
3
2
|
import { ComponentProps, ReactNode } from 'react';
|
|
4
3
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
@@ -9,7 +8,7 @@ declare function ChevronArrowWithAnim({ className, strokeWidth, isOpen, }: {
|
|
|
9
8
|
className?: string;
|
|
10
9
|
strokeWidth?: number;
|
|
11
10
|
isOpen?: boolean;
|
|
12
|
-
}):
|
|
11
|
+
}): React$1.JSX.Element;
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* A reusable close button icon (X mark) styled with TUWA color scheme.
|
|
@@ -42,7 +41,7 @@ interface FallbackIconProps {
|
|
|
42
41
|
* @param props - {@link FallbackIconProps}
|
|
43
42
|
* @returns The rendered fallback element.
|
|
44
43
|
*/
|
|
45
|
-
declare const FallbackIcon: ({ animate, content, className }: FallbackIconProps) =>
|
|
44
|
+
declare const FallbackIcon: ({ animate, content, className }: FallbackIconProps) => React$1.JSX.Element;
|
|
46
45
|
|
|
47
46
|
/**
|
|
48
47
|
* Props for the GithubFallbackIcon component.
|
|
@@ -68,7 +67,7 @@ interface GithubFallbackIconProps extends Omit<ComponentProps<'img'>, 'src'> {
|
|
|
68
67
|
* @param props - {@link GithubFallbackIconProps}
|
|
69
68
|
* @returns Loading indicator, the fetched icon, or an error fallback
|
|
70
69
|
*/
|
|
71
|
-
declare function GithubFallbackIcon({ githubSrc, className, alt, firstPathFill, ...props }: GithubFallbackIconProps):
|
|
70
|
+
declare function GithubFallbackIcon({ githubSrc, className, alt, firstPathFill, ...props }: GithubFallbackIconProps): React$1.JSX.Element;
|
|
72
71
|
|
|
73
72
|
declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
|
|
74
73
|
declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
@@ -78,7 +77,7 @@ declare const DialogOverlay: {
|
|
|
78
77
|
({ className, backdropAnimation }: {
|
|
79
78
|
backdropAnimation?: Variants;
|
|
80
79
|
className?: string;
|
|
81
|
-
}):
|
|
80
|
+
}): React$1.JSX.Element;
|
|
82
81
|
displayName: string | undefined;
|
|
83
82
|
};
|
|
84
83
|
declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
@@ -86,11 +85,11 @@ declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimit
|
|
|
86
85
|
backdropAnimation?: Variants;
|
|
87
86
|
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
88
87
|
declare const DialogHeader: {
|
|
89
|
-
({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>):
|
|
88
|
+
({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
|
|
90
89
|
displayName: string;
|
|
91
90
|
};
|
|
92
91
|
declare const DialogFooter: {
|
|
93
|
-
({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>):
|
|
92
|
+
({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
|
|
94
93
|
displayName: string;
|
|
95
94
|
};
|
|
96
95
|
declare const DialogTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
@@ -101,11 +100,11 @@ interface NetworkIconProps {
|
|
|
101
100
|
variant?: 'background' | 'branded' | 'mono';
|
|
102
101
|
className?: string;
|
|
103
102
|
}
|
|
104
|
-
declare function NetworkIcon({ chainId, variant, className }: NetworkIconProps):
|
|
103
|
+
declare function NetworkIcon({ chainId, variant, className }: NetworkIconProps): React$1.JSX.Element;
|
|
105
104
|
|
|
106
105
|
declare function StarsBackground({ starsCount }: {
|
|
107
106
|
starsCount?: number;
|
|
108
|
-
}):
|
|
107
|
+
}): React$1.JSX.Element;
|
|
109
108
|
|
|
110
109
|
/**
|
|
111
110
|
* Props for the SvgImg component.
|
|
@@ -121,7 +120,7 @@ interface SvgImgProps extends Omit<ComponentProps<'img'>, 'src' | 'draggable'> {
|
|
|
121
120
|
*
|
|
122
121
|
* @param props - {@link SvgImgProps}
|
|
123
122
|
*/
|
|
124
|
-
declare function SvgImg({ src, alt, ...props }: SvgImgProps):
|
|
123
|
+
declare function SvgImg({ src, alt, ...props }: SvgImgProps): React$1.JSX.Element;
|
|
125
124
|
|
|
126
125
|
/**
|
|
127
126
|
* Props for the SvgToImg component.
|
|
@@ -160,7 +159,7 @@ interface SvgToImgProps extends Omit<ComponentProps<'img'>, 'ref' | 'src' | 'chi
|
|
|
160
159
|
* </SvgToImg>
|
|
161
160
|
* ```
|
|
162
161
|
*/
|
|
163
|
-
declare function SvgToImg({ children, iconId, alt, firstPathFill, ...props }: SvgToImgProps):
|
|
162
|
+
declare function SvgToImg({ children, iconId, alt, firstPathFill, ...props }: SvgToImgProps): React$1.JSX.Element;
|
|
164
163
|
|
|
165
164
|
/**
|
|
166
165
|
* @file This file contains a reusable close button component, designed primarily for toast notifications.
|
|
@@ -195,7 +194,7 @@ type ToastCloseButtonProps = {
|
|
|
195
194
|
* A simple, styled close button component ('X' icon) intended for use within toast notifications.
|
|
196
195
|
* It uses theme-aware CSS variables for styling and i18n labels for accessibility.
|
|
197
196
|
*/
|
|
198
|
-
declare function ToastCloseButton({ closeToast, ariaLabel, title, className, iconClassName, }: ToastCloseButtonProps):
|
|
197
|
+
declare function ToastCloseButton({ closeToast, ariaLabel, title, className, iconClassName, }: ToastCloseButtonProps): React$1.JSX.Element;
|
|
199
198
|
|
|
200
199
|
/**
|
|
201
200
|
* Props for the WalletIcon component.
|
|
@@ -225,7 +224,7 @@ interface WalletIconProps {
|
|
|
225
224
|
* @param props - {@link WalletIconProps}
|
|
226
225
|
* @returns The wallet icon or a fallback UI.
|
|
227
226
|
*/
|
|
228
|
-
declare function WalletIcon({ walletName, variant, className }: WalletIconProps):
|
|
227
|
+
declare function WalletIcon({ walletName, variant, className }: WalletIconProps): React$1.JSX.Element;
|
|
229
228
|
|
|
230
229
|
/**
|
|
231
230
|
* @file This file contains a custom React hook for copying text to the clipboard.
|
|
@@ -267,7 +266,7 @@ declare function useCopyToClipboard(timeout?: number): {
|
|
|
267
266
|
*/
|
|
268
267
|
declare function useMediaQuery(query: string): boolean;
|
|
269
268
|
|
|
270
|
-
declare const standardButtonClasses = "novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:bg-[var(--tuwa-standart-button-bg)] novacore:px-3 novacore:py-2 novacore:flex novacore:items-center novacore:gap-1 novacore:text-sm novacore:font-semibold novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors novacore:hover:bg-[var(--tuwa-standart-button-hover)] novacore:disabled:cursor-not-allowed novacore:disabled:opacity-50";
|
|
269
|
+
declare const standardButtonClasses = "novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:bg-[var(--tuwa-standart-button-bg)] novacore:px-3 novacore:py-2 novacore:flex novacore:items-center novacore:gap-1 novacore:text-sm novacore:font-mono novacore:font-semibold novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors novacore:hover:bg-[var(--tuwa-standart-button-hover)] novacore:disabled:cursor-not-allowed novacore:disabled:opacity-50 novacore:min-h-[36px]";
|
|
271
270
|
|
|
272
271
|
/**
|
|
273
272
|
* @file This file contains a utility function for conditionally merging Tailwind CSS classes.
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {motion,AnimatePresence}from'framer-motion';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {networks,wallets}from'@web3icons/common/metadata';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as d from'react';import {lazy,useState,useEffect,useCallback,Suspense,useMemo}from'react';import*as l from'@radix-ui/react-dialog';var Oo="novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:bg-[var(--tuwa-standart-button-bg)] novacore:px-3 novacore:py-2 novacore:flex novacore:items-center novacore:gap-1 novacore:text-sm novacore:font-semibold novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors novacore:hover:bg-[var(--tuwa-standart-button-hover)] novacore:disabled:cursor-not-allowed novacore:disabled:opacity-50";function s(...o){return twMerge(clsx(o))}var y=o=>o&&typeof o=="object"&&!Array.isArray(o);function J(o,e){let t={...o};return y(o)&&y(e)&&Object.keys(e).forEach(n=>{let r=o[n],a=e[n];y(r)&&y(a)?t[n]=J(r,a):t[n]=a;}),t}function h(o){if(typeof o!="string")return false;let e=o.toLowerCase();return e.includes("solana")&&(e.includes("devnet")||e.includes("testnet"))}var R="Unknown";function Z(o){return o.charAt(0).toUpperCase()+o.slice(1).toLowerCase()}function z(o){let e={name:R,id:R.toLowerCase(),filePath:R.toLowerCase(),chainId:o};if(typeof o=="number"){let i=networks.find(c=>c.chainId===o);return i?{name:i.name,id:i.id,filePath:i.filePath?.split(":")[1],chainId:o}:e}let[t,n]=o?o.split(":"):[o],r=networks.find(i=>i.id===t);return r?{name:n&&h(o)?`${r.name} ${Z(n)}`:r.name,id:r.id,filePath:r.filePath?.split(":")[1],chainId:o}:e}function F(o=1200){if(typeof window>"u")return false;let e="ontouchstart"in window,t=navigator.maxTouchPoints>0,n=false;window.matchMedia&&(n=window.matchMedia("(pointer: coarse)").matches);let r=e||t||n,a=window.innerWidth<=o;return r&&a}function oo(o){if(!o.startsWith("var("))return o;let e=o.match(/var\(\s*(--[\w-]+)/);if(!e)return o;let t=e[1];return getComputedStyle(document.documentElement).getPropertyValue(t).trim()||o}function eo(o,e){let t=oo(e),r=new DOMParser().parseFromString(o,"image/svg+xml");if(r.querySelector("parsererror"))return console.warn("SVG parse error, returning original"),o;let i=r.querySelector("path");return i&&i.setAttribute("fill",t),new XMLSerializer().serializeToString(r.documentElement)}function x(o,e){let t=o;return e&&(t=eo(t,e)),`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(t)))}`}var N=o=>`${o.replace(/\s+/g,"-").toLowerCase()}.svg`;function oe(o,e,t){if(!o)return "";if(o.length<=e+t)return o;let n=o.slice(0,e),r=o.slice(o.length-t);return `${n}...${r}`}function pe({className:o,strokeWidth:e,isOpen:t}){return jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:e??2,stroke:"currentColor",className:s("novacore:w-4 novacore:h-4 novacore:text-[var(--tuwa-text-secondary)]",o),children:[jsx(AnimatePresence,{children:t&&jsx(motion.path,{strokeLinecap:"round",strokeLinejoin:"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5",variants:{hidden:{translateY:3,scaleY:.8,opacity:0},visible:{translateY:0,scaleY:1,opacity:1}},initial:"hidden",animate:"visible",transition:{duration:.4}})}),jsx(AnimatePresence,{children:!t&&jsx(motion.path,{strokeLinecap:"round",strokeLinejoin:"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5",className:"novacore:relative",variants:{hidden:{translateY:-3,scaleY:.8,opacity:0},visible:{translateY:0,scaleY:1,opacity:1}},initial:"hidden",animate:"visible",transition:{duration:.4}})})]})}var ro=d.forwardRef(({className:o,...e},t)=>jsxs("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:s("novacore:h-5 novacore:w-5 novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors",o),...e,children:[jsx("path",{d:"M18 6 6 18"}),jsx("path",{d:"m6 6 12 12"})]}));ro.displayName="CloseIcon";var ao="novacore:flex novacore:items-center novacore:justify-center novacore:w-full novacore:h-full novacore:rounded-full novacore:text-[var(--tuwa-text-secondary)] novacore:bg-[var(--tuwa-bg-muted)]",f=({animate:o=false,content:e="",className:t})=>jsx("div",{className:s(ao,"Nova_Web3_Icon",t,{"novacore:animate-pulse":o}),children:e});function k({src:o,alt:e,...t}){return jsx("img",{...t,src:o,alt:e??"",draggable:false,onDragStart:n=>n.preventDefault(),style:{outline:"none",pointerEvents:"none"}})}var lo="https://raw.githubusercontent.com/0xa3k5/web3icons/refs/heads/main/raw-svgs",H=new Map;function C({githubSrc:o,className:e,alt:t,firstPathFill:n,...r}){let[a,i]=useState(null),[c,m]=useState("idle");return useEffect(()=>{let v=true,b=`${o}|${n??""}`,I=H.get(b);if(I){i(I),m("success");return}return (async()=>{m("loading");try{let D=await fetch(`${lo}/${o}`);if(!D.ok)throw new Error(`Failed to load icon: ${D.status}`);let Q=await D.text();if(v){let A=x(Q,n);H.set(b,A),i(A),m("success");}}catch{v&&m("error");}})(),()=>{v=false;}},[o,n]),c==="loading"||c==="idle"?jsx(f,{animate:true,className:e}):c==="success"&&a?jsx(k,{...r,src:a,alt:t,className:e}):jsx(f,{content:"?",className:e})}var Ae=l.Root,Ve=l.Trigger,mo=l.Portal,ze=l.Close,uo={initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,transition:{duration:.2}}},po={initial:{opacity:0,y:"100%"},animate:{opacity:1,y:"0%"},exit:{opacity:0,y:"100%",transition:{duration:.2}}},fo={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}},U=({className:o,backdropAnimation:e})=>(d.useEffect(()=>(typeof window<"u"&&window.document.body.classList.add("NovaModalOpen"),()=>{typeof window<"u"&&window.document.body.classList.remove("NovaModalOpen");}),[]),jsx(AnimatePresence,{children:jsx(motion.div,{variants:e??fo,transition:{duration:.2,ease:"easeInOut"},animate:"animate",initial:"initial",exit:"exit",className:"novacore:relative novacore:overflow-hidden",children:jsx("div",{className:s("novacore:fixed novacore:inset-0 novacore:z-50 novacore:bg-black/55 novacore:backdrop-blur-sm novacore:backdrop-saturate-150",o)})})}));U.displayName=l.Overlay.displayName;var vo=d.forwardRef(({className:o,children:e,modalAnimation:t,backdropAnimation:n,...r},a)=>{let[i,c]=d.useState(false);d.useEffect(()=>{c(F());},[]);let m=t??(i?po:uo);return jsxs(mo,{children:[jsx(U,{backdropAnimation:n}),jsx(l.Content,{"aria-describedby":"tuwa:modal-content",ref:a,className:s("NovaNoScrolling novacore:fixed novacore:bottom-0 novacore:left-0 novacore:p-0 novacore:sm:bottom-auto novacore:sm:left-[50%] novacore:sm:top-[50%] novacore:sm:translate-x-[-50%] novacore:sm:translate-y-[-50%] novacore:z-50 novacore:sm:p-4 novacore:outline-none",o),...r,children:jsx(motion.div,{layout:true,className:"NovaNoScrolling novacore:relative novacore:overflow-hidden",transition:{layout:{duration:.2,ease:[.1,.1,.2,1]}},children:jsx(AnimatePresence,{children:jsx(motion.div,{variants:m,transition:{duration:.2,ease:"easeInOut"},animate:"animate",initial:"initial",exit:"exit",className:"NovaNoScrolling novacore:relative novacore:overflow-hidden",children:jsx("div",{className:s("NovaNoScrolling NovaDialogContent__elements novacore:relative novacore:flex novacore:max-h-[98dvh] novacore:w-full novacore:flex-col novacore:gap-3 novacore:overflow-y-auto novacore:rounded-t-[var(--tuwa-rounded-corners)] novacore:sm:rounded-[var(--tuwa-rounded-corners)]","novacore:border novacore:border-[var(--tuwa-border-primary)] novacore:bg-[var(--tuwa-bg-primary)]"),children:e})})})})})]})});vo.displayName=l.Content.displayName;var go=({className:o,...e})=>jsx("div",{"aria-describedby":"tuwa:modal-header",className:s("novacore:sticky novacore:flex novacore:top-0 novacore:z-11 novacore:w-full novacore:flex-row novacore:items-center novacore:justify-between","novacore:border-b novacore:border-[var(--tuwa-border-primary)] novacore:bg-[var(--tuwa-bg-primary)] novacore:p-4",o),...e});go.displayName="DialogHeader";var wo=({className:o,...e})=>jsx("div",{"aria-describedby":"tuwa:modal-footer",className:s("novacore:flex novacore:flex-col-reverse novacore:sm:flex-row novacore:sm:justify-end novacore:sm:space-x-2",o),...e});wo.displayName="DialogFooter";var bo=d.forwardRef(({className:o,...e},t)=>jsx(l.Title,{ref:t,"aria-describedby":"tuwa:modal-title",className:s("novacore:text-lg novacore:font-bold novacore:leading-none novacore:tracking-tight novacore:text-[var(--tuwa-text-primary)] novacore:m-0",o),...e}));bo.displayName=l.Title.displayName;var yo=d.forwardRef(({className:o,...e},t)=>jsx(l.Description,{"aria-describedby":"tuwa:modal-description",ref:t,className:s("novacore:text-sm novacore:text-[var(--tuwa-text-secondary)]",o),...e}));yo.displayName=l.Description.displayName;function w({children:o,iconId:e,alt:t,firstPathFill:n,...r}){let[a,i]=useState(null),c=useCallback(m=>{if(m){let v=x(m.outerHTML,n);i({id:e,src:v});}},[e,n]);return a&&a.id===e?jsx(k,{...r,src:a.src,alt:t}):jsx(Fragment,{children:o(c)})}var q=lazy(()=>import('@web3icons/react/dynamic').then(o=>({default:o.NetworkIcon}))),Po="var(--tuwa-testnet-icons)";function je({chainId:o,variant:e="background",className:t}){let n=z(o),r=typeof o=="string",a=r?o.split(":")[0].toLowerCase():o,c=r&&h(o)||n.name.toLowerCase().includes("testnet")?Po:void 0,m=s("novacore:w-full novacore:h-full novacore:rounded-full",t),v=typeof a=="string"?a:n.filePath,b=`networks/${e}/${N(v)}`;return n.name==="Unknown"?typeof o=="number"?jsx(f,{content:"?",className:t}):jsx(C,{githubSrc:b,className:m,firstPathFill:c}):jsx(Suspense,{fallback:jsx(f,{animate:true,className:t}),children:jsx(w,{iconId:`${o}-${e}`,className:m,firstPathFill:c,children:T=>typeof a=="string"?jsx(q,{ref:T,id:a,variant:e}):jsx(q,{ref:T,chainId:a,variant:e})})})}function et({starsCount:o}){let[e,t]=useState(false);useEffect(()=>t(true),[]);let n=useMemo(()=>e?Array.from({length:o??200}).map(()=>({x:Math.random()*window.innerWidth,y:Math.random()*window.innerHeight,r:Math.random()*1+.5,isSupernova:Math.random()<.1,delay:Math.random()*10,duration:5+Math.random()*5})):[],[e]);return jsx("div",{className:"novacore:absolute novacore:inset-0 novacore:z-1 novacore:h-full novacore:w-full novacore:overflow-hidden",children:jsxs("svg",{width:"100%",height:"100%",xmlns:"http://www.w3.org/2000/svg",children:[jsx("defs",{children:jsx("style",{children:`
|
|
1
|
+
import {motion,AnimatePresence}from'framer-motion';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {networks,wallets}from'@web3icons/common/metadata';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import*as d from'react';import {lazy,useState,useEffect,useCallback,Suspense,useMemo}from'react';import*as c from'@radix-ui/react-dialog';var _o="novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:bg-[var(--tuwa-standart-button-bg)] novacore:px-3 novacore:py-2 novacore:flex novacore:items-center novacore:gap-1 novacore:text-sm novacore:font-mono novacore:font-semibold novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors novacore:hover:bg-[var(--tuwa-standart-button-hover)] novacore:disabled:cursor-not-allowed novacore:disabled:opacity-50 novacore:min-h-[36px]";function s(...o){return twMerge(clsx(o))}var y=o=>o&&typeof o=="object"&&!Array.isArray(o);function Z(o,e){let t={...o};return y(o)&&y(e)&&Object.keys(e).forEach(n=>{let r=o[n],a=e[n];y(r)&&y(a)?t[n]=Z(r,a):t[n]=a;}),t}function x(o){if(typeof o!="string")return false;let e=o.toLowerCase();return e.includes("solana")&&(e.includes("devnet")||e.includes("testnet"))}var M="Unknown";function oo(o){return o.charAt(0).toUpperCase()+o.slice(1).toLowerCase()}function W(o){let e={name:M,id:M.toLowerCase(),filePath:M.toLowerCase(),chainId:o};if(typeof o=="number"){let i=networks.find(l=>l.chainId===o);return i?{name:i.name,id:i.id,filePath:i.filePath?.split(":")[1],chainId:o}:e}let[t,n]=o?o.split(":"):[o],r=networks.find(i=>i.id===t);return r?{name:n&&x(o)?`${r.name} ${oo(n)}`:r.name,id:r.id,filePath:r.filePath?.split(":")[1],chainId:o}:e}function G(o=1200){if(typeof window>"u")return false;let e="ontouchstart"in window,t=navigator.maxTouchPoints>0,n=false;window.matchMedia&&(n=window.matchMedia("(pointer: coarse)").matches);let r=e||t||n,a=window.innerWidth<=o;return r&&a}function eo(o){if(!o.startsWith("var("))return o;let e=o.match(/var\(\s*(--[\w-]+)/);if(!e)return o;let t=e[1];return getComputedStyle(document.documentElement).getPropertyValue(t).trim()||o}function to(o,e){let t=eo(e),r=new DOMParser().parseFromString(o,"image/svg+xml");if(r.querySelector("parsererror"))return console.warn("SVG parse error, returning original"),o;let i=r.querySelector("path");return i&&i.setAttribute("fill",t),new XMLSerializer().serializeToString(r.documentElement)}function N(o,e){let t=o;return e&&(t=to(t,e)),`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(t)))}`}var S=o=>`${o.replace(/\s+/g,"-").toLowerCase()}.svg`;function te(o,e,t){if(!o)return "";if(o.length<=e+t)return o;let n=o.slice(0,e),r=o.slice(o.length-t);return `${n}...${r}`}function ve({className:o,strokeWidth:e,isOpen:t}){return jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:e??2,stroke:"currentColor",className:s("novacore:w-4 novacore:h-4 novacore:text-[var(--tuwa-text-secondary)]",o),children:[jsx(AnimatePresence,{children:t&&jsx(motion.path,{strokeLinecap:"round",strokeLinejoin:"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5",variants:{hidden:{translateY:3,scaleY:.8,opacity:0},visible:{translateY:0,scaleY:1,opacity:1}},initial:"hidden",animate:"visible",transition:{duration:.4}})}),jsx(AnimatePresence,{children:!t&&jsx(motion.path,{strokeLinecap:"round",strokeLinejoin:"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5",className:"novacore:relative",variants:{hidden:{translateY:-3,scaleY:.8,opacity:0},visible:{translateY:0,scaleY:1,opacity:1}},initial:"hidden",animate:"visible",transition:{duration:.4}})})]})}var no=d.forwardRef(({className:o,...e},t)=>jsxs("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:s("novacore:h-5 novacore:w-5 novacore:text-[var(--tuwa-text-primary)] novacore:transition-colors",o),...e,children:[jsx("path",{d:"M18 6 6 18"}),jsx("path",{d:"m6 6 12 12"})]}));no.displayName="CloseIcon";var io="novacore:flex novacore:items-center novacore:justify-center novacore:w-full novacore:h-full novacore:rounded-full novacore:text-[var(--tuwa-text-secondary)] novacore:bg-[var(--tuwa-bg-muted)]",f=({animate:o=false,content:e="",className:t})=>jsx("div",{className:s(io,"Nova_Web3_Icon",t,{"novacore:animate-pulse":o}),children:e});function C({src:o,alt:e,...t}){return jsx("img",{...t,src:o,alt:e??"",draggable:false,onDragStart:n=>n.preventDefault(),style:{outline:"none",pointerEvents:"none"}})}var mo="https://raw.githubusercontent.com/0xa3k5/web3icons/refs/heads/main/raw-svgs",L=new Map;function P({githubSrc:o,className:e,alt:t,firstPathFill:n,...r}){let a=`${o}|${n??""}`,i=L.get(a),[l,u]=useState(null),[w,b]=useState("idle"),T=i||l,g=i?"success":w;return useEffect(()=>{let D=true;return L.has(a)?void 0:((async()=>{b("loading");try{let R=await fetch(`${mo}/${o}`);if(!R.ok)throw new Error(`Failed to load icon: ${R.status}`);let X=await R.text();if(D){let V=N(X,n);L.set(a,V),u(V),b("success");}}catch{D&&b("error");}})(),()=>{D=false;})},[o,n,a]),g==="loading"||g==="idle"?jsx(f,{animate:true,className:e}):g==="success"&&T?jsx(C,{...r,src:T,alt:t,className:e}):jsx(f,{content:"?",className:e})}var Ve=c.Root,ze=c.Trigger,uo=c.Portal,We=c.Close,po={initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,transition:{duration:.2}}},fo={initial:{opacity:0,y:"100%"},animate:{opacity:1,y:"0%"},exit:{opacity:0,y:"100%",transition:{duration:.2}}},vo={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}},Y=({className:o,backdropAnimation:e})=>(d.useEffect(()=>(typeof window<"u"&&window.document.body.classList.add("NovaModalOpen"),()=>{typeof window<"u"&&window.document.body.classList.remove("NovaModalOpen");}),[]),jsx(AnimatePresence,{children:jsx(motion.div,{variants:e??vo,transition:{duration:.2,ease:"easeInOut"},animate:"animate",initial:"initial",exit:"exit",className:"novacore:relative novacore:overflow-hidden",children:jsx("div",{className:s("novacore:fixed novacore:inset-0 novacore:z-50 novacore:bg-black/55 novacore:backdrop-blur-sm novacore:backdrop-saturate-150",o)})})}));Y.displayName=c.Overlay.displayName;var go=d.forwardRef(({className:o,children:e,modalAnimation:t,backdropAnimation:n,...r},a)=>{let[i,l]=d.useState(false);d.useEffect(()=>{l(G());},[]);let u=t??(i?fo:po);return jsxs(uo,{children:[jsx(Y,{backdropAnimation:n}),jsx(c.Content,{"aria-describedby":"tuwa:modal-content",ref:a,className:s("NovaNoScrolling novacore:fixed novacore:bottom-0 novacore:left-0 novacore:p-0 novacore:sm:bottom-auto novacore:sm:left-[50%] novacore:sm:top-[50%] novacore:sm:translate-x-[-50%] novacore:sm:translate-y-[-50%] novacore:z-50 novacore:sm:p-4 novacore:outline-none",o),...r,children:jsx(motion.div,{layout:true,className:"NovaNoScrolling novacore:relative novacore:overflow-hidden",transition:{layout:{duration:.2,ease:[.1,.1,.2,1]}},children:jsx(AnimatePresence,{children:jsx(motion.div,{variants:u,transition:{duration:.2,ease:"easeInOut"},animate:"animate",initial:"initial",exit:"exit",className:"NovaNoScrolling novacore:relative novacore:overflow-hidden",children:jsx("div",{className:s("NovaNoScrolling NovaDialogContent__elements novacore:relative novacore:flex novacore:max-h-[98dvh] novacore:w-full novacore:flex-col novacore:gap-3 novacore:overflow-y-auto novacore:rounded-t-[var(--tuwa-rounded-corners)] novacore:sm:rounded-[var(--tuwa-rounded-corners)]","novacore:border novacore:border-[var(--tuwa-border-primary)] novacore:bg-[var(--tuwa-bg-primary)]"),children:e})})})})})]})});go.displayName=c.Content.displayName;var wo=({className:o,...e})=>jsx("div",{"aria-describedby":"tuwa:modal-header",className:s("novacore:sticky novacore:flex novacore:top-0 novacore:z-11 novacore:w-full novacore:flex-row novacore:items-center novacore:justify-between","novacore:border-b novacore:border-[var(--tuwa-border-primary)] novacore:bg-[var(--tuwa-bg-primary)] novacore:p-4",o),...e});wo.displayName="DialogHeader";var bo=({className:o,...e})=>jsx("div",{"aria-describedby":"tuwa:modal-footer",className:s("novacore:flex novacore:flex-col-reverse novacore:sm:flex-row novacore:sm:justify-end novacore:sm:space-x-2",o),...e});bo.displayName="DialogFooter";var ho=d.forwardRef(({className:o,...e},t)=>jsx(c.Title,{ref:t,"aria-describedby":"tuwa:modal-title",className:s("novacore:text-lg novacore:font-bold novacore:leading-none novacore:tracking-tight novacore:text-[var(--tuwa-text-primary)] novacore:m-0 novacore:font-mono",o),...e}));ho.displayName=c.Title.displayName;var yo=d.forwardRef(({className:o,...e},t)=>jsx(c.Description,{"aria-describedby":"tuwa:modal-description",ref:t,className:s("novacore:text-sm novacore:text-[var(--tuwa-text-secondary)]",o),...e}));yo.displayName=c.Description.displayName;function h({children:o,iconId:e,alt:t,firstPathFill:n,...r}){let[a,i]=useState(null),l=useCallback(u=>{if(u){let w=N(u.outerHTML,n);i({id:e,src:w});}},[e,n]);return a&&a.id===e?jsx(C,{...r,src:a.src,alt:t}):jsx(Fragment,{children:o(l)})}var K=lazy(()=>import('@web3icons/react/dynamic').then(o=>({default:o.NetworkIcon}))),Io="var(--tuwa-testnet-icons)";function Ze({chainId:o,variant:e="background",className:t}){let n=W(o),r=typeof o=="string",a=r?o.split(":")[0].toLowerCase():o,l=r&&x(o)||n.name.toLowerCase().includes("testnet")?Io:void 0,u=s("novacore:w-full novacore:h-full novacore:rounded-full",t),w=typeof a=="string"?a:n.filePath,b=`networks/${e}/${S(w)}`;return n.name==="Unknown"?typeof o=="number"?jsx(f,{content:"?",className:t}):jsx(P,{githubSrc:b,className:u,firstPathFill:l}):jsx(Suspense,{fallback:jsx(f,{animate:true,className:t}),children:jsx(h,{iconId:`${o}-${e}`,className:u,firstPathFill:l,children:g=>typeof a=="string"?jsx(K,{ref:g,id:a,variant:e}):jsx(K,{ref:g,chainId:a,variant:e})})})}function rt({starsCount:o}){let[e,t]=useState(false);useEffect(()=>t(true),[]);let n=useMemo(()=>e?Array.from({length:o??200}).map(()=>({x:Math.random()*window.innerWidth,y:Math.random()*window.innerHeight,r:Math.random()*1+.5,isSupernova:Math.random()<.1,delay:Math.random()*10,duration:5+Math.random()*5})):[],[e]);return jsx("div",{className:"novacore:absolute novacore:inset-0 novacore:z-1 novacore:h-full novacore:w-full novacore:overflow-hidden",children:jsxs("svg",{width:"100%",height:"100%",xmlns:"http://www.w3.org/2000/svg",children:[jsx("defs",{children:jsx("style",{children:`
|
|
2
2
|
/* Pulse animation now includes scale for a more organic feel. */
|
|
3
3
|
@keyframes pulse {
|
|
4
4
|
0%, 100% {
|
|
@@ -44,5 +44,5 @@ import {motion,AnimatePresence}from'framer-motion';import {clsx}from'clsx';impor
|
|
|
44
44
|
transform-origin: center;
|
|
45
45
|
stroke-width: 2;
|
|
46
46
|
}
|
|
47
|
-
`})}),n.map((r,a)=>jsx("circle",{cx:r.x,cy:r.y,r:r.r,fill:"rgba(var(--tuwa-bg-primary), 0.7)",className:r.isSupernova?"supernova":"pulsar",style:{animationDelay:`${r.delay}s`,animationDuration:`${r.duration}s`}},a))]})})}function
|
|
48
|
-
export{
|
|
47
|
+
`})}),n.map((r,a)=>jsx("circle",{cx:r.x,cy:r.y,r:r.r,fill:"rgba(var(--tuwa-bg-primary), 0.7)",className:r.isSupernova?"supernova":"pulsar",style:{animationDelay:`${r.delay}s`,animationDuration:`${r.duration}s`}},a))]})})}function st({closeToast:o,ariaLabel:e="Close toast notification",title:t="Close toast notification",className:n,iconClassName:r}){return jsx("button",{type:"button",onClick:o,"aria-label":e,title:t,className:s("novacore:absolute novacore:top-2 novacore:right-2 novacore:cursor-pointer novacore:rounded-[var(--tuwa-rounded-corners)] novacore:p-1","novacore:text-[var(--tuwa-text-tertiary)] novacore:transition-colors","novacore:hover:bg-[var(--tuwa-bg-muted)] novacore:hover:text-[var(--tuwa-text-primary)]",n),children:jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:s("novacore:h-5 novacore:w-5",r),children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18 18 6M6 6l12 12"})})})}var Fo=lazy(()=>import('@web3icons/react/dynamic').then(o=>({default:o.WalletIcon}))),Vo={walletconnect:"wallet-connect"};function zo(o){return wallets.some(e=>e.id===o||e.name?.toLowerCase()===o)}var Wo=({className:o,ref:e})=>jsxs("svg",{ref:e,className:o,fill:"none",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{fill:"#fff",fillRule:"evenodd",d:"M16 0c8.84 0 16 7.16 16 16s-7.16 16-16 16S0 24.84 0 16 7.16 0 16 0",clipRule:"evenodd"}),jsx("path",{fill:"#000",fillRule:"evenodd",d:"M16.54 2.01h1.53c.5.09.99.23 1.48.42.21.25.19.48-.05.69q-.195.045-.39 0c-1.86-.65-3.55-.35-5.07.89 2.39.7 3.84 2.27 4.36 4.7.12.85.08 1.68-.12 2.51.87 0 1.74 0 2.61-.02.39-.4.7-.85.94-1.35-.45-.45-.65-.99-.59-1.63-1.15.08-1.79-.44-1.92-1.58.14-1.12.78-1.67 1.92-1.63a.7.7 0 0 0-.12-.49l-.89-.89c-.02-.45.19-.6.62-.47.24.19.46.39.66.62.71-.79 1.5-.89 2.39-.32.44.42.62.94.54 1.55 1.49.02 2.11.76 1.85 2.22-.08.17-.17.34-.27.49.53.59.87 1.28 1.01 2.07.08 4.6.1 9.19.05 13.79-.19 1.58-1 2.71-2.44 3.37-.29.1-.59.2-.89.27H7.2c-1.31-.33-2.05-1.17-2.24-2.51-.03-5.24-.03-10.47 0-15.71.3-1.62 1.28-2.46 2.93-2.54 1.26-1.77 2.98-2.64 5.17-2.61.96-1.01 2.13-1.62 3.5-1.85zm6.11 1.87c.39-.03.7.12.91.44.06.39.09.79.1 1.18.02.12.07.21.17.27.41 0 .82.04 1.23.1.49.26.63.65.42 1.16-.07.14-.18.25-.32.32-.39.06-.79.09-1.18.1-.12.02-.21.07-.27.17l-.15 1.33c-.32.46-.72.55-1.21.27a.76.76 0 0 1-.27-.37c-.06-.41-.09-.82-.1-1.23a.35.35 0 0 0-.27-.17l-1.08-.05c-.46-.24-.62-.61-.47-1.11.14-.27.36-.43.66-.47l.99-.05s.09-.04.12-.07l.15-1.28q.18-.39.57-.54m-10.49.79c2.41-.09 4.12.94 5.15 3.1.44 1.12.48 2.25.12 3.4-.84.06-1.67.07-2.51.02.56-.68.52-1.32-.1-1.92-.26-.13-.54-.19-.84-.17.02-.95 0-1.91-.07-2.86-.21-.41-.55-.58-1.01-.52-.17.03-.31.09-.44.2-.72.92-1.43 1.85-2.14 2.78-.28.45-.29.91-.05 1.38q.225.3.57.42c.34.02.69.03 1.03.02v.69c-1.3.02-2.59 0-3.89-.05-.58-2.1-.08-3.88 1.53-5.34.79-.62 1.68-1 2.66-1.16zm.83 1.82c.07 0 .13.03.17.1l.05 3.05c.04.09.1.16.17.22l.89.05c.22.08.3.24.22.47q-.27.42-.57.81c-.43.02-.85.03-1.28.02 0-.41 0-.82-.02-1.23a.46.46 0 0 0-.17-.17l-1.28-.05c-.3-.1-.37-.29-.22-.57.7-.89 1.39-1.79 2.04-2.71zm-5.81.84h.2a6.1 6.1 0 0 0-.25 3.77c-.59-.13-1.01-.49-1.26-1.06-.36-1.29.08-2.19 1.31-2.71m17.98.83c.05 0 .1 0 .15.02q.825.855.96 2.04.045 1.305 0 2.61a3.76 3.76 0 0 0-2.54-1.55c-.61-.05-1.21-.08-1.82-.1.26-.31.48-.66.64-1.03 1.31.02 1.94-.62 1.87-1.95.26.02.5 0 .74-.05zM5.7 11.22c.41.4.91.65 1.48.76l16.06.05c1.42.13 2.38.87 2.88 2.19.07.24.12.49.15.74.03 2.86.03 5.71 0 8.57-.21 1.44-1 2.38-2.39 2.83-.24.05-.49.08-.74.1-1.26.02-2.53.03-3.79.02 0-1.33 0-2.66.02-3.99l1.55-1.55c1.42-.04 2.09-.78 1.99-2.19-.24-.88-.81-1.34-1.72-1.38-1.2.12-1.81.8-1.82 2.02l-1.92 1.92c-.08.11-.14.22-.2.34-.07 1.61-.1 3.22-.07 4.83h-.44c0-2.28 0-4.56-.02-6.85a1.8 1.8 0 0 0-.15-.34l-1.13-1.13c0-1.23-.61-1.92-1.82-2.07-1.29.17-1.87.91-1.72 2.22q.465 1.395 1.95 1.35l.71.71c0 .3.04.6.1.89.25.21.48.19.69-.05.03-.39.03-.79 0-1.18-.2-.25-.43-.49-.66-.71.15-.1.29-.22.39-.37.3.27.58.55.86.84.02 2.23.03 4.47.02 6.7h-.59c0-1.38 0-2.76-.02-4.14-.15-.25-.35-.31-.62-.17a1 1 0 0 0-.12.22c-.02 1.36-.03 2.73-.02 4.09h-.44c0-.99 0-1.97-.02-2.96-.02-.09-.06-.17-.1-.25-.67-.72-1.36-1.43-2.07-2.12-.06-1.48-.82-2.13-2.29-1.95-1.02.41-1.42 1.16-1.21 2.24q.51 1.32 1.95 1.26l1.55 1.55c.02.74.03 1.48.02 2.22-1.56.02-3.12 0-4.68-.07-.9-.24-1.42-.83-1.55-1.75-.02-4.48-.03-8.96-.02-13.45zm7.79 5.66c.84.06 1.19.5 1.06 1.33-.32.62-.8.79-1.45.52-.46-.37-.56-.82-.32-1.35.18-.26.42-.42.71-.49zm7.43 1.28c.89-.03 1.29.4 1.21 1.28-.33.67-.83.85-1.5.52-.54-.49-.58-1-.1-1.55.12-.11.25-.19.39-.25M9.94 19.94c.84 0 1.22.4 1.16 1.23-.28.68-.76.89-1.45.62-.63-.54-.65-1.09-.05-1.67l.34-.17zm9.75.24c.16.13.3.27.44.42-.53.52-1.05 1.05-1.55 1.6-.02 1.43-.03 2.86-.02 4.28h-.59c0-1.51 0-3.02.02-4.53a71 71 0 0 1 1.7-1.77M11.56 22c.62.53 1.21 1.11 1.75 1.72.02.92.03 1.84.02 2.76h-.59c0-.85 0-1.71-.02-2.56l-1.48-1.48s-.03-.07 0-.1c.12-.11.22-.22.32-.34",clipRule:"evenodd"})]});function gt({walletName:o,variant:e="background",className:t}){let n=s("novacore:w-full novacore:h-full novacore:rounded-full",t),r=o.toLowerCase();if(r==="impersonatedwallet")return jsx(h,{iconId:"impersonatedwallet",className:n,children:l=>jsx(Wo,{ref:l})});let a=Vo[r]??r,i=`wallets/${e}/${S(a)}`;return zo(a)?jsx(Suspense,{fallback:jsx(f,{animate:true,className:t}),children:jsx(h,{iconId:`${a}-${e}`,className:n,children:l=>jsx(Fo,{ref:l,id:a,variant:e})})}):jsx(P,{githubSrc:i,className:n})}function yt(o=2e3){let[e,t]=useState(false),[n,r]=useState(null),a=useCallback(async i=>{if(i)try{await navigator.clipboard.writeText(i),t(!0),r(null),setTimeout(()=>t(!1),o);}catch(l){let u=l instanceof Error?l:new Error("Failed to copy text.");console.error(u),r(u),setTimeout(()=>r(null),o);}},[o]);return {isCopied:e,copy:a,error:n}}function St(o){let e=r=>typeof window<"u"?window.matchMedia(r).matches:false,[t,n]=useState(e(o));return useEffect(()=>{let r=window.matchMedia(o),a=()=>n(r.matches);return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[o]),t}
|
|
48
|
+
export{ve as ChevronArrowWithAnim,no as CloseIcon,Ve as Dialog,We as DialogClose,go as DialogContent,yo as DialogDescription,bo as DialogFooter,wo as DialogHeader,Y as DialogOverlay,uo as DialogPortal,ho as DialogTitle,ze as DialogTrigger,f as FallbackIcon,P as GithubFallbackIcon,Ze as NetworkIcon,rt as StarsBackground,C as SvgImg,h as SvgToImg,st as ToastCloseButton,gt as WalletIcon,to as applyFirstPathFill,s as cn,Z as deepMerge,S as formatIconNameForGithub,W as getChainName,x as isSolanaDev,G as isTouchDevice,eo as resolveCssVariable,_o as standardButtonClasses,N as svgToBase64,te as textCenterEllipsis,yt as useCopyToClipboard,St as useMediaQuery};
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tuwaio/nova-core",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Oleksandr Tkach",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
|
-
"description": "
|
|
7
|
+
"description": "Layer 6 (L6) of the TUWA Ecosystem. Foundational package with styling primitives, CSS variables, base React components, and helper utilities.",
|
|
8
8
|
"main": "./dist/index.cjs",
|
|
9
9
|
"module": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
@@ -57,19 +57,19 @@
|
|
|
57
57
|
"tailwind-merge": "3.x.x"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@tailwindcss/postcss": "^4.3.
|
|
61
|
-
"@tailwindcss/vite": "^4.3.
|
|
62
|
-
"@types/react": "^19.2.
|
|
63
|
-
"@radix-ui/react-dialog": "^1.1.
|
|
64
|
-
"@web3icons/react": "^4.1.
|
|
65
|
-
"@web3icons/common": "^0.11.
|
|
66
|
-
"autoprefixer": "^10.5.
|
|
60
|
+
"@tailwindcss/postcss": "^4.3.3",
|
|
61
|
+
"@tailwindcss/vite": "^4.3.3",
|
|
62
|
+
"@types/react": "^19.2.17",
|
|
63
|
+
"@radix-ui/react-dialog": "^1.1.20",
|
|
64
|
+
"@web3icons/react": "^4.1.19",
|
|
65
|
+
"@web3icons/common": "^0.11.48",
|
|
66
|
+
"autoprefixer": "^10.5.4",
|
|
67
67
|
"clsx": "^2.1.1",
|
|
68
|
-
"framer-motion": "^12.
|
|
69
|
-
"postcss": "^8.5.
|
|
68
|
+
"framer-motion": "^12.42.2",
|
|
69
|
+
"postcss": "^8.5.20",
|
|
70
70
|
"postcss-cli": "^11.0.1",
|
|
71
|
-
"react": "^19.2.
|
|
72
|
-
"tailwindcss": "^4.3.
|
|
71
|
+
"react": "^19.2.7",
|
|
72
|
+
"tailwindcss": "^4.3.3",
|
|
73
73
|
"tailwind-merge": "^3.6.0",
|
|
74
74
|
"tsup": "^8.5.1",
|
|
75
75
|
"typescript": "^6.0.3"
|