@mysten-incubation/dev-wallet 0.0.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +139 -0
- package/LICENSE +189 -0
- package/dist/_virtual/{_@oxc-project_runtime@0.107.0 → _@oxc-project_runtime@0.127.0}/helpers/decorate.mjs +2 -3
- package/dist/adapters/base-adapter.mjs +6 -7
- package/dist/adapters/base-adapter.mjs.map +1 -1
- package/dist/adapters/browser.d.mts +4 -1
- package/dist/adapters/browser.mjs +4 -2
- package/dist/adapters/build-managed-account.mjs +8 -10
- package/dist/adapters/build-managed-account.mjs.map +1 -1
- package/dist/adapters/devstack-adapter.d.mts +111 -0
- package/dist/adapters/devstack-adapter.d.mts.map +1 -0
- package/dist/adapters/devstack-adapter.mjs +224 -0
- package/dist/adapters/devstack-adapter.mjs.map +1 -0
- package/dist/adapters/devstack-paths.d.mts +11 -0
- package/dist/adapters/devstack-paths.d.mts.map +1 -0
- package/dist/adapters/devstack-paths.mjs +11 -0
- package/dist/adapters/devstack-paths.mjs.map +1 -0
- package/dist/adapters/fork-relay.d.mts +109 -0
- package/dist/adapters/fork-relay.d.mts.map +1 -0
- package/dist/adapters/fork-relay.mjs +208 -0
- package/dist/adapters/fork-relay.mjs.map +1 -0
- package/dist/adapters/idb-store.mjs +12 -16
- package/dist/adapters/idb-store.mjs.map +1 -1
- package/dist/adapters/in-memory-adapter.mjs +4 -10
- package/dist/adapters/in-memory-adapter.mjs.map +1 -1
- package/dist/adapters/passkey-adapter.mjs +4 -12
- package/dist/adapters/passkey-adapter.mjs.map +1 -1
- package/dist/adapters/remote-cli-adapter.mjs +37 -72
- package/dist/adapters/remote-cli-adapter.mjs.map +1 -1
- package/dist/adapters/webcrypto-adapter.mjs +2 -4
- package/dist/adapters/webcrypto-adapter.mjs.map +1 -1
- package/dist/bin/cli.mjs +9 -22
- package/dist/bin/cli.mjs.map +1 -1
- package/dist/client/dev-wallet-client.mjs +13 -28
- package/dist/client/dev-wallet-client.mjs.map +1 -1
- package/dist/client/index.mjs +1 -2
- package/dist/client/request-handler.mjs +36 -42
- package/dist/client/request-handler.mjs.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/react/components.d.mts +9 -9
- package/dist/react/components.d.mts.map +1 -1
- package/dist/react/components.mjs +2 -5
- package/dist/react/components.mjs.map +1 -1
- package/dist/react/context.d.mts +3 -3
- package/dist/react/context.d.mts.map +1 -1
- package/dist/react/context.mjs +3 -8
- package/dist/react/context.mjs.map +1 -1
- package/dist/react/index.mjs +1 -2
- package/dist/react/useDevWallet.d.mts +3 -0
- package/dist/react/useDevWallet.d.mts.map +1 -1
- package/dist/react/useDevWallet.mjs +9 -14
- package/dist/react/useDevWallet.mjs.map +1 -1
- package/dist/server/cli-signing-middleware.mjs +7 -20
- package/dist/server/cli-signing-middleware.mjs.map +1 -1
- package/dist/server/index.mjs +1 -2
- package/dist/standalone/assets/{in-memory-adapter-CBF4h2KD.js → in-memory-adapter-qRkNfj9O.js} +1 -1
- package/dist/standalone/assets/main-DDltQnzR.js +3954 -0
- package/dist/standalone/assets/{webcrypto-adapter-DysAubFb.js → webcrypto-adapter-FejcrL9x.js} +1 -1
- package/dist/standalone/index.html +11 -12
- package/dist/ui/copy-controller.mjs +3 -3
- package/dist/ui/copy-controller.mjs.map +1 -1
- package/dist/ui/dev-wallet-account-selector.d.mts +3 -4
- package/dist/ui/dev-wallet-account-selector.d.mts.map +1 -1
- package/dist/ui/dev-wallet-account-selector.mjs +48 -25
- package/dist/ui/dev-wallet-account-selector.mjs.map +1 -1
- package/dist/ui/dev-wallet-accounts.d.mts +9 -4
- package/dist/ui/dev-wallet-accounts.d.mts.map +1 -1
- package/dist/ui/dev-wallet-accounts.mjs +62 -140
- package/dist/ui/dev-wallet-accounts.mjs.map +1 -1
- package/dist/ui/dev-wallet-balances.d.mts +10 -3
- package/dist/ui/dev-wallet-balances.d.mts.map +1 -1
- package/dist/ui/dev-wallet-balances.mjs +241 -43
- package/dist/ui/dev-wallet-balances.mjs.map +1 -1
- package/dist/ui/dev-wallet-connect.d.mts +3 -3
- package/dist/ui/dev-wallet-connect.d.mts.map +1 -1
- package/dist/ui/dev-wallet-connect.mjs +24 -16
- package/dist/ui/dev-wallet-connect.mjs.map +1 -1
- package/dist/ui/dev-wallet-dropdown.d.mts +3 -3
- package/dist/ui/dev-wallet-dropdown.d.mts.map +1 -1
- package/dist/ui/dev-wallet-dropdown.mjs +37 -47
- package/dist/ui/dev-wallet-dropdown.mjs.map +1 -1
- package/dist/ui/dev-wallet-fork-panel.d.mts +43 -0
- package/dist/ui/dev-wallet-fork-panel.d.mts.map +1 -0
- package/dist/ui/dev-wallet-fork-panel.mjs +500 -0
- package/dist/ui/dev-wallet-fork-panel.mjs.map +1 -0
- package/dist/ui/dev-wallet-network-badge.d.mts +3 -4
- package/dist/ui/dev-wallet-network-badge.d.mts.map +1 -1
- package/dist/ui/dev-wallet-network-badge.mjs +52 -21
- package/dist/ui/dev-wallet-network-badge.mjs.map +1 -1
- package/dist/ui/dev-wallet-new-account.d.mts +3 -4
- package/dist/ui/dev-wallet-new-account.d.mts.map +1 -1
- package/dist/ui/dev-wallet-new-account.mjs +31 -105
- package/dist/ui/dev-wallet-new-account.mjs.map +1 -1
- package/dist/ui/dev-wallet-objects.d.mts +3 -3
- package/dist/ui/dev-wallet-objects.d.mts.map +1 -1
- package/dist/ui/dev-wallet-objects.mjs +76 -39
- package/dist/ui/dev-wallet-objects.mjs.map +1 -1
- package/dist/ui/dev-wallet-panel.d.mts +24 -4
- package/dist/ui/dev-wallet-panel.d.mts.map +1 -1
- package/dist/ui/dev-wallet-panel.mjs +247 -64
- package/dist/ui/dev-wallet-panel.mjs.map +1 -1
- package/dist/ui/dev-wallet-popup.d.mts +3 -5
- package/dist/ui/dev-wallet-popup.d.mts.map +1 -1
- package/dist/ui/dev-wallet-popup.mjs +19 -15
- package/dist/ui/dev-wallet-popup.mjs.map +1 -1
- package/dist/ui/dev-wallet-settings.d.mts +3 -4
- package/dist/ui/dev-wallet-settings.d.mts.map +1 -1
- package/dist/ui/dev-wallet-settings.mjs +149 -97
- package/dist/ui/dev-wallet-settings.mjs.map +1 -1
- package/dist/ui/dev-wallet-signing-modal.d.mts +11 -4
- package/dist/ui/dev-wallet-signing-modal.d.mts.map +1 -1
- package/dist/ui/dev-wallet-signing-modal.mjs +46 -18
- package/dist/ui/dev-wallet-signing-modal.mjs.map +1 -1
- package/dist/ui/dev-wallet-signing.d.mts +9 -3
- package/dist/ui/dev-wallet-signing.d.mts.map +1 -1
- package/dist/ui/dev-wallet-signing.mjs +119 -130
- package/dist/ui/dev-wallet-signing.mjs.map +1 -1
- package/dist/ui/dev-wallet-standalone.d.mts +8 -3
- package/dist/ui/dev-wallet-standalone.d.mts.map +1 -1
- package/dist/ui/dev-wallet-standalone.mjs +303 -38
- package/dist/ui/dev-wallet-standalone.mjs.map +1 -1
- package/dist/ui/dev-wallet-tab-bar.d.mts +13 -5
- package/dist/ui/dev-wallet-tab-bar.d.mts.map +1 -1
- package/dist/ui/dev-wallet-tab-bar.mjs +143 -82
- package/dist/ui/dev-wallet-tab-bar.mjs.map +1 -1
- package/dist/ui/index.d.mts +3 -2
- package/dist/ui/index.mjs +2 -2
- package/dist/ui/mount.d.mts +14 -1
- package/dist/ui/mount.d.mts.map +1 -1
- package/dist/ui/mount.mjs +5 -2
- package/dist/ui/mount.mjs.map +1 -1
- package/dist/ui/styles.mjs +428 -66
- package/dist/ui/styles.mjs.map +1 -1
- package/dist/ui/transaction-analyzer.mjs +19 -30
- package/dist/ui/transaction-analyzer.mjs.map +1 -1
- package/dist/ui/utils.d.mts +59 -0
- package/dist/ui/utils.d.mts.map +1 -0
- package/dist/ui/utils.mjs +42 -15
- package/dist/ui/utils.mjs.map +1 -1
- package/dist/ui/wallet-controller.mjs +89 -20
- package/dist/ui/wallet-controller.mjs.map +1 -1
- package/dist/wallet/constants.d.mts +9 -0
- package/dist/wallet/constants.d.mts.map +1 -0
- package/dist/wallet/constants.mjs +1 -1
- package/dist/wallet/dev-wallet.mjs +42 -99
- package/dist/wallet/dev-wallet.mjs.map +1 -1
- package/dist/wallet/initializer.d.mts +3 -0
- package/dist/wallet/initializer.d.mts.map +1 -1
- package/dist/wallet/initializer.mjs +9 -14
- package/dist/wallet/initializer.mjs.map +1 -1
- package/dist/wallet/signing.mjs +8 -21
- package/dist/wallet/signing.mjs.map +1 -1
- package/package.json +8 -6
- package/src/adapters/browser.ts +21 -0
- package/src/adapters/devstack-adapter.ts +342 -0
- package/src/adapters/devstack-paths.ts +15 -0
- package/src/adapters/fork-relay.ts +321 -0
- package/src/app/index.html +10 -11
- package/src/react/useDevWallet.ts +5 -1
- package/src/ui/dev-wallet-account-selector.ts +44 -17
- package/src/ui/dev-wallet-accounts.ts +87 -124
- package/src/ui/dev-wallet-balances.ts +248 -27
- package/src/ui/dev-wallet-connect.ts +19 -8
- package/src/ui/dev-wallet-dropdown.ts +7 -5
- package/src/ui/dev-wallet-fork-panel.ts +591 -0
- package/src/ui/dev-wallet-network-badge.ts +49 -10
- package/src/ui/dev-wallet-new-account.ts +21 -62
- package/src/ui/dev-wallet-objects.ts +59 -19
- package/src/ui/dev-wallet-panel.ts +261 -42
- package/src/ui/dev-wallet-popup.ts +12 -6
- package/src/ui/dev-wallet-settings.ts +159 -94
- package/src/ui/dev-wallet-signing-modal.ts +47 -7
- package/src/ui/dev-wallet-signing.ts +124 -97
- package/src/ui/dev-wallet-standalone.ts +310 -22
- package/src/ui/dev-wallet-tab-bar.ts +132 -70
- package/src/ui/index.ts +3 -0
- package/src/ui/mount.ts +23 -1
- package/src/ui/styles.ts +434 -58
- package/src/ui/utils.ts +66 -0
- package/src/ui/wallet-controller.ts +103 -5
- package/src/wallet/initializer.ts +7 -1
- package/dist/standalone/assets/main-VE4olb-Q.js +0 -2841
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { LitElement } from "lit";
|
|
1
|
+
import * as _$lit from "lit";
|
|
2
|
+
import { LitElement, TemplateResult } from "lit";
|
|
3
3
|
|
|
4
4
|
//#region src/ui/dev-wallet-tab-bar.d.ts
|
|
5
|
-
|
|
5
|
+
/** Built-in tab ids. */
|
|
6
|
+
type BuiltinTabId = 'assets' | 'objects' | 'fork' | 'settings';
|
|
7
|
+
type TabId = BuiltinTabId;
|
|
6
8
|
declare class DevWalletTabBar extends LitElement {
|
|
7
9
|
#private;
|
|
8
|
-
static styles: (
|
|
10
|
+
static styles: (_$lit.CSSResult | _$lit.CSSResult[])[];
|
|
9
11
|
active: TabId;
|
|
10
|
-
|
|
12
|
+
/** Phase 5 Subtopic 6 — when true, the bar surfaces a "Fork" tab
|
|
13
|
+
* between Objects and Settings. The host controller toggles this
|
|
14
|
+
* on whenever the active stack's manifest reports
|
|
15
|
+
* `meta.runtime === 'forked'`. Off by default so bundled-mode
|
|
16
|
+
* apps don't accidentally expose admin RPCs. */
|
|
17
|
+
showFork: boolean;
|
|
18
|
+
render(): TemplateResult<1>;
|
|
11
19
|
}
|
|
12
20
|
declare global {
|
|
13
21
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-wallet-tab-bar.d.mts","names":[],"sources":["../../src/ui/dev-wallet-tab-bar.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev-wallet-tab-bar.d.mts","names":[],"sources":["../../src/ui/dev-wallet-tab-bar.ts"],"mappings":";;;;;KASY,YAAA;AAAA,KACA,KAAA,GAAQ,YAAA;AAAA,cAwEP,eAAA,SAAwB,UAAA;EAAA;SACpB,MAAA,GADY,KAAA,CACN,SAAA,GAAA,KAAA,CAAA,SAAA;EA4DtB,MAAA,EAAQ,KAAA;EAtIe;AACxB;;;;EA6IC,QAAA;EAES,MAAA,CAAA,GAAM,cAAA;AAAA;AAAA,QAuDR,MAAA;EAAA,UACG,qBAAA;IACT,oBAAA,EAAsB,eAAA;EAAA;AAAA"}
|
|
@@ -1,116 +1,174 @@
|
|
|
1
1
|
import { sharedStyles } from "./styles.mjs";
|
|
2
|
-
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
+
import { __decorate } from "../_virtual/_@oxc-project_runtime@0.127.0/helpers/decorate.mjs";
|
|
3
3
|
import { LitElement, css, html } from "lit";
|
|
4
4
|
import { customElement, property } from "lit/decorators.js";
|
|
5
|
-
|
|
6
5
|
//#region src/ui/dev-wallet-tab-bar.ts
|
|
7
|
-
|
|
6
|
+
const ASSETS_ICON = html`<svg
|
|
7
|
+
viewBox="0 0 24 24"
|
|
8
|
+
fill="none"
|
|
9
|
+
stroke="currentColor"
|
|
10
|
+
stroke-width="2"
|
|
11
|
+
>
|
|
12
|
+
<rect x="2" y="4" width="20" height="16" rx="2" />
|
|
13
|
+
<path d="M16 12h.01" />
|
|
14
|
+
</svg>`;
|
|
15
|
+
const OBJECTS_ICON = html`<svg
|
|
16
|
+
viewBox="0 0 24 24"
|
|
17
|
+
fill="none"
|
|
18
|
+
stroke="currentColor"
|
|
19
|
+
stroke-width="2"
|
|
20
|
+
>
|
|
21
|
+
<rect x="3" y="3" width="7" height="7" rx="1" />
|
|
22
|
+
<rect x="14" y="3" width="7" height="7" rx="1" />
|
|
23
|
+
<rect x="3" y="14" width="7" height="7" rx="1" />
|
|
24
|
+
<rect x="14" y="14" width="7" height="7" rx="1" />
|
|
25
|
+
</svg>`;
|
|
26
|
+
const SETTINGS_ICON = html`<svg
|
|
27
|
+
viewBox="0 0 24 24"
|
|
28
|
+
fill="none"
|
|
29
|
+
stroke="currentColor"
|
|
30
|
+
stroke-width="2"
|
|
31
|
+
>
|
|
32
|
+
<circle cx="12" cy="12" r="3" />
|
|
33
|
+
<path
|
|
34
|
+
d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"
|
|
35
|
+
/>
|
|
36
|
+
</svg>`;
|
|
37
|
+
const FORK_ICON = html`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
38
|
+
<circle cx="6" cy="6" r="2" />
|
|
39
|
+
<circle cx="6" cy="18" r="2" />
|
|
40
|
+
<circle cx="18" cy="12" r="2" />
|
|
41
|
+
<path d="M6 8v8" />
|
|
42
|
+
<path d="M6 12h6" />
|
|
43
|
+
<path d="M12 12l4-2" />
|
|
44
|
+
<path d="M12 12l4 2" />
|
|
45
|
+
</svg>`;
|
|
46
|
+
const BUILTIN_TABS = [
|
|
47
|
+
{
|
|
48
|
+
id: "assets",
|
|
49
|
+
label: "Home",
|
|
50
|
+
icon: ASSETS_ICON
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: "objects",
|
|
54
|
+
label: "Objects",
|
|
55
|
+
icon: OBJECTS_ICON
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: "settings",
|
|
59
|
+
label: "Settings",
|
|
60
|
+
icon: SETTINGS_ICON
|
|
61
|
+
}
|
|
62
|
+
];
|
|
63
|
+
/** Built-in tabs plus the fork-controls tab. Returned when the host
|
|
64
|
+
* controller signals fork-mode availability via the `showFork` prop. */
|
|
65
|
+
const TABS_WITH_FORK = [
|
|
66
|
+
{
|
|
67
|
+
id: "assets",
|
|
68
|
+
label: "Home",
|
|
69
|
+
icon: ASSETS_ICON
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: "objects",
|
|
73
|
+
label: "Objects",
|
|
74
|
+
icon: OBJECTS_ICON
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: "fork",
|
|
78
|
+
label: "Fork",
|
|
79
|
+
icon: FORK_ICON
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: "settings",
|
|
83
|
+
label: "Settings",
|
|
84
|
+
icon: SETTINGS_ICON
|
|
85
|
+
}
|
|
86
|
+
];
|
|
87
|
+
let DevWalletTabBar = class DevWalletTabBar extends LitElement {
|
|
8
88
|
constructor(..._args) {
|
|
9
89
|
super(..._args);
|
|
10
90
|
this.active = "assets";
|
|
91
|
+
this.showFork = false;
|
|
11
92
|
}
|
|
12
93
|
static {
|
|
13
94
|
this.styles = [sharedStyles, css`
|
|
14
95
|
:host {
|
|
15
96
|
display: block;
|
|
16
|
-
border-
|
|
97
|
+
border-bottom: 1px solid var(--dev-wallet-border);
|
|
98
|
+
background: var(--dev-wallet-surface);
|
|
17
99
|
}
|
|
18
100
|
|
|
19
101
|
.tab-bar {
|
|
20
102
|
display: flex;
|
|
21
|
-
|
|
103
|
+
align-items: stretch;
|
|
104
|
+
min-height: 38px;
|
|
105
|
+
overflow-x: auto;
|
|
106
|
+
padding: 0 6px;
|
|
22
107
|
}
|
|
23
108
|
|
|
24
109
|
.tab {
|
|
25
|
-
|
|
110
|
+
position: relative;
|
|
26
111
|
display: flex;
|
|
27
112
|
align-items: center;
|
|
28
113
|
justify-content: center;
|
|
29
|
-
gap:
|
|
30
|
-
|
|
114
|
+
gap: 6px;
|
|
115
|
+
min-width: 0;
|
|
116
|
+
height: 38px;
|
|
117
|
+
padding: 0 14px;
|
|
118
|
+
font-size: 12px;
|
|
31
119
|
font-weight: var(--dev-wallet-font-weight-medium);
|
|
32
|
-
color: var(--dev-wallet-
|
|
33
|
-
transition:
|
|
34
|
-
|
|
120
|
+
color: var(--dev-wallet-text-2);
|
|
121
|
+
transition:
|
|
122
|
+
color 120ms,
|
|
123
|
+
background 120ms;
|
|
124
|
+
border-bottom: 2px solid transparent;
|
|
125
|
+
white-space: nowrap;
|
|
35
126
|
}
|
|
36
127
|
|
|
37
128
|
.tab:hover {
|
|
38
129
|
color: var(--dev-wallet-foreground);
|
|
130
|
+
background: var(--dev-wallet-bg-hover);
|
|
39
131
|
}
|
|
40
132
|
|
|
41
133
|
.tab[aria-selected='true'] {
|
|
42
|
-
color: var(--dev-wallet-
|
|
43
|
-
border-
|
|
134
|
+
color: var(--dev-wallet-foreground);
|
|
135
|
+
border-bottom-color: var(--dev-wallet-primary);
|
|
44
136
|
}
|
|
45
137
|
|
|
46
138
|
.tab svg {
|
|
47
|
-
width:
|
|
48
|
-
height:
|
|
139
|
+
width: 13px;
|
|
140
|
+
height: 13px;
|
|
141
|
+
flex-shrink: 0;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.tab:last-child {
|
|
145
|
+
margin-left: auto;
|
|
146
|
+
padding: 0 10px;
|
|
49
147
|
}
|
|
50
148
|
`];
|
|
51
149
|
}
|
|
52
150
|
render() {
|
|
151
|
+
const tabs = this.showFork ? TABS_WITH_FORK : BUILTIN_TABS;
|
|
53
152
|
return html`
|
|
54
153
|
<nav class="tab-bar" part="tab-bar" role="tablist" aria-label="Wallet navigation">
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
Assets
|
|
69
|
-
</button>
|
|
70
|
-
<button
|
|
71
|
-
class="tab"
|
|
72
|
-
part="tab"
|
|
73
|
-
role="tab"
|
|
74
|
-
aria-selected=${this.active === "objects"}
|
|
75
|
-
tabindex=${this.active === "objects" ? 0 : -1}
|
|
76
|
-
@click=${() => this.#select("objects")}
|
|
77
|
-
@keydown=${this.#handleKeydown}
|
|
78
|
-
>
|
|
79
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
80
|
-
<rect x="3" y="3" width="7" height="7" rx="1" />
|
|
81
|
-
<rect x="14" y="3" width="7" height="7" rx="1" />
|
|
82
|
-
<rect x="3" y="14" width="7" height="7" rx="1" />
|
|
83
|
-
<rect x="14" y="14" width="7" height="7" rx="1" />
|
|
84
|
-
</svg>
|
|
85
|
-
Objects
|
|
86
|
-
</button>
|
|
87
|
-
<button
|
|
88
|
-
class="tab"
|
|
89
|
-
part="tab"
|
|
90
|
-
role="tab"
|
|
91
|
-
aria-selected=${this.active === "settings"}
|
|
92
|
-
tabindex=${this.active === "settings" ? 0 : -1}
|
|
93
|
-
@click=${() => this.#select("settings")}
|
|
94
|
-
@keydown=${this.#handleKeydown}
|
|
95
|
-
>
|
|
96
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
97
|
-
<circle cx="12" cy="12" r="3" />
|
|
98
|
-
<path
|
|
99
|
-
d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"
|
|
100
|
-
/>
|
|
101
|
-
</svg>
|
|
102
|
-
Settings
|
|
103
|
-
</button>
|
|
154
|
+
${tabs.map((tab) => html`
|
|
155
|
+
<button
|
|
156
|
+
class="tab"
|
|
157
|
+
part="tab"
|
|
158
|
+
role="tab"
|
|
159
|
+
aria-selected=${this.active === tab.id}
|
|
160
|
+
tabindex=${this.active === tab.id ? 0 : -1}
|
|
161
|
+
@click=${() => this.#select(tab.id)}
|
|
162
|
+
@keydown=${(e) => this.#handleKeydown(e, tabs)}
|
|
163
|
+
>
|
|
164
|
+
${tab.icon} ${tab.label}
|
|
165
|
+
</button>
|
|
166
|
+
`)}
|
|
104
167
|
</nav>
|
|
105
168
|
`;
|
|
106
169
|
}
|
|
107
|
-
#handleKeydown(e) {
|
|
108
|
-
const
|
|
109
|
-
"assets",
|
|
110
|
-
"objects",
|
|
111
|
-
"settings"
|
|
112
|
-
];
|
|
113
|
-
const currentIndex = tabs.indexOf(this.active);
|
|
170
|
+
#handleKeydown(e, tabs) {
|
|
171
|
+
const currentIndex = tabs.findIndex((t) => t.id === this.active);
|
|
114
172
|
let newIndex = -1;
|
|
115
173
|
if (e.key === "ArrowRight") {
|
|
116
174
|
e.preventDefault();
|
|
@@ -120,24 +178,27 @@ let DevWalletTabBar = class DevWalletTabBar$1 extends LitElement {
|
|
|
120
178
|
newIndex = (currentIndex - 1 + tabs.length) % tabs.length;
|
|
121
179
|
}
|
|
122
180
|
if (newIndex !== -1) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
181
|
+
const next = tabs[newIndex];
|
|
182
|
+
if (next === void 0) return;
|
|
183
|
+
this.#select(next.id);
|
|
184
|
+
(this.shadowRoot?.querySelectorAll(".tab"))?.[newIndex]?.focus();
|
|
126
185
|
}
|
|
127
186
|
}
|
|
128
187
|
#select(tab) {
|
|
129
|
-
if (tab !== this.active) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}));
|
|
135
|
-
}
|
|
188
|
+
if (tab !== this.active) this.dispatchEvent(new CustomEvent("tab-changed", {
|
|
189
|
+
bubbles: true,
|
|
190
|
+
composed: true,
|
|
191
|
+
detail: { tab }
|
|
192
|
+
}));
|
|
136
193
|
}
|
|
137
194
|
};
|
|
138
195
|
__decorate([property({ type: String })], DevWalletTabBar.prototype, "active", void 0);
|
|
196
|
+
__decorate([property({
|
|
197
|
+
type: Boolean,
|
|
198
|
+
attribute: "show-fork"
|
|
199
|
+
})], DevWalletTabBar.prototype, "showFork", void 0);
|
|
139
200
|
DevWalletTabBar = __decorate([customElement("dev-wallet-tab-bar")], DevWalletTabBar);
|
|
140
|
-
|
|
141
201
|
//#endregion
|
|
142
202
|
export { DevWalletTabBar };
|
|
203
|
+
|
|
143
204
|
//# sourceMappingURL=dev-wallet-tab-bar.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-wallet-tab-bar.mjs","names":["
|
|
1
|
+
{"version":3,"file":"dev-wallet-tab-bar.mjs","names":["#select","#handleKeydown"],"sources":["../../src/ui/dev-wallet-tab-bar.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css, html, LitElement, type TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { sharedStyles } from './styles.js';\n\n/** Built-in tab ids. */\nexport type BuiltinTabId = 'assets' | 'objects' | 'fork' | 'settings';\nexport type TabId = BuiltinTabId;\n\ninterface TabSpec {\n\tid: TabId;\n\tlabel: string;\n\ticon: TemplateResult;\n}\n\nconst ASSETS_ICON = html`<svg\n\tviewBox=\"0 0 24 24\"\n\tfill=\"none\"\n\tstroke=\"currentColor\"\n\tstroke-width=\"2\"\n>\n\t<rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\" />\n\t<path d=\"M16 12h.01\" />\n</svg>`;\n\nconst OBJECTS_ICON = html`<svg\n\tviewBox=\"0 0 24 24\"\n\tfill=\"none\"\n\tstroke=\"currentColor\"\n\tstroke-width=\"2\"\n>\n\t<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" />\n\t<rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" />\n\t<rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" />\n\t<rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" />\n</svg>`;\n\nconst SETTINGS_ICON = html`<svg\n\tviewBox=\"0 0 24 24\"\n\tfill=\"none\"\n\tstroke=\"currentColor\"\n\tstroke-width=\"2\"\n>\n\t<circle cx=\"12\" cy=\"12\" r=\"3\" />\n\t<path\n\t\td=\"M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42\"\n\t/>\n</svg>`;\n\n// Phase 5 Subtopic 6 — fork-controls tab icon. Branching shape signals\n// the \"fork\" semantic without overlapping with the existing wallet\n// glyphs; rendered only when the active manifest's `meta.runtime`\n// resolves to `'forked'` (see `wallet-controller.renderTabBar`).\nconst FORK_ICON = html`<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n\t<circle cx=\"6\" cy=\"6\" r=\"2\" />\n\t<circle cx=\"6\" cy=\"18\" r=\"2\" />\n\t<circle cx=\"18\" cy=\"12\" r=\"2\" />\n\t<path d=\"M6 8v8\" />\n\t<path d=\"M6 12h6\" />\n\t<path d=\"M12 12l4-2\" />\n\t<path d=\"M12 12l4 2\" />\n</svg>`;\n\nconst BUILTIN_TABS: TabSpec[] = [\n\t{ id: 'assets', label: 'Home', icon: ASSETS_ICON },\n\t{ id: 'objects', label: 'Objects', icon: OBJECTS_ICON },\n\t{ id: 'settings', label: 'Settings', icon: SETTINGS_ICON },\n];\n\n/** Built-in tabs plus the fork-controls tab. Returned when the host\n * controller signals fork-mode availability via the `showFork` prop. */\nconst TABS_WITH_FORK: TabSpec[] = [\n\t{ id: 'assets', label: 'Home', icon: ASSETS_ICON },\n\t{ id: 'objects', label: 'Objects', icon: OBJECTS_ICON },\n\t{ id: 'fork', label: 'Fork', icon: FORK_ICON },\n\t{ id: 'settings', label: 'Settings', icon: SETTINGS_ICON },\n];\n\n@customElement('dev-wallet-tab-bar')\nexport class DevWalletTabBar extends LitElement {\n\tstatic override styles = [\n\t\tsharedStyles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t\tborder-bottom: 1px solid var(--dev-wallet-border);\n\t\t\t\tbackground: var(--dev-wallet-surface);\n\t\t\t}\n\n\t\t\t.tab-bar {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: stretch;\n\t\t\t\tmin-height: 38px;\n\t\t\t\toverflow-x: auto;\n\t\t\t\tpadding: 0 6px;\n\t\t\t}\n\n\t\t\t.tab {\n\t\t\t\tposition: relative;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\tgap: 6px;\n\t\t\t\tmin-width: 0;\n\t\t\t\theight: 38px;\n\t\t\t\tpadding: 0 14px;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: var(--dev-wallet-font-weight-medium);\n\t\t\t\tcolor: var(--dev-wallet-text-2);\n\t\t\t\ttransition:\n\t\t\t\t\tcolor 120ms,\n\t\t\t\t\tbackground 120ms;\n\t\t\t\tborder-bottom: 2px solid transparent;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\n\t\t\t.tab:hover {\n\t\t\t\tcolor: var(--dev-wallet-foreground);\n\t\t\t\tbackground: var(--dev-wallet-bg-hover);\n\t\t\t}\n\n\t\t\t.tab[aria-selected='true'] {\n\t\t\t\tcolor: var(--dev-wallet-foreground);\n\t\t\t\tborder-bottom-color: var(--dev-wallet-primary);\n\t\t\t}\n\n\t\t\t.tab svg {\n\t\t\t\twidth: 13px;\n\t\t\t\theight: 13px;\n\t\t\t\tflex-shrink: 0;\n\t\t\t}\n\n\t\t\t.tab:last-child {\n\t\t\t\tmargin-left: auto;\n\t\t\t\tpadding: 0 10px;\n\t\t\t}\n\t\t`,\n\t];\n\n\t@property({ type: String })\n\tactive: TabId = 'assets';\n\n\t/** Phase 5 Subtopic 6 — when true, the bar surfaces a \"Fork\" tab\n\t * between Objects and Settings. The host controller toggles this\n\t * on whenever the active stack's manifest reports\n\t * `meta.runtime === 'forked'`. Off by default so bundled-mode\n\t * apps don't accidentally expose admin RPCs. */\n\t@property({ type: Boolean, attribute: 'show-fork' })\n\tshowFork = false;\n\n\toverride render() {\n\t\tconst tabs: TabSpec[] = this.showFork ? TABS_WITH_FORK : BUILTIN_TABS;\n\t\treturn html`\n\t\t\t<nav class=\"tab-bar\" part=\"tab-bar\" role=\"tablist\" aria-label=\"Wallet navigation\">\n\t\t\t\t${tabs.map(\n\t\t\t\t\t(tab) => html`\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass=\"tab\"\n\t\t\t\t\t\t\tpart=\"tab\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\taria-selected=${this.active === tab.id}\n\t\t\t\t\t\t\ttabindex=${this.active === tab.id ? 0 : -1}\n\t\t\t\t\t\t\t@click=${() => this.#select(tab.id)}\n\t\t\t\t\t\t\t@keydown=${(e: KeyboardEvent) => this.#handleKeydown(e, tabs)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${tab.icon} ${tab.label}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</nav>\n\t\t`;\n\t}\n\n\t#handleKeydown(e: KeyboardEvent, tabs: TabSpec[]): void {\n\t\tconst currentIndex = tabs.findIndex((t) => t.id === this.active);\n\t\tlet newIndex = -1;\n\t\tif (e.key === 'ArrowRight') {\n\t\t\te.preventDefault();\n\t\t\tnewIndex = (currentIndex + 1) % tabs.length;\n\t\t} else if (e.key === 'ArrowLeft') {\n\t\t\te.preventDefault();\n\t\t\tnewIndex = (currentIndex - 1 + tabs.length) % tabs.length;\n\t\t}\n\t\tif (newIndex !== -1) {\n\t\t\tconst next = tabs[newIndex];\n\t\t\tif (next === undefined) return;\n\t\t\tthis.#select(next.id);\n\t\t\tconst buttons = this.shadowRoot?.querySelectorAll<HTMLButtonElement>('.tab');\n\t\t\tbuttons?.[newIndex]?.focus();\n\t\t}\n\t}\n\n\t#select(tab: TabId): void {\n\t\tif (tab !== this.active) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('tab-changed', {\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t\tdetail: { tab },\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'dev-wallet-tab-bar': DevWalletTabBar;\n\t}\n}\n"],"mappings":";;;;;AAkBA,MAAM,cAAc,IAAI;;;;;;;;;AAUxB,MAAM,eAAe,IAAI;;;;;;;;;;;AAYzB,MAAM,gBAAgB,IAAI;;;;;;;;;;;AAgB1B,MAAM,YAAY,IAAI;;;;;;;;;AAUtB,MAAM,eAA0B;CAC/B;EAAE,IAAI;EAAU,OAAO;EAAQ,MAAM;EAAa;CAClD;EAAE,IAAI;EAAW,OAAO;EAAW,MAAM;EAAc;CACvD;EAAE,IAAI;EAAY,OAAO;EAAY,MAAM;EAAe;CAC1D;;;AAID,MAAM,iBAA4B;CACjC;EAAE,IAAI;EAAU,OAAO;EAAQ,MAAM;EAAa;CAClD;EAAE,IAAI;EAAW,OAAO;EAAW,MAAM;EAAc;CACvD;EAAE,IAAI;EAAQ,OAAO;EAAQ,MAAM;EAAW;CAC9C;EAAE,IAAI;EAAY,OAAO;EAAY,MAAM;EAAe;CAC1D;AAGM,IAAA,kBAAA,MAAM,wBAAwB,WAAW;;;gBA6D/B;kBAQL;;;gBApEc,CACxB,cACA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuDH;;CAaD,SAAkB;EACjB,MAAM,OAAkB,KAAK,WAAW,iBAAiB;AACzD,SAAO,IAAI;;MAEP,KAAK,KACL,QAAQ,IAAI;;;;;uBAKK,KAAK,WAAW,IAAI,GAAG;kBAC5B,KAAK,WAAW,IAAI,KAAK,IAAI,GAAG;sBAC5B,MAAA,OAAa,IAAI,GAAG,CAAC;mBACxB,MAAqB,MAAA,cAAoB,GAAG,KAAK,CAAC;;SAE5D,IAAI,KAAK,GAAG,IAAI,MAAM;;OAG1B,CAAC;;;;CAKL,eAAe,GAAkB,MAAuB;EACvD,MAAM,eAAe,KAAK,WAAW,MAAM,EAAE,OAAO,KAAK,OAAO;EAChE,IAAI,WAAW;AACf,MAAI,EAAE,QAAQ,cAAc;AAC3B,KAAE,gBAAgB;AAClB,eAAY,eAAe,KAAK,KAAK;aAC3B,EAAE,QAAQ,aAAa;AACjC,KAAE,gBAAgB;AAClB,eAAY,eAAe,IAAI,KAAK,UAAU,KAAK;;AAEpD,MAAI,aAAa,IAAI;GACpB,MAAM,OAAO,KAAK;AAClB,OAAI,SAAS,OAAW;AACxB,SAAA,OAAa,KAAK,GAAG;AAErB,IADgB,KAAK,YAAY,iBAAoC,OAAO,IAClE,WAAW,OAAO;;;CAI9B,QAAQ,KAAkB;AACzB,MAAI,QAAQ,KAAK,OAChB,MAAK,cACJ,IAAI,YAAY,eAAe;GAC9B,SAAS;GACT,UAAU;GACV,QAAQ,EAAE,KAAK;GACf,CAAC,CACF;;;YA7DF,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,gBAAA,WAAA,UAAA,KAAA,EAAA;YAQ1B,SAAS;CAAE,MAAM;CAAS,WAAW;CAAa,CAAC,CAAA,EAAA,gBAAA,WAAA,YAAA,KAAA,EAAA;8BArEpD,cAAc,qBAAqB,CAAA,EAAA,gBAAA"}
|
package/dist/ui/index.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { DevWalletPanel } from "./dev-wallet-panel.mjs";
|
|
1
2
|
import { DevWalletDropdown } from "./dev-wallet-dropdown.mjs";
|
|
2
3
|
import { DevWalletNewAccount } from "./dev-wallet-new-account.mjs";
|
|
3
4
|
import { DevWalletAccounts } from "./dev-wallet-accounts.mjs";
|
|
4
5
|
import { DevWalletBalances } from "./dev-wallet-balances.mjs";
|
|
5
|
-
import { DevWalletPanel } from "./dev-wallet-panel.mjs";
|
|
6
6
|
import { DevWalletSigning } from "./dev-wallet-signing.mjs";
|
|
7
7
|
import { DevWalletConnect } from "./dev-wallet-connect.mjs";
|
|
8
8
|
import { DevWalletObjects } from "./dev-wallet-objects.mjs";
|
|
@@ -13,5 +13,6 @@ import { DevWalletSigningModal } from "./dev-wallet-signing-modal.mjs";
|
|
|
13
13
|
import { DevWalletAccountSelector } from "./dev-wallet-account-selector.mjs";
|
|
14
14
|
import { DevWalletNetworkBadge } from "./dev-wallet-network-badge.mjs";
|
|
15
15
|
import { DevWalletTabBar } from "./dev-wallet-tab-bar.mjs";
|
|
16
|
+
import { DevWalletForkPanel } from "./dev-wallet-fork-panel.mjs";
|
|
16
17
|
import { mountDevWallet } from "./mount.mjs";
|
|
17
|
-
export { DevWalletAccountSelector, DevWalletAccounts, DevWalletBalances, DevWalletConnect, DevWalletDropdown, DevWalletNetworkBadge, DevWalletNewAccount, DevWalletObjects, DevWalletPanel, DevWalletPopup, DevWalletSettings, DevWalletSigning, DevWalletSigningModal, DevWalletStandalone, DevWalletTabBar, mountDevWallet };
|
|
18
|
+
export { DevWalletAccountSelector, DevWalletAccounts, DevWalletBalances, DevWalletConnect, DevWalletDropdown, DevWalletForkPanel, DevWalletNetworkBadge, DevWalletNewAccount, DevWalletObjects, DevWalletPanel, DevWalletPopup, DevWalletSettings, DevWalletSigning, DevWalletSigningModal, DevWalletStandalone, DevWalletTabBar, mountDevWallet };
|
package/dist/ui/index.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import { DevWalletDropdown } from "./dev-wallet-dropdown.mjs";
|
|
|
2
2
|
import { DevWalletAccountSelector } from "./dev-wallet-account-selector.mjs";
|
|
3
3
|
import { DevWalletBalances } from "./dev-wallet-balances.mjs";
|
|
4
4
|
import { DevWalletConnect } from "./dev-wallet-connect.mjs";
|
|
5
|
+
import { DevWalletForkPanel } from "./dev-wallet-fork-panel.mjs";
|
|
5
6
|
import { DevWalletNetworkBadge } from "./dev-wallet-network-badge.mjs";
|
|
6
7
|
import { DevWalletObjects } from "./dev-wallet-objects.mjs";
|
|
7
8
|
import { DevWalletNewAccount } from "./dev-wallet-new-account.mjs";
|
|
@@ -14,5 +15,4 @@ import { DevWalletPanel } from "./dev-wallet-panel.mjs";
|
|
|
14
15
|
import { DevWalletPopup } from "./dev-wallet-popup.mjs";
|
|
15
16
|
import { DevWalletStandalone } from "./dev-wallet-standalone.mjs";
|
|
16
17
|
import { mountDevWallet } from "./mount.mjs";
|
|
17
|
-
|
|
18
|
-
export { DevWalletAccountSelector, DevWalletAccounts, DevWalletBalances, DevWalletConnect, DevWalletDropdown, DevWalletNetworkBadge, DevWalletNewAccount, DevWalletObjects, DevWalletPanel, DevWalletPopup, DevWalletSettings, DevWalletSigning, DevWalletSigningModal, DevWalletStandalone, DevWalletTabBar, mountDevWallet };
|
|
18
|
+
export { DevWalletAccountSelector, DevWalletAccounts, DevWalletBalances, DevWalletConnect, DevWalletDropdown, DevWalletForkPanel, DevWalletNetworkBadge, DevWalletNewAccount, DevWalletObjects, DevWalletPanel, DevWalletPopup, DevWalletSettings, DevWalletSigning, DevWalletSigningModal, DevWalletStandalone, DevWalletTabBar, mountDevWallet };
|
package/dist/ui/mount.d.mts
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
|
+
import { ForkRelay } from "../adapters/fork-relay.mjs";
|
|
1
2
|
import { DevWallet } from "../wallet/dev-wallet.mjs";
|
|
2
|
-
import "./
|
|
3
|
+
import { CoinRecord } from "./utils.mjs";
|
|
4
|
+
import { DevWalletDockStyle } from "./dev-wallet-panel.mjs";
|
|
3
5
|
|
|
4
6
|
//#region src/ui/mount.d.ts
|
|
5
7
|
/** @returns A cleanup function that removes the panel from the DOM. */
|
|
6
8
|
declare function mountDevWallet(wallet: DevWallet, options?: {
|
|
7
9
|
container?: HTMLElement;
|
|
10
|
+
/** Pre-seeded coin metadata — pass the generated `coins` constant
|
|
11
|
+
* from devstack codegen to skip per-coin RPC waterfalls on UI
|
|
12
|
+
* load. See `DevWalletPanel.coins`. */
|
|
13
|
+
coins?: CoinRecord | null;
|
|
14
|
+
/** Phase 5 Subtopic 6 — fork admin relay. Construct via
|
|
15
|
+
* `createForkRelayFromManifest(manifest)` and pass through;
|
|
16
|
+
* the panel surfaces a Fork tab whenever this is non-null and
|
|
17
|
+
* the active network ends in `-fork`. */
|
|
18
|
+
forkRelay?: ForkRelay | null; /** Upstream label (`'mainnet'`, …) sourced from `meta.upstream`. */
|
|
19
|
+
forkUpstream?: string; /** Floating dock presentation. Defaults to the corner pill from the handoff. */
|
|
20
|
+
dockStyle?: DevWalletDockStyle;
|
|
8
21
|
}): () => void;
|
|
9
22
|
//#endregion
|
|
10
23
|
export { mountDevWallet };
|
package/dist/ui/mount.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.d.mts","names":[],"sources":["../../src/ui/mount.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"mount.d.mts","names":[],"sources":["../../src/ui/mount.ts"],"mappings":";;;;;;;iBAUgB,cAAA,CACf,MAAA,EAAQ,SAAA,EACR,OAAA;EACC,SAAA,GAAY,WAAA;;;;EAIZ,KAAA,GAAQ,UAAA;EAKI;;;;EAAZ,SAAA,GAAY,SAAA,SAXb;EAaC,YAAA,WAXY;EAaZ,SAAA,GAAY,kBAAA;AAAA"}
|
package/dist/ui/mount.mjs
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import "./dev-wallet-panel.mjs";
|
|
2
|
-
|
|
3
2
|
//#region src/ui/mount.ts
|
|
4
3
|
/** @returns A cleanup function that removes the panel from the DOM. */
|
|
5
4
|
function mountDevWallet(wallet, options) {
|
|
6
5
|
const container = options?.container ?? document.body;
|
|
7
6
|
const panel = document.createElement("dev-wallet-panel");
|
|
8
7
|
panel.wallet = wallet;
|
|
8
|
+
if (options?.coins !== void 0) panel.coins = options.coins;
|
|
9
|
+
if (options?.forkRelay !== void 0) panel.forkRelay = options.forkRelay;
|
|
10
|
+
if (options?.forkUpstream !== void 0) panel.forkUpstream = options.forkUpstream;
|
|
11
|
+
if (options?.dockStyle !== void 0) panel.dockStyle = options.dockStyle;
|
|
9
12
|
container.appendChild(panel);
|
|
10
13
|
return () => {
|
|
11
14
|
panel.remove();
|
|
12
15
|
};
|
|
13
16
|
}
|
|
14
|
-
|
|
15
17
|
//#endregion
|
|
16
18
|
export { mountDevWallet };
|
|
19
|
+
|
|
17
20
|
//# sourceMappingURL=mount.mjs.map
|
package/dist/ui/mount.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.mjs","names":[],"sources":["../../src/ui/mount.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { DevWallet } from '../wallet/dev-wallet.js';\nimport './dev-wallet-panel.js';\n\n/** @returns A cleanup function that removes the panel from the DOM. */\nexport function mountDevWallet(\n\twallet: DevWallet,\n\toptions?: {
|
|
1
|
+
{"version":3,"file":"mount.mjs","names":[],"sources":["../../src/ui/mount.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ForkRelay } from '../adapters/fork-relay.js';\nimport type { DevWallet } from '../wallet/dev-wallet.js';\nimport './dev-wallet-panel.js';\nimport type { DevWalletDockStyle } from './dev-wallet-panel.js';\nimport type { CoinRecord } from './utils.js';\n\n/** @returns A cleanup function that removes the panel from the DOM. */\nexport function mountDevWallet(\n\twallet: DevWallet,\n\toptions?: {\n\t\tcontainer?: HTMLElement;\n\t\t/** Pre-seeded coin metadata — pass the generated `coins` constant\n\t\t * from devstack codegen to skip per-coin RPC waterfalls on UI\n\t\t * load. See `DevWalletPanel.coins`. */\n\t\tcoins?: CoinRecord | null;\n\t\t/** Phase 5 Subtopic 6 — fork admin relay. Construct via\n\t\t * `createForkRelayFromManifest(manifest)` and pass through;\n\t\t * the panel surfaces a Fork tab whenever this is non-null and\n\t\t * the active network ends in `-fork`. */\n\t\tforkRelay?: ForkRelay | null;\n\t\t/** Upstream label (`'mainnet'`, …) sourced from `meta.upstream`. */\n\t\tforkUpstream?: string;\n\t\t/** Floating dock presentation. Defaults to the corner pill from the handoff. */\n\t\tdockStyle?: DevWalletDockStyle;\n\t},\n): () => void {\n\tconst container = options?.container ?? document.body;\n\n\tconst panel = document.createElement('dev-wallet-panel');\n\tpanel.wallet = wallet;\n\tif (options?.coins !== undefined) panel.coins = options.coins;\n\tif (options?.forkRelay !== undefined) panel.forkRelay = options.forkRelay;\n\tif (options?.forkUpstream !== undefined) panel.forkUpstream = options.forkUpstream;\n\tif (options?.dockStyle !== undefined) panel.dockStyle = options.dockStyle;\n\tcontainer.appendChild(panel);\n\n\treturn () => {\n\t\tpanel.remove();\n\t};\n}\n"],"mappings":";;;AAUA,SAAgB,eACf,QACA,SAgBa;CACb,MAAM,YAAY,SAAS,aAAa,SAAS;CAEjD,MAAM,QAAQ,SAAS,cAAc,mBAAmB;AACxD,OAAM,SAAS;AACf,KAAI,SAAS,UAAU,OAAW,OAAM,QAAQ,QAAQ;AACxD,KAAI,SAAS,cAAc,OAAW,OAAM,YAAY,QAAQ;AAChE,KAAI,SAAS,iBAAiB,OAAW,OAAM,eAAe,QAAQ;AACtE,KAAI,SAAS,cAAc,OAAW,OAAM,YAAY,QAAQ;AAChE,WAAU,YAAY,MAAM;AAE5B,cAAa;AACZ,QAAM,QAAQ"}
|