@tuwaio/sdk 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -47,24 +47,25 @@ Import the stylesheets once, for example in the global CSS file of the app:
47
47
 
48
48
  ## 🧭 Subpaths
49
49
 
50
- | Import path | Re-exports | Reference |
51
- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
52
- | `@tuwaio/sdk/orbit` | `@tuwaio/orbit-core` | [orbit.docs.tuwa.io](https://orbit.docs.tuwa.io/packages/orbit-core) |
53
- | `@tuwaio/sdk/pulsar` | `@tuwaio/pulsar-core` and `@tuwaio/pulsar-react` | [pulsar-core](https://pulsar.docs.tuwa.io/packages/pulsar-core), [pulsar-react](https://pulsar.docs.tuwa.io/packages/pulsar-react) |
54
- | `@tuwaio/sdk/satellite` | `@tuwaio/satellite-core` and `@tuwaio/satellite-react` (its `Connector` type as `SatelliteReactConnector`) | [satellite-core](https://satellite.docs.tuwa.io/packages/satellite-core), [satellite-react](https://satellite.docs.tuwa.io/packages/satellite-react/react) |
55
- | `@tuwaio/sdk/siwx` | `@tuwaio/siwx-react` | [siwx.docs.tuwa.io](https://siwx.docs.tuwa.io/packages/siwx-react) |
56
- | `@tuwaio/sdk/siwx/core` | `@tuwaio/siwx-core` | [siwx.docs.tuwa.io](https://siwx.docs.tuwa.io/packages/siwx-core) |
57
- | `@tuwaio/sdk/siwx/server` | `@tuwaio/siwx-server` | [siwx.docs.tuwa.io](https://siwx.docs.tuwa.io/packages/siwx-server/server) |
58
- | `@tuwaio/sdk/siwx/server-next` | `@tuwaio/siwx-server/next` | [siwx.docs.tuwa.io](https://siwx.docs.tuwa.io/packages/siwx-server/next) |
59
- | `@tuwaio/sdk/nova-core` | `@tuwaio/nova-core` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-core-overview--docs) |
60
- | `@tuwaio/sdk/nova-connect` | `@tuwaio/nova-connect` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-connect-overview--docs) |
61
- | `@tuwaio/sdk/nova-connect/components` | `@tuwaio/nova-connect/components` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-components-overview--docs) |
62
- | `@tuwaio/sdk/nova-connect/hooks` | `@tuwaio/nova-connect/hooks` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-hooks-overview--docs) |
63
- | `@tuwaio/sdk/nova-connect/i18n` | `@tuwaio/nova-connect/i18n` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-i18n-overview--docs) |
64
- | `@tuwaio/sdk/nova-connect/satellite` | `@tuwaio/nova-connect/satellite` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-satellite-overview--docs) |
65
- | `@tuwaio/sdk/nova-transactions` | `@tuwaio/nova-transactions` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-transactions-transactions-overview--docs) |
66
- | `@tuwaio/sdk/nova-transactions/providers` | `@tuwaio/nova-transactions/providers` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-transactions-providers-overview--docs) |
67
- | `@tuwaio/sdk/styles/*.css` | `dist/index.css` of the three Nova packages | `all.css`, `nova-core.css`, `nova-connect.css`, `nova-transactions.css` |
50
+ | Import path | Re-exports | Reference |
51
+ | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
52
+ | `@tuwaio/sdk/orbit` | `@tuwaio/orbit-core` | [orbit.docs.tuwa.io](https://orbit.docs.tuwa.io/packages/orbit-core) |
53
+ | `@tuwaio/sdk/pulsar` | `@tuwaio/pulsar-core` and `@tuwaio/pulsar-react` | [pulsar-core](https://pulsar.docs.tuwa.io/packages/pulsar-core), [pulsar-react](https://pulsar.docs.tuwa.io/packages/pulsar-react) |
54
+ | `@tuwaio/sdk/satellite` | `@tuwaio/satellite-core` and `@tuwaio/satellite-react` (its `Connector` type as `SatelliteReactConnector`) | [satellite-core](https://satellite.docs.tuwa.io/packages/satellite-core), [satellite-react](https://satellite.docs.tuwa.io/packages/satellite-react/react) |
55
+ | `@tuwaio/sdk/siwx` | `@tuwaio/siwx-react` | [siwx.docs.tuwa.io](https://siwx.docs.tuwa.io/packages/siwx-react) |
56
+ | `@tuwaio/sdk/siwx/core` | `@tuwaio/siwx-core` | [siwx.docs.tuwa.io](https://siwx.docs.tuwa.io/packages/siwx-core) |
57
+ | `@tuwaio/sdk/siwx/server` | `@tuwaio/siwx-server` | [siwx.docs.tuwa.io](https://siwx.docs.tuwa.io/packages/siwx-server/server) |
58
+ | `@tuwaio/sdk/siwx/server-next` | `@tuwaio/siwx-server/next` | [siwx.docs.tuwa.io](https://siwx.docs.tuwa.io/packages/siwx-server/next) |
59
+ | `@tuwaio/sdk/nova-core` | `@tuwaio/nova-core` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-core-overview--docs) |
60
+ | `@tuwaio/sdk/nova-core/utils` | `@tuwaio/nova-core/utils`: only the helpers (`cn`, `deepMerge`, `getChainName`, `textCenterEllipsis`…), without React, components and icons | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-core-overview--docs) |
61
+ | `@tuwaio/sdk/nova-connect` | `@tuwaio/nova-connect` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-connect-overview--docs) |
62
+ | `@tuwaio/sdk/nova-connect/components` | `@tuwaio/nova-connect/components` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-components-overview--docs) |
63
+ | `@tuwaio/sdk/nova-connect/hooks` | `@tuwaio/nova-connect/hooks` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-hooks-overview--docs) |
64
+ | `@tuwaio/sdk/nova-connect/i18n` | `@tuwaio/nova-connect/i18n` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-i18n-overview--docs) |
65
+ | `@tuwaio/sdk/nova-connect/satellite` | `@tuwaio/nova-connect/satellite` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-connect-satellite-overview--docs) |
66
+ | `@tuwaio/sdk/nova-transactions` | `@tuwaio/nova-transactions` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-transactions-transactions-overview--docs) |
67
+ | `@tuwaio/sdk/nova-transactions/providers` | `@tuwaio/nova-transactions/providers` | [Storybook](https://stories.tuwa.io/?path=/docs/packages-nova-transactions-providers-overview--docs) |
68
+ | `@tuwaio/sdk/styles/*.css` | `dist/index.css` of the three Nova packages | `all.css`, `nova-core.css`, `nova-connect.css`, `nova-transactions.css` |
68
69
 
69
70
  `@tuwaio/sdk/nova-connect/evm` and `@tuwaio/sdk/nova-connect/solana` re-export the chain entry points of Nova Connect for the add-ons; import them as `@tuwaio/evm-sdk/nova-connect` and `@tuwaio/solana-sdk/nova-connect`. They need the chain packages that the add-ons install, and going through `@tuwaio/sdk` makes their chain registration and types apply to the same copy of Nova Connect and Satellite React as the other subpaths.
70
71
 
@@ -110,11 +111,12 @@ The full setup — EVM and Solana, transaction tracking with Pulsar and Nova Tra
110
111
 
111
112
  ## 🗄️ Browser Storage
112
113
 
113
- `@tuwaio/sdk` saves nothing itself. The re-exported packages use these `localStorage` keys; each page lists when they are written:
114
+ `@tuwaio/sdk` saves nothing itself. The re-exported packages use these browser storage keys; each page lists when they are written:
114
115
 
115
- - `orbit-core:lastConnectedConnector`, `orbit-core:recentlyConnectedConnectorsListHelpers` and `satellite-connect:impersonatedAddress`: the last connection, the recent wallets and the impersonated address ([`@tuwaio/satellite-core`](https://satellite.docs.tuwa.io/packages/satellite-core), read by Nova Connect);
116
- - the `name` passed to `createPulsarStore`: the tracked transactions ([`@tuwaio/pulsar-core`](https://pulsar.docs.tuwa.io/packages/pulsar-core));
117
- - `siwx-react:session`: the SIWX session shown in the UI ([`@tuwaio/siwx-react`](https://siwx.docs.tuwa.io/packages/siwx-react)).
116
+ - `orbit-core:lastConnectedConnector`, `orbit-core:recentlyConnectedConnectorsListHelpers`: the last connection and the recent wallets, in `localStorage`, or in `sessionStorage` until the tab closes when `rememberWallet` of `SatelliteConnectProvider` is `false` or "Remember this wallet" of Nova Connect is unticked ([`@tuwaio/satellite-core`](https://satellite.docs.tuwa.io/packages/satellite-core), read by Nova Connect);
117
+ - `satellite-connect:impersonatedAddress` in `localStorage`: the impersonated address ([`@tuwaio/satellite-core`](https://satellite.docs.tuwa.io/packages/satellite-core));
118
+ - the `name` passed to `createPulsarStore` in `localStorage`: the tracked transactions ([`@tuwaio/pulsar-core`](https://pulsar.docs.tuwa.io/packages/pulsar-core));
119
+ - `siwx-react:session` in `localStorage`: the SIWX session shown in the UI ([`@tuwaio/siwx-react`](https://siwx.docs.tuwa.io/packages/siwx-react)).
118
120
 
119
121
  ## 🌐 External Services
120
122
 
@@ -5,6 +5,7 @@ import '@tuwaio/nova-connect/i18n';
5
5
  import '@tuwaio/nova-connect/satellite';
6
6
  import '@tuwaio/nova-connect/solana';
7
7
  import '@tuwaio/nova-connect';
8
+ import '@tuwaio/nova-core/utils';
8
9
  import '@tuwaio/nova-core';
9
10
  import '@tuwaio/nova-transactions/providers';
10
11
  import '@tuwaio/nova-transactions';
@@ -5,6 +5,7 @@ import '@tuwaio/nova-connect/i18n';
5
5
  import '@tuwaio/nova-connect/satellite';
6
6
  import '@tuwaio/nova-connect/solana';
7
7
  import '@tuwaio/nova-connect';
8
+ import '@tuwaio/nova-core/utils';
8
9
  import '@tuwaio/nova-core';
9
10
  import '@tuwaio/nova-transactions/providers';
10
11
  import '@tuwaio/nova-transactions';
@@ -0,0 +1 @@
1
+ 'use strict';var utils=require('@tuwaio/nova-core/utils');Object.keys(utils).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return utils[k]}})});
@@ -0,0 +1 @@
1
+ export * from '@tuwaio/nova-core/utils';
@@ -0,0 +1 @@
1
+ export * from '@tuwaio/nova-core/utils';
@@ -0,0 +1 @@
1
+ export*from'@tuwaio/nova-core/utils';
@@ -1682,6 +1682,8 @@ html {
1682
1682
  --novacon-font-weight-semibold: 600;
1683
1683
  --novacon-font-weight-bold: 700;
1684
1684
  --novacon-tracking-wider: 0.05em;
1685
+ --novacon-leading-tight: 1.25;
1686
+ --novacon-leading-snug: 1.375;
1685
1687
  --novacon-leading-relaxed: 1.625;
1686
1688
  --novacon-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
1687
1689
  --novacon-animate-spin: spin 1s linear infinite;
@@ -1751,6 +1753,9 @@ html {
1751
1753
  .novacon\:top-\[25\%\] {
1752
1754
  top: 25%;
1753
1755
  }
1756
+ .novacon\:top-full {
1757
+ top: 100%;
1758
+ }
1754
1759
  .novacon\:-right-1 {
1755
1760
  right: calc(var(--novacon-spacing) * -1);
1756
1761
  }
@@ -1763,6 +1768,9 @@ html {
1763
1768
  .novacon\:right-0\.5 {
1764
1769
  right: calc(var(--novacon-spacing) * 0.5);
1765
1770
  }
1771
+ .novacon\:right-1\.5 {
1772
+ right: calc(var(--novacon-spacing) * 1.5);
1773
+ }
1766
1774
  .novacon\:right-2 {
1767
1775
  right: calc(var(--novacon-spacing) * 2);
1768
1776
  }
@@ -1799,6 +1807,9 @@ html {
1799
1807
  .novacon\:bottom-\[15\%\] {
1800
1808
  bottom: 15%;
1801
1809
  }
1810
+ .novacon\:bottom-full {
1811
+ bottom: 100%;
1812
+ }
1802
1813
  .novacon\:left-1\/2 {
1803
1814
  left: calc(1 / 2 * 100%);
1804
1815
  }
@@ -1847,6 +1858,9 @@ html {
1847
1858
  .novacon\:mx-4 {
1848
1859
  margin-inline: calc(var(--novacon-spacing) * 4);
1849
1860
  }
1861
+ .novacon\:-mt-1 {
1862
+ margin-top: calc(var(--novacon-spacing) * -1);
1863
+ }
1850
1864
  .novacon\:mt-1 {
1851
1865
  margin-top: var(--novacon-spacing);
1852
1866
  }
@@ -1952,6 +1966,9 @@ html {
1952
1966
  .novacon\:h-\[2px\] {
1953
1967
  height: 2px;
1954
1968
  }
1969
+ .novacon\:h-\[18px\] {
1970
+ height: 18px;
1971
+ }
1955
1972
  .novacon\:h-\[42px\] {
1956
1973
  height: 42px;
1957
1974
  }
@@ -2042,6 +2059,9 @@ html {
2042
2059
  .novacon\:w-\[1px\] {
2043
2060
  width: 1px;
2044
2061
  }
2062
+ .novacon\:w-\[18px\] {
2063
+ width: 18px;
2064
+ }
2045
2065
  .novacon\:w-\[42px\] {
2046
2066
  width: 42px;
2047
2067
  }
@@ -2057,6 +2077,13 @@ html {
2057
2077
  .novacon\:w-full {
2058
2078
  width: 100%;
2059
2079
  }
2080
+ .novacon\:w-max {
2081
+ width: -moz-max-content;
2082
+ width: max-content;
2083
+ }
2084
+ .novacon\:max-w-\[240px\] {
2085
+ max-width: 240px;
2086
+ }
2060
2087
  .novacon\:max-w-full {
2061
2088
  max-width: 100%;
2062
2089
  }
@@ -2075,6 +2102,9 @@ html {
2075
2102
  .novacon\:flex-shrink-0 {
2076
2103
  flex-shrink: 0;
2077
2104
  }
2105
+ .novacon\:shrink-0 {
2106
+ flex-shrink: 0;
2107
+ }
2078
2108
  .novacon\:-translate-x-1\/2 {
2079
2109
  --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
2080
2110
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -2087,6 +2117,9 @@ html {
2087
2117
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
2088
2118
  translate: var(--tw-translate-x) var(--tw-translate-y);
2089
2119
  }
2120
+ .novacon\:rotate-45 {
2121
+ rotate: 45deg;
2122
+ }
2090
2123
  .novacon\:transform {
2091
2124
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
2092
2125
  }
@@ -2151,9 +2184,15 @@ html {
2151
2184
  .novacon\:gap-1 {
2152
2185
  gap: var(--novacon-spacing);
2153
2186
  }
2187
+ .novacon\:gap-1\.5 {
2188
+ gap: calc(var(--novacon-spacing) * 1.5);
2189
+ }
2154
2190
  .novacon\:gap-2 {
2155
2191
  gap: calc(var(--novacon-spacing) * 2);
2156
2192
  }
2193
+ .novacon\:gap-2\.5 {
2194
+ gap: calc(var(--novacon-spacing) * 2.5);
2195
+ }
2157
2196
  .novacon\:gap-3 {
2158
2197
  gap: calc(var(--novacon-spacing) * 3);
2159
2198
  }
@@ -2208,6 +2247,12 @@ html {
2208
2247
  .novacon\:overflow-y-auto {
2209
2248
  overflow-y: auto;
2210
2249
  }
2250
+ .novacon\:rounded-\[inherit\] {
2251
+ border-radius: inherit;
2252
+ }
2253
+ .novacon\:rounded-\[min\(var\(--tuwa-rounded-corners\)\,5px\)\] {
2254
+ border-radius: min(var(--tuwa-rounded-corners), 5px);
2255
+ }
2211
2256
  .novacon\:rounded-\[var\(--tuwa-rounded-corners\)\] {
2212
2257
  border-radius: var(--tuwa-rounded-corners);
2213
2258
  }
@@ -2222,6 +2267,10 @@ html {
2222
2267
  border-style: var(--tw-border-style);
2223
2268
  border-width: 2px;
2224
2269
  }
2270
+ .novacon\:border-\[1\.5px\] {
2271
+ border-style: var(--tw-border-style);
2272
+ border-width: 1.5px;
2273
+ }
2225
2274
  .novacon\:border-t {
2226
2275
  border-top-style: var(--tw-border-style);
2227
2276
  border-top-width: 1px;
@@ -2303,6 +2352,9 @@ html {
2303
2352
  .novacon\:bg-\[var\(--tuwa-text-accent\)\] {
2304
2353
  background-color: var(--tuwa-text-accent);
2305
2354
  }
2355
+ .novacon\:bg-\[var\(--tuwa-text-primary\)\] {
2356
+ background-color: var(--tuwa-text-primary);
2357
+ }
2306
2358
  .novacon\:bg-\[var\(--tuwa-warning-bg\)\] {
2307
2359
  background-color: var(--tuwa-warning-bg);
2308
2360
  }
@@ -2452,6 +2504,14 @@ html {
2452
2504
  --tw-leading: var(--novacon-leading-relaxed);
2453
2505
  line-height: var(--novacon-leading-relaxed);
2454
2506
  }
2507
+ .novacon\:leading-snug {
2508
+ --tw-leading: var(--novacon-leading-snug);
2509
+ line-height: var(--novacon-leading-snug);
2510
+ }
2511
+ .novacon\:leading-tight {
2512
+ --tw-leading: var(--novacon-leading-tight);
2513
+ line-height: var(--novacon-leading-tight);
2514
+ }
2455
2515
  .novacon\:font-bold {
2456
2516
  --tw-font-weight: var(--novacon-font-weight-bold);
2457
2517
  font-weight: var(--novacon-font-weight-bold);
@@ -2474,6 +2534,9 @@ html {
2474
2534
  .novacon\:whitespace-nowrap {
2475
2535
  white-space: nowrap;
2476
2536
  }
2537
+ .novacon\:text-\[var\(--tuwa-bg-primary\)\] {
2538
+ color: var(--tuwa-bg-primary);
2539
+ }
2477
2540
  .novacon\:text-\[var\(--tuwa-error-text\)\] {
2478
2541
  color: var(--tuwa-error-text);
2479
2542
  }
@@ -2537,6 +2600,10 @@ html {
2537
2600
  .novacon\:opacity-100 {
2538
2601
  opacity: 100%;
2539
2602
  }
2603
+ .novacon\:shadow-lg {
2604
+ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2605
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2606
+ }
2540
2607
  .novacon\:shadow-sm {
2541
2608
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2542
2609
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2564,6 +2631,11 @@ html {
2564
2631
  transition-timing-function: var(--tw-ease, var(--novacon-default-transition-timing-function));
2565
2632
  transition-duration: var(--tw-duration, var(--novacon-default-transition-duration));
2566
2633
  }
2634
+ .novacon\:transition-\[background-color\,border-color\] {
2635
+ transition-property: background-color,border-color;
2636
+ transition-timing-function: var(--tw-ease, var(--novacon-default-transition-timing-function));
2637
+ transition-duration: var(--tw-duration, var(--novacon-default-transition-duration));
2638
+ }
2567
2639
  .novacon\:transition-all {
2568
2640
  transition-property: all;
2569
2641
  transition-timing-function: var(--tw-ease, var(--novacon-default-transition-timing-function));
@@ -2619,6 +2691,9 @@ html {
2619
2691
  --tw-scale-z: 90%;
2620
2692
  scale: var(--tw-scale-x) var(--tw-scale-y);
2621
2693
  }
2694
+ .novacon\:group-hover\:border-\[var\(--tuwa-text-accent\)\]:is(:where(.novacon\:group):hover *) {
2695
+ border-color: var(--tuwa-text-accent);
2696
+ }
2622
2697
  .novacon\:group-hover\:text-\[var\(--tuwa-text-accent\)\]:is(:where(.novacon\:group):hover *) {
2623
2698
  color: var(--tuwa-text-accent);
2624
2699
  }
@@ -2632,6 +2707,20 @@ html {
2632
2707
  opacity: 100%;
2633
2708
  }
2634
2709
  }
2710
+ .novacon\:peer-focus-visible\:ring-\[length\:var\(--tuwa-ring-width\)\]:is(:where(.novacon\:peer):focus-visible ~ *) {
2711
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--tuwa-ring-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2712
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2713
+ }
2714
+ .novacon\:peer-focus-visible\:ring-\[var\(--tuwa-text-accent\)\]:is(:where(.novacon\:peer):focus-visible ~ *) {
2715
+ --tw-ring-color: var(--tuwa-text-accent);
2716
+ }
2717
+ .novacon\:peer-focus-visible\:ring-offset-\[length\:var\(--tuwa-ring-width\)\]:is(:where(.novacon\:peer):focus-visible ~ *) {
2718
+ --tw-ring-offset-width: var(--tuwa-ring-width);
2719
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2720
+ }
2721
+ .novacon\:peer-focus-visible\:ring-offset-\[var\(--tuwa-bg-primary\)\]:is(:where(.novacon\:peer):focus-visible ~ *) {
2722
+ --tw-ring-offset-color: var(--tuwa-bg-primary);
2723
+ }
2635
2724
  .novacon\:placeholder\:text-\[var\(--tuwa-text-secondary\)\]::-moz-placeholder {
2636
2725
  color: var(--tuwa-text-secondary);
2637
2726
  }
@@ -2801,6 +2890,9 @@ html {
2801
2890
  .novacon\:focus-visible\:ring-\[var\(--tuwa-border-accent\)\]:focus-visible {
2802
2891
  --tw-ring-color: var(--tuwa-border-accent);
2803
2892
  }
2893
+ .novacon\:focus-visible\:ring-\[var\(--tuwa-text-accent\)\]:focus-visible {
2894
+ --tw-ring-color: var(--tuwa-text-accent);
2895
+ }
2804
2896
  .novacon\:focus-visible\:ring-offset-\[length\:var\(--tuwa-ring-width\)\]:focus-visible {
2805
2897
  --tw-ring-offset-width: var(--tuwa-ring-width);
2806
2898
  --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
@@ -25,6 +25,8 @@
25
25
  --novacon-font-weight-semibold: 600;
26
26
  --novacon-font-weight-bold: 700;
27
27
  --novacon-tracking-wider: 0.05em;
28
+ --novacon-leading-tight: 1.25;
29
+ --novacon-leading-snug: 1.375;
28
30
  --novacon-leading-relaxed: 1.625;
29
31
  --novacon-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
30
32
  --novacon-animate-spin: spin 1s linear infinite;
@@ -94,6 +96,9 @@
94
96
  .novacon\:top-\[25\%\] {
95
97
  top: 25%;
96
98
  }
99
+ .novacon\:top-full {
100
+ top: 100%;
101
+ }
97
102
  .novacon\:-right-1 {
98
103
  right: calc(var(--novacon-spacing) * -1);
99
104
  }
@@ -106,6 +111,9 @@
106
111
  .novacon\:right-0\.5 {
107
112
  right: calc(var(--novacon-spacing) * 0.5);
108
113
  }
114
+ .novacon\:right-1\.5 {
115
+ right: calc(var(--novacon-spacing) * 1.5);
116
+ }
109
117
  .novacon\:right-2 {
110
118
  right: calc(var(--novacon-spacing) * 2);
111
119
  }
@@ -142,6 +150,9 @@
142
150
  .novacon\:bottom-\[15\%\] {
143
151
  bottom: 15%;
144
152
  }
153
+ .novacon\:bottom-full {
154
+ bottom: 100%;
155
+ }
145
156
  .novacon\:left-1\/2 {
146
157
  left: calc(1 / 2 * 100%);
147
158
  }
@@ -190,6 +201,9 @@
190
201
  .novacon\:mx-4 {
191
202
  margin-inline: calc(var(--novacon-spacing) * 4);
192
203
  }
204
+ .novacon\:-mt-1 {
205
+ margin-top: calc(var(--novacon-spacing) * -1);
206
+ }
193
207
  .novacon\:mt-1 {
194
208
  margin-top: var(--novacon-spacing);
195
209
  }
@@ -295,6 +309,9 @@
295
309
  .novacon\:h-\[2px\] {
296
310
  height: 2px;
297
311
  }
312
+ .novacon\:h-\[18px\] {
313
+ height: 18px;
314
+ }
298
315
  .novacon\:h-\[42px\] {
299
316
  height: 42px;
300
317
  }
@@ -385,6 +402,9 @@
385
402
  .novacon\:w-\[1px\] {
386
403
  width: 1px;
387
404
  }
405
+ .novacon\:w-\[18px\] {
406
+ width: 18px;
407
+ }
388
408
  .novacon\:w-\[42px\] {
389
409
  width: 42px;
390
410
  }
@@ -400,6 +420,13 @@
400
420
  .novacon\:w-full {
401
421
  width: 100%;
402
422
  }
423
+ .novacon\:w-max {
424
+ width: -moz-max-content;
425
+ width: max-content;
426
+ }
427
+ .novacon\:max-w-\[240px\] {
428
+ max-width: 240px;
429
+ }
403
430
  .novacon\:max-w-full {
404
431
  max-width: 100%;
405
432
  }
@@ -418,6 +445,9 @@
418
445
  .novacon\:flex-shrink-0 {
419
446
  flex-shrink: 0;
420
447
  }
448
+ .novacon\:shrink-0 {
449
+ flex-shrink: 0;
450
+ }
421
451
  .novacon\:-translate-x-1\/2 {
422
452
  --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
423
453
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -430,6 +460,9 @@
430
460
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
431
461
  translate: var(--tw-translate-x) var(--tw-translate-y);
432
462
  }
463
+ .novacon\:rotate-45 {
464
+ rotate: 45deg;
465
+ }
433
466
  .novacon\:transform {
434
467
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
435
468
  }
@@ -494,9 +527,15 @@
494
527
  .novacon\:gap-1 {
495
528
  gap: var(--novacon-spacing);
496
529
  }
530
+ .novacon\:gap-1\.5 {
531
+ gap: calc(var(--novacon-spacing) * 1.5);
532
+ }
497
533
  .novacon\:gap-2 {
498
534
  gap: calc(var(--novacon-spacing) * 2);
499
535
  }
536
+ .novacon\:gap-2\.5 {
537
+ gap: calc(var(--novacon-spacing) * 2.5);
538
+ }
500
539
  .novacon\:gap-3 {
501
540
  gap: calc(var(--novacon-spacing) * 3);
502
541
  }
@@ -551,6 +590,12 @@
551
590
  .novacon\:overflow-y-auto {
552
591
  overflow-y: auto;
553
592
  }
593
+ .novacon\:rounded-\[inherit\] {
594
+ border-radius: inherit;
595
+ }
596
+ .novacon\:rounded-\[min\(var\(--tuwa-rounded-corners\)\,5px\)\] {
597
+ border-radius: min(var(--tuwa-rounded-corners), 5px);
598
+ }
554
599
  .novacon\:rounded-\[var\(--tuwa-rounded-corners\)\] {
555
600
  border-radius: var(--tuwa-rounded-corners);
556
601
  }
@@ -565,6 +610,10 @@
565
610
  border-style: var(--tw-border-style);
566
611
  border-width: 2px;
567
612
  }
613
+ .novacon\:border-\[1\.5px\] {
614
+ border-style: var(--tw-border-style);
615
+ border-width: 1.5px;
616
+ }
568
617
  .novacon\:border-t {
569
618
  border-top-style: var(--tw-border-style);
570
619
  border-top-width: 1px;
@@ -646,6 +695,9 @@
646
695
  .novacon\:bg-\[var\(--tuwa-text-accent\)\] {
647
696
  background-color: var(--tuwa-text-accent);
648
697
  }
698
+ .novacon\:bg-\[var\(--tuwa-text-primary\)\] {
699
+ background-color: var(--tuwa-text-primary);
700
+ }
649
701
  .novacon\:bg-\[var\(--tuwa-warning-bg\)\] {
650
702
  background-color: var(--tuwa-warning-bg);
651
703
  }
@@ -795,6 +847,14 @@
795
847
  --tw-leading: var(--novacon-leading-relaxed);
796
848
  line-height: var(--novacon-leading-relaxed);
797
849
  }
850
+ .novacon\:leading-snug {
851
+ --tw-leading: var(--novacon-leading-snug);
852
+ line-height: var(--novacon-leading-snug);
853
+ }
854
+ .novacon\:leading-tight {
855
+ --tw-leading: var(--novacon-leading-tight);
856
+ line-height: var(--novacon-leading-tight);
857
+ }
798
858
  .novacon\:font-bold {
799
859
  --tw-font-weight: var(--novacon-font-weight-bold);
800
860
  font-weight: var(--novacon-font-weight-bold);
@@ -817,6 +877,9 @@
817
877
  .novacon\:whitespace-nowrap {
818
878
  white-space: nowrap;
819
879
  }
880
+ .novacon\:text-\[var\(--tuwa-bg-primary\)\] {
881
+ color: var(--tuwa-bg-primary);
882
+ }
820
883
  .novacon\:text-\[var\(--tuwa-error-text\)\] {
821
884
  color: var(--tuwa-error-text);
822
885
  }
@@ -880,6 +943,10 @@
880
943
  .novacon\:opacity-100 {
881
944
  opacity: 100%;
882
945
  }
946
+ .novacon\:shadow-lg {
947
+ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
948
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
949
+ }
883
950
  .novacon\:shadow-sm {
884
951
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
885
952
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -907,6 +974,11 @@
907
974
  transition-timing-function: var(--tw-ease, var(--novacon-default-transition-timing-function));
908
975
  transition-duration: var(--tw-duration, var(--novacon-default-transition-duration));
909
976
  }
977
+ .novacon\:transition-\[background-color\,border-color\] {
978
+ transition-property: background-color,border-color;
979
+ transition-timing-function: var(--tw-ease, var(--novacon-default-transition-timing-function));
980
+ transition-duration: var(--tw-duration, var(--novacon-default-transition-duration));
981
+ }
910
982
  .novacon\:transition-all {
911
983
  transition-property: all;
912
984
  transition-timing-function: var(--tw-ease, var(--novacon-default-transition-timing-function));
@@ -962,6 +1034,9 @@
962
1034
  --tw-scale-z: 90%;
963
1035
  scale: var(--tw-scale-x) var(--tw-scale-y);
964
1036
  }
1037
+ .novacon\:group-hover\:border-\[var\(--tuwa-text-accent\)\]:is(:where(.novacon\:group):hover *) {
1038
+ border-color: var(--tuwa-text-accent);
1039
+ }
965
1040
  .novacon\:group-hover\:text-\[var\(--tuwa-text-accent\)\]:is(:where(.novacon\:group):hover *) {
966
1041
  color: var(--tuwa-text-accent);
967
1042
  }
@@ -975,6 +1050,20 @@
975
1050
  opacity: 100%;
976
1051
  }
977
1052
  }
1053
+ .novacon\:peer-focus-visible\:ring-\[length\:var\(--tuwa-ring-width\)\]:is(:where(.novacon\:peer):focus-visible ~ *) {
1054
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(var(--tuwa-ring-width) + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1055
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1056
+ }
1057
+ .novacon\:peer-focus-visible\:ring-\[var\(--tuwa-text-accent\)\]:is(:where(.novacon\:peer):focus-visible ~ *) {
1058
+ --tw-ring-color: var(--tuwa-text-accent);
1059
+ }
1060
+ .novacon\:peer-focus-visible\:ring-offset-\[length\:var\(--tuwa-ring-width\)\]:is(:where(.novacon\:peer):focus-visible ~ *) {
1061
+ --tw-ring-offset-width: var(--tuwa-ring-width);
1062
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1063
+ }
1064
+ .novacon\:peer-focus-visible\:ring-offset-\[var\(--tuwa-bg-primary\)\]:is(:where(.novacon\:peer):focus-visible ~ *) {
1065
+ --tw-ring-offset-color: var(--tuwa-bg-primary);
1066
+ }
978
1067
  .novacon\:placeholder\:text-\[var\(--tuwa-text-secondary\)\]::-moz-placeholder {
979
1068
  color: var(--tuwa-text-secondary);
980
1069
  }
@@ -1144,6 +1233,9 @@
1144
1233
  .novacon\:focus-visible\:ring-\[var\(--tuwa-border-accent\)\]:focus-visible {
1145
1234
  --tw-ring-color: var(--tuwa-border-accent);
1146
1235
  }
1236
+ .novacon\:focus-visible\:ring-\[var\(--tuwa-text-accent\)\]:focus-visible {
1237
+ --tw-ring-color: var(--tuwa-text-accent);
1238
+ }
1147
1239
  .novacon\:focus-visible\:ring-offset-\[length\:var\(--tuwa-ring-width\)\]:focus-visible {
1148
1240
  --tw-ring-offset-width: var(--tuwa-ring-width);
1149
1241
  --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tuwaio/sdk",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "private": false,
5
5
  "author": "Oleksandr Tkach",
6
6
  "license": "Apache-2.0",
@@ -67,6 +67,11 @@
67
67
  "import": "./dist/nova-core.js",
68
68
  "require": "./dist/nova-core.cjs"
69
69
  },
70
+ "./nova-core/utils": {
71
+ "types": "./dist/nova-core-utils.d.ts",
72
+ "import": "./dist/nova-core-utils.js",
73
+ "require": "./dist/nova-core-utils.cjs"
74
+ },
70
75
  "./orbit": {
71
76
  "types": "./dist/orbit.d.ts",
72
77
  "import": "./dist/orbit.js",
@@ -157,25 +162,25 @@
157
162
  ],
158
163
  "dependencies": {
159
164
  "@heroicons/react": "^2.2.0",
160
- "@radix-ui/react-dialog": "^1.2.0",
161
- "@radix-ui/react-select": "^2.3.8",
162
- "@tuwaio/nova-connect": "^0.9.0",
163
- "@tuwaio/nova-core": "^0.9.0",
164
- "@tuwaio/nova-transactions": "^0.9.0",
165
- "@tuwaio/orbit-core": "^0.5.1",
166
- "@tuwaio/pulsar-core": "^0.10.0",
167
- "@tuwaio/pulsar-react": "^0.6.1",
168
- "@tuwaio/satellite-core": "^0.9.0",
169
- "@tuwaio/satellite-react": "^0.9.0",
165
+ "@radix-ui/react-dialog": "^1.3.1",
166
+ "@radix-ui/react-select": "^2.4.1",
167
+ "@tuwaio/nova-connect": "^0.10.0",
168
+ "@tuwaio/nova-core": "^0.10.0",
169
+ "@tuwaio/nova-transactions": "^0.10.0",
170
+ "@tuwaio/orbit-core": "^0.6.0",
171
+ "@tuwaio/pulsar-core": "^0.10.1",
172
+ "@tuwaio/pulsar-react": "^0.6.2",
173
+ "@tuwaio/satellite-core": "^0.10.0",
174
+ "@tuwaio/satellite-react": "^0.10.0",
170
175
  "@tuwaio/siwx-core": "^0.7.0",
171
176
  "@tuwaio/siwx-react": "^0.6.2",
172
- "@tuwaio/siwx-server": "^0.7.0",
177
+ "@tuwaio/siwx-server": "^0.7.1",
173
178
  "@web3icons/common": "^0.11.53",
174
179
  "@web3icons/react": "^4.1.24",
175
180
  "clsx": "^2.1.1",
176
181
  "dayjs": "^1.11.23",
177
182
  "ethereum-blockies-base64": "^1.0.2",
178
- "framer-motion": "14.0.0",
183
+ "framer-motion": "14.3.0",
179
184
  "immer": "^11.1.21",
180
185
  "react-toastify": "^11.1.0",
181
186
  "tailwind-merge": "^3.7.0",
@@ -216,17 +221,17 @@
216
221
  }
217
222
  },
218
223
  "devDependencies": {
219
- "@tuwaio/orbit-evm": "^0.3.3",
220
- "@tuwaio/orbit-solana": "^0.5.0",
221
- "@tuwaio/satellite-evm": "^0.9.0",
222
- "@tuwaio/satellite-solana": "^0.9.0",
224
+ "@tuwaio/orbit-evm": "^0.4.0",
225
+ "@tuwaio/orbit-solana": "^0.6.0",
226
+ "@tuwaio/satellite-evm": "^0.10.0",
227
+ "@tuwaio/satellite-solana": "^0.10.0",
223
228
  "@wagmi/core": "^3.6.5",
224
229
  "@wallet-standard/react": "^1.0.3",
225
- "react": "^19.3.0",
226
- "react-dom": "^19.3.0",
227
- "tsup": "^8.5.1",
230
+ "react": "^19.3.1",
231
+ "react-dom": "^19.3.1",
232
+ "tsup": "^9.0.0",
228
233
  "typescript": "6.0.3",
229
- "viem": "^2.57.3"
234
+ "viem": "^2.57.7"
230
235
  },
231
236
  "scripts": {
232
237
  "start": "tsup --watch",