@mysten-incubation/dev-wallet 0.0.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/LICENSE +189 -0
  3. package/dist/_virtual/{_@oxc-project_runtime@0.107.0 → _@oxc-project_runtime@0.127.0}/helpers/decorate.mjs +2 -3
  4. package/dist/adapters/base-adapter.mjs +6 -7
  5. package/dist/adapters/base-adapter.mjs.map +1 -1
  6. package/dist/adapters/browser.d.mts +4 -1
  7. package/dist/adapters/browser.mjs +4 -2
  8. package/dist/adapters/build-managed-account.mjs +8 -10
  9. package/dist/adapters/build-managed-account.mjs.map +1 -1
  10. package/dist/adapters/devstack-adapter.d.mts +111 -0
  11. package/dist/adapters/devstack-adapter.d.mts.map +1 -0
  12. package/dist/adapters/devstack-adapter.mjs +224 -0
  13. package/dist/adapters/devstack-adapter.mjs.map +1 -0
  14. package/dist/adapters/devstack-paths.d.mts +12 -0
  15. package/dist/adapters/devstack-paths.d.mts.map +1 -0
  16. package/dist/adapters/devstack-paths.mjs +12 -0
  17. package/dist/adapters/devstack-paths.mjs.map +1 -0
  18. package/dist/adapters/fork-relay.d.mts +109 -0
  19. package/dist/adapters/fork-relay.d.mts.map +1 -0
  20. package/dist/adapters/fork-relay.mjs +208 -0
  21. package/dist/adapters/fork-relay.mjs.map +1 -0
  22. package/dist/adapters/idb-store.mjs +12 -16
  23. package/dist/adapters/idb-store.mjs.map +1 -1
  24. package/dist/adapters/in-memory-adapter.mjs +4 -10
  25. package/dist/adapters/in-memory-adapter.mjs.map +1 -1
  26. package/dist/adapters/passkey-adapter.mjs +4 -12
  27. package/dist/adapters/passkey-adapter.mjs.map +1 -1
  28. package/dist/adapters/remote-cli-adapter.mjs +37 -72
  29. package/dist/adapters/remote-cli-adapter.mjs.map +1 -1
  30. package/dist/adapters/webcrypto-adapter.mjs +2 -4
  31. package/dist/adapters/webcrypto-adapter.mjs.map +1 -1
  32. package/dist/bin/cli.mjs +9 -22
  33. package/dist/bin/cli.mjs.map +1 -1
  34. package/dist/client/dev-wallet-client.mjs +13 -28
  35. package/dist/client/dev-wallet-client.mjs.map +1 -1
  36. package/dist/client/index.mjs +1 -2
  37. package/dist/client/request-handler.mjs +36 -42
  38. package/dist/client/request-handler.mjs.map +1 -1
  39. package/dist/index.mjs +1 -2
  40. package/dist/react/components.d.mts +9 -9
  41. package/dist/react/components.d.mts.map +1 -1
  42. package/dist/react/components.mjs +2 -5
  43. package/dist/react/components.mjs.map +1 -1
  44. package/dist/react/context.d.mts +3 -3
  45. package/dist/react/context.d.mts.map +1 -1
  46. package/dist/react/context.mjs +3 -8
  47. package/dist/react/context.mjs.map +1 -1
  48. package/dist/react/index.mjs +1 -2
  49. package/dist/react/useDevWallet.d.mts +3 -0
  50. package/dist/react/useDevWallet.d.mts.map +1 -1
  51. package/dist/react/useDevWallet.mjs +9 -14
  52. package/dist/react/useDevWallet.mjs.map +1 -1
  53. package/dist/server/cli-signing-middleware.mjs +7 -20
  54. package/dist/server/cli-signing-middleware.mjs.map +1 -1
  55. package/dist/server/index.mjs +1 -2
  56. package/dist/standalone/assets/{in-memory-adapter-CBF4h2KD.js → in-memory-adapter-qRkNfj9O.js} +1 -1
  57. package/dist/standalone/assets/main-DDltQnzR.js +3954 -0
  58. package/dist/standalone/assets/{webcrypto-adapter-DysAubFb.js → webcrypto-adapter-FejcrL9x.js} +1 -1
  59. package/dist/standalone/index.html +11 -12
  60. package/dist/ui/copy-controller.mjs +3 -3
  61. package/dist/ui/copy-controller.mjs.map +1 -1
  62. package/dist/ui/dev-wallet-account-selector.d.mts +3 -4
  63. package/dist/ui/dev-wallet-account-selector.d.mts.map +1 -1
  64. package/dist/ui/dev-wallet-account-selector.mjs +48 -25
  65. package/dist/ui/dev-wallet-account-selector.mjs.map +1 -1
  66. package/dist/ui/dev-wallet-accounts.d.mts +9 -4
  67. package/dist/ui/dev-wallet-accounts.d.mts.map +1 -1
  68. package/dist/ui/dev-wallet-accounts.mjs +62 -140
  69. package/dist/ui/dev-wallet-accounts.mjs.map +1 -1
  70. package/dist/ui/dev-wallet-balances.d.mts +10 -3
  71. package/dist/ui/dev-wallet-balances.d.mts.map +1 -1
  72. package/dist/ui/dev-wallet-balances.mjs +241 -43
  73. package/dist/ui/dev-wallet-balances.mjs.map +1 -1
  74. package/dist/ui/dev-wallet-connect.d.mts +3 -3
  75. package/dist/ui/dev-wallet-connect.d.mts.map +1 -1
  76. package/dist/ui/dev-wallet-connect.mjs +24 -16
  77. package/dist/ui/dev-wallet-connect.mjs.map +1 -1
  78. package/dist/ui/dev-wallet-dropdown.d.mts +3 -3
  79. package/dist/ui/dev-wallet-dropdown.d.mts.map +1 -1
  80. package/dist/ui/dev-wallet-dropdown.mjs +37 -47
  81. package/dist/ui/dev-wallet-dropdown.mjs.map +1 -1
  82. package/dist/ui/dev-wallet-fork-panel.d.mts +43 -0
  83. package/dist/ui/dev-wallet-fork-panel.d.mts.map +1 -0
  84. package/dist/ui/dev-wallet-fork-panel.mjs +500 -0
  85. package/dist/ui/dev-wallet-fork-panel.mjs.map +1 -0
  86. package/dist/ui/dev-wallet-network-badge.d.mts +3 -4
  87. package/dist/ui/dev-wallet-network-badge.d.mts.map +1 -1
  88. package/dist/ui/dev-wallet-network-badge.mjs +52 -21
  89. package/dist/ui/dev-wallet-network-badge.mjs.map +1 -1
  90. package/dist/ui/dev-wallet-new-account.d.mts +3 -4
  91. package/dist/ui/dev-wallet-new-account.d.mts.map +1 -1
  92. package/dist/ui/dev-wallet-new-account.mjs +31 -105
  93. package/dist/ui/dev-wallet-new-account.mjs.map +1 -1
  94. package/dist/ui/dev-wallet-objects.d.mts +3 -3
  95. package/dist/ui/dev-wallet-objects.d.mts.map +1 -1
  96. package/dist/ui/dev-wallet-objects.mjs +76 -39
  97. package/dist/ui/dev-wallet-objects.mjs.map +1 -1
  98. package/dist/ui/dev-wallet-panel.d.mts +24 -4
  99. package/dist/ui/dev-wallet-panel.d.mts.map +1 -1
  100. package/dist/ui/dev-wallet-panel.mjs +247 -64
  101. package/dist/ui/dev-wallet-panel.mjs.map +1 -1
  102. package/dist/ui/dev-wallet-popup.d.mts +3 -5
  103. package/dist/ui/dev-wallet-popup.d.mts.map +1 -1
  104. package/dist/ui/dev-wallet-popup.mjs +19 -15
  105. package/dist/ui/dev-wallet-popup.mjs.map +1 -1
  106. package/dist/ui/dev-wallet-settings.d.mts +3 -4
  107. package/dist/ui/dev-wallet-settings.d.mts.map +1 -1
  108. package/dist/ui/dev-wallet-settings.mjs +149 -97
  109. package/dist/ui/dev-wallet-settings.mjs.map +1 -1
  110. package/dist/ui/dev-wallet-signing-modal.d.mts +11 -4
  111. package/dist/ui/dev-wallet-signing-modal.d.mts.map +1 -1
  112. package/dist/ui/dev-wallet-signing-modal.mjs +46 -18
  113. package/dist/ui/dev-wallet-signing-modal.mjs.map +1 -1
  114. package/dist/ui/dev-wallet-signing.d.mts +9 -3
  115. package/dist/ui/dev-wallet-signing.d.mts.map +1 -1
  116. package/dist/ui/dev-wallet-signing.mjs +119 -130
  117. package/dist/ui/dev-wallet-signing.mjs.map +1 -1
  118. package/dist/ui/dev-wallet-standalone.d.mts +8 -3
  119. package/dist/ui/dev-wallet-standalone.d.mts.map +1 -1
  120. package/dist/ui/dev-wallet-standalone.mjs +303 -38
  121. package/dist/ui/dev-wallet-standalone.mjs.map +1 -1
  122. package/dist/ui/dev-wallet-tab-bar.d.mts +13 -5
  123. package/dist/ui/dev-wallet-tab-bar.d.mts.map +1 -1
  124. package/dist/ui/dev-wallet-tab-bar.mjs +143 -82
  125. package/dist/ui/dev-wallet-tab-bar.mjs.map +1 -1
  126. package/dist/ui/index.d.mts +3 -2
  127. package/dist/ui/index.mjs +2 -2
  128. package/dist/ui/mount.d.mts +14 -1
  129. package/dist/ui/mount.d.mts.map +1 -1
  130. package/dist/ui/mount.mjs +5 -2
  131. package/dist/ui/mount.mjs.map +1 -1
  132. package/dist/ui/styles.mjs +428 -66
  133. package/dist/ui/styles.mjs.map +1 -1
  134. package/dist/ui/transaction-analyzer.mjs +19 -30
  135. package/dist/ui/transaction-analyzer.mjs.map +1 -1
  136. package/dist/ui/utils.d.mts +59 -0
  137. package/dist/ui/utils.d.mts.map +1 -0
  138. package/dist/ui/utils.mjs +42 -15
  139. package/dist/ui/utils.mjs.map +1 -1
  140. package/dist/ui/wallet-controller.mjs +89 -20
  141. package/dist/ui/wallet-controller.mjs.map +1 -1
  142. package/dist/wallet/constants.d.mts +9 -0
  143. package/dist/wallet/constants.d.mts.map +1 -0
  144. package/dist/wallet/constants.mjs +1 -1
  145. package/dist/wallet/dev-wallet.mjs +42 -99
  146. package/dist/wallet/dev-wallet.mjs.map +1 -1
  147. package/dist/wallet/initializer.d.mts +3 -0
  148. package/dist/wallet/initializer.d.mts.map +1 -1
  149. package/dist/wallet/initializer.mjs +9 -14
  150. package/dist/wallet/initializer.mjs.map +1 -1
  151. package/dist/wallet/signing.mjs +8 -21
  152. package/dist/wallet/signing.mjs.map +1 -1
  153. package/package.json +125 -123
  154. package/src/adapters/browser.ts +21 -0
  155. package/src/adapters/devstack-adapter.ts +342 -0
  156. package/src/adapters/devstack-paths.ts +16 -0
  157. package/src/adapters/fork-relay.ts +321 -0
  158. package/src/app/index.html +10 -11
  159. package/src/react/useDevWallet.ts +5 -1
  160. package/src/ui/dev-wallet-account-selector.ts +44 -17
  161. package/src/ui/dev-wallet-accounts.ts +87 -124
  162. package/src/ui/dev-wallet-balances.ts +248 -27
  163. package/src/ui/dev-wallet-connect.ts +19 -8
  164. package/src/ui/dev-wallet-dropdown.ts +7 -5
  165. package/src/ui/dev-wallet-fork-panel.ts +591 -0
  166. package/src/ui/dev-wallet-network-badge.ts +49 -10
  167. package/src/ui/dev-wallet-new-account.ts +21 -62
  168. package/src/ui/dev-wallet-objects.ts +59 -19
  169. package/src/ui/dev-wallet-panel.ts +261 -42
  170. package/src/ui/dev-wallet-popup.ts +12 -6
  171. package/src/ui/dev-wallet-settings.ts +159 -94
  172. package/src/ui/dev-wallet-signing-modal.ts +47 -7
  173. package/src/ui/dev-wallet-signing.ts +124 -97
  174. package/src/ui/dev-wallet-standalone.ts +310 -22
  175. package/src/ui/dev-wallet-tab-bar.ts +132 -70
  176. package/src/ui/index.ts +3 -0
  177. package/src/ui/mount.ts +23 -1
  178. package/src/ui/styles.ts +434 -58
  179. package/src/ui/utils.ts +66 -0
  180. package/src/ui/wallet-controller.ts +103 -5
  181. package/src/wallet/initializer.ts +7 -1
  182. package/dist/standalone/assets/main-VE4olb-Q.js +0 -2841
@@ -1,10 +1,10 @@
1
1
  import { css } from "lit";
2
-
3
2
  //#region src/ui/styles.ts
4
3
  const resetStyles = css`
5
4
  * {
6
5
  box-sizing: border-box;
7
6
  -webkit-font-smoothing: antialiased;
7
+ text-rendering: optimizeLegibility;
8
8
  font-family: var(--dev-wallet-font-sans);
9
9
  }
10
10
 
@@ -36,44 +36,68 @@ const resetStyles = css`
36
36
  `;
37
37
  const themeStyles = css`
38
38
  :host {
39
- /* ColorsOKLch dark theme */
40
- --dev-wallet-background: oklch(0.175 0.028 283);
41
- --dev-wallet-foreground: oklch(0.91 0 0);
42
- --dev-wallet-primary: oklch(0.55 0.24 265);
43
- --dev-wallet-primary-foreground: oklch(0.98 0 0);
44
- --dev-wallet-secondary: oklch(0.195 0.04 262);
45
- --dev-wallet-secondary-foreground: oklch(0.91 0 0);
46
- --dev-wallet-muted: oklch(0.25 0.035 280);
47
- --dev-wallet-muted-foreground: oklch(0.62 0.04 280);
48
- --dev-wallet-destructive: oklch(0.63 0.26 25);
49
- --dev-wallet-positive: oklch(0.72 0.19 145);
50
- --dev-wallet-warning: oklch(0.79 0.17 75);
51
- --dev-wallet-border: oklch(0.25 0.035 280);
52
- --dev-wallet-input: oklch(0.25 0.035 280);
53
- --dev-wallet-ring: oklch(0.55 0.24 265);
54
- --dev-wallet-status-connected: #22c55e;
55
- --dev-wallet-status-disconnected: #6b7280;
56
-
57
- /* Radius scale derived from base */
58
- --dev-wallet-radius: 12px;
59
- --dev-wallet-radius-xs: calc(var(--dev-wallet-radius) - 6px);
60
- --dev-wallet-radius-sm: calc(var(--dev-wallet-radius) - 4px);
61
- --dev-wallet-radius-md: calc(var(--dev-wallet-radius) - 2px);
62
- --dev-wallet-radius-xl: calc(var(--dev-wallet-radius) + 4px);
39
+ /* Handoff tokens — dark devtools surface, Sui blue accent. */
40
+ --dev-wallet-bg-0: #05080f;
41
+ --dev-wallet-bg-1: #0a1322;
42
+ --dev-wallet-bg-2: #0f1b30;
43
+ --dev-wallet-bg-3: #15243e;
44
+ --dev-wallet-bg-4: #1c2f4d;
45
+ --dev-wallet-bg-hover: rgba(255, 255, 255, 0.04);
46
+ --dev-wallet-border: rgba(255, 255, 255, 0.07);
47
+ --dev-wallet-border-2: rgba(255, 255, 255, 0.12);
48
+ --dev-wallet-border-strong: rgba(77, 162, 255, 0.35);
49
+ --dev-wallet-foreground: #e6eefb;
50
+ --dev-wallet-text-2: #94a6c2;
51
+ --dev-wallet-text-3: #5c708e;
52
+ --dev-wallet-text-mute: #3d526f;
53
+ --dev-wallet-scrim: rgba(2, 6, 14, 0.7);
54
+ --dev-wallet-primary: #4da2ff;
55
+ --dev-wallet-primary-hover: #6fbcff;
56
+ --dev-wallet-primary-foreground: #03101f;
57
+ --dev-wallet-accent-fade: rgba(77, 162, 255, 0.12);
58
+ --dev-wallet-secondary: var(--dev-wallet-bg-2);
59
+ --dev-wallet-secondary-foreground: var(--dev-wallet-foreground);
60
+ --dev-wallet-background: var(--dev-wallet-bg-0);
61
+ --dev-wallet-surface: var(--dev-wallet-bg-1);
62
+ --dev-wallet-muted: var(--dev-wallet-bg-3);
63
+ --dev-wallet-muted-foreground: var(--dev-wallet-text-2);
64
+ --dev-wallet-input: var(--dev-wallet-bg-2);
65
+ --dev-wallet-ring: var(--dev-wallet-primary);
66
+ --dev-wallet-destructive: #ff6b6b;
67
+ --dev-wallet-positive: #4ecca3;
68
+ --dev-wallet-warning: #ffb454;
69
+ --dev-wallet-magenta: #c792ea;
70
+ --dev-wallet-teal: #66e1d0;
71
+ --dev-wallet-status-connected: var(--dev-wallet-positive);
72
+ --dev-wallet-status-disconnected: var(--dev-wallet-text-3);
73
+
74
+ /* Radius scale */
63
75
  --dev-wallet-radius-2xs: 3px;
76
+ --dev-wallet-radius-xs: 4px;
77
+ --dev-wallet-radius-sm: 4px;
78
+ --dev-wallet-radius: 6px;
79
+ --dev-wallet-radius-md: 6px;
80
+ --dev-wallet-radius-lg: 10px;
81
+ --dev-wallet-radius-xl: 14px;
64
82
 
65
83
  /* Shadows */
66
- --dev-wallet-shadow-sm: 0 1px 3px color-mix(in oklab, oklch(0 0 0) 10%, transparent);
67
- --dev-wallet-shadow-md: 0 4px 12px color-mix(in oklab, oklch(0 0 0) 30%, transparent);
84
+ --dev-wallet-shadow-sm: 0 1px 3px rgba(2, 8, 20, 0.25);
85
+ --dev-wallet-shadow-md:
86
+ 0 8px 24px rgba(0, 8, 24, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
87
+ --dev-wallet-shadow-card:
88
+ 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 10px 30px rgba(2, 8, 20, 0.4);
89
+ --dev-wallet-shadow-lg:
90
+ 0 24px 60px rgba(0, 8, 24, 0.55), 0 2px 0 rgba(255, 255, 255, 0.04) inset;
91
+ --dev-wallet-shadow-drawer:
92
+ 0 30px 80px rgba(0, 8, 24, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
68
93
 
69
94
  /* Typography */
70
95
  --dev-wallet-font-sans:
71
- ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
72
- 'Helvetica Neue', Arial, sans-serif;
96
+ 'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
73
97
  --dev-wallet-font-weight-medium: 500;
74
98
  --dev-wallet-font-weight-semibold: 600;
75
- --dev-wallet-font-mono:
76
- ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
99
+ --dev-wallet-font-weight-bold: 700;
100
+ --dev-wallet-font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
77
101
 
78
102
  /* Font-size scale */
79
103
  --dev-wallet-text-2xs: 10px;
@@ -83,7 +107,90 @@ const themeStyles = css`
83
107
  --dev-wallet-text-md: 14px;
84
108
  --dev-wallet-text-lg: 15px;
85
109
  --dev-wallet-text-xl: 16px;
86
- --dev-wallet-shadow-lg: 0 8px 32px color-mix(in oklab, oklch(0 0 0) 40%, transparent);
110
+ }
111
+
112
+ .mono {
113
+ font-family: var(--dev-wallet-font-mono);
114
+ font-feature-settings: 'ss01', 'cv01';
115
+ }
116
+
117
+ .chip {
118
+ display: inline-flex;
119
+ align-items: center;
120
+ gap: 6px;
121
+ height: 22px;
122
+ padding: 0 8px;
123
+ border-radius: 999px;
124
+ font-family: var(--dev-wallet-font-mono);
125
+ font-size: 10.5px;
126
+ font-weight: var(--dev-wallet-font-weight-medium);
127
+ letter-spacing: 0.02em;
128
+ background: var(--dev-wallet-bg-3);
129
+ color: var(--dev-wallet-text-2);
130
+ border: 1px solid var(--dev-wallet-border);
131
+ white-space: nowrap;
132
+ }
133
+
134
+ .chip-accent {
135
+ color: var(--dev-wallet-primary);
136
+ border-color: var(--dev-wallet-border-strong);
137
+ background: var(--dev-wallet-accent-fade);
138
+ }
139
+
140
+ .chip-success {
141
+ color: var(--dev-wallet-positive);
142
+ border-color: rgba(78, 204, 163, 0.3);
143
+ background: rgba(78, 204, 163, 0.08);
144
+ }
145
+
146
+ .chip-warn {
147
+ color: var(--dev-wallet-warning);
148
+ border-color: rgba(255, 180, 84, 0.3);
149
+ background: rgba(255, 180, 84, 0.08);
150
+ }
151
+
152
+ .chip-mute {
153
+ color: var(--dev-wallet-text-3);
154
+ }
155
+
156
+ @keyframes slidein-right {
157
+ from {
158
+ opacity: 0;
159
+ transform: translateX(20px);
160
+ }
161
+ to {
162
+ opacity: 1;
163
+ transform: translateX(0);
164
+ }
165
+ }
166
+
167
+ @keyframes fadein {
168
+ from {
169
+ opacity: 0;
170
+ }
171
+ to {
172
+ opacity: 1;
173
+ }
174
+ }
175
+
176
+ @keyframes popin {
177
+ from {
178
+ opacity: 0;
179
+ transform: scale(0.96) translateY(8px);
180
+ }
181
+ to {
182
+ opacity: 1;
183
+ transform: scale(1) translateY(0);
184
+ }
185
+ }
186
+
187
+ @keyframes pulse-ring {
188
+ 0% {
189
+ box-shadow: 0 0 0 0 rgba(77, 162, 255, 0.45);
190
+ }
191
+ 100% {
192
+ box-shadow: 0 0 0 14px rgba(77, 162, 255, 0);
193
+ }
87
194
  }
88
195
  `;
89
196
  const dropdownItemStyles = css`
@@ -92,14 +199,15 @@ const dropdownItemStyles = css`
92
199
  align-items: center;
93
200
  gap: 8px;
94
201
  width: 100%;
95
- padding: 8px 10px;
202
+ padding: 7px 8px;
203
+ border-radius: var(--dev-wallet-radius);
96
204
  font-size: 12px;
97
205
  color: var(--dev-wallet-foreground);
98
206
  text-align: left;
99
207
  }
100
208
 
101
209
  .dropdown-item:hover {
102
- background: var(--dev-wallet-secondary);
210
+ background: var(--dev-wallet-bg-hover);
103
211
  }
104
212
 
105
213
  .dropdown-item[aria-selected='true'] {
@@ -108,33 +216,36 @@ const dropdownItemStyles = css`
108
216
  `;
109
217
  const connectDialogStyles = css`
110
218
  .connect-dialog {
111
- width: 360px;
219
+ width: 460px;
112
220
  max-height: min(600px, 80vh);
113
221
  border-radius: var(--dev-wallet-radius-xl);
114
- background: var(--dev-wallet-background);
115
- border: 1px solid var(--dev-wallet-border);
222
+ background: var(--dev-wallet-surface);
223
+ border: 1px solid var(--dev-wallet-border-2);
116
224
  box-shadow: var(--dev-wallet-shadow-lg);
117
225
  overflow: hidden;
118
226
  display: flex;
119
227
  flex-direction: column;
120
228
  padding: 0;
121
229
  color: inherit;
230
+ pointer-events: auto;
231
+ animation: popin 200ms cubic-bezier(0.2, 0.7, 0.2, 1);
122
232
  }
123
233
 
124
234
  .connect-dialog::backdrop {
125
- background: color-mix(in oklab, oklch(0 0 0) 50%, transparent);
235
+ background: rgba(2, 6, 14, 0.55);
126
236
  }
127
237
 
128
238
  .connect-dialog-header {
129
239
  display: flex;
130
240
  justify-content: space-between;
131
241
  align-items: center;
132
- padding: 14px 16px;
242
+ padding: 14px 16px 12px;
133
243
  border-bottom: 1px solid var(--dev-wallet-border);
244
+ background: var(--dev-wallet-bg-1);
134
245
  }
135
246
 
136
247
  .connect-dialog-title {
137
- font-size: 15px;
248
+ font-size: 13px;
138
249
  font-weight: var(--dev-wallet-font-weight-semibold);
139
250
  color: var(--dev-wallet-foreground);
140
251
  }
@@ -146,40 +257,70 @@ const actionButtonStyles = css`
146
257
  }
147
258
 
148
259
  .btn {
260
+ height: 30px;
261
+ padding: 0 12px;
262
+ border-radius: var(--dev-wallet-radius);
263
+ border: 1px solid var(--dev-wallet-border-2);
264
+ background: var(--dev-wallet-bg-3);
265
+ color: var(--dev-wallet-foreground);
266
+ display: inline-flex;
267
+ align-items: center;
268
+ justify-content: center;
269
+ gap: 6px;
270
+ font-size: 12px;
271
+ font-weight: var(--dev-wallet-font-weight-medium);
272
+ white-space: nowrap;
273
+ transition:
274
+ background 120ms,
275
+ border-color 120ms,
276
+ color 120ms,
277
+ transform 80ms;
278
+ }
279
+
280
+ .actions .btn {
149
281
  flex: 1;
150
- padding: 10px 16px;
151
- border-radius: var(--dev-wallet-radius-md);
152
- font-size: 13px;
153
- font-weight: var(--dev-wallet-font-weight-semibold);
154
- transition: background-color 0.15s;
282
+ }
283
+
284
+ .btn:hover {
285
+ background: var(--dev-wallet-bg-4);
286
+ border-color: var(--dev-wallet-border-strong);
287
+ }
288
+
289
+ .btn:active {
290
+ transform: translateY(0.5px);
155
291
  }
156
292
 
157
293
  .btn-approve {
158
- background: var(--dev-wallet-positive);
294
+ background: var(--dev-wallet-primary);
295
+ border-color: var(--dev-wallet-primary);
159
296
  color: var(--dev-wallet-primary-foreground);
297
+ font-weight: var(--dev-wallet-font-weight-semibold);
160
298
  }
161
299
 
162
300
  .btn-approve:hover {
163
- background: oklab(from var(--dev-wallet-positive) calc(l - 0.03) a b);
301
+ background: var(--dev-wallet-primary-hover);
302
+ border-color: var(--dev-wallet-primary-hover);
164
303
  }
165
304
 
166
305
  .btn-reject {
167
- background: var(--dev-wallet-destructive);
168
- color: var(--dev-wallet-primary-foreground);
306
+ background: transparent;
307
+ color: var(--dev-wallet-destructive);
169
308
  }
170
309
 
171
310
  .btn-reject:hover {
172
- background: oklab(from var(--dev-wallet-destructive) calc(l - 0.05) a b);
311
+ background: rgba(255, 107, 107, 0.07);
312
+ border-color: var(--dev-wallet-destructive);
173
313
  }
174
314
 
175
315
  .btn-cancel {
176
- background: var(--dev-wallet-secondary);
177
- color: var(--dev-wallet-foreground);
178
- border: 1px solid var(--dev-wallet-border);
316
+ background: transparent;
317
+ color: var(--dev-wallet-text-2);
318
+ border-color: transparent;
179
319
  }
180
320
 
181
321
  .btn-cancel:hover {
182
- background: oklab(from var(--dev-wallet-secondary) calc(l - 0.02) a b);
322
+ background: var(--dev-wallet-bg-hover);
323
+ color: var(--dev-wallet-foreground);
183
324
  }
184
325
 
185
326
  .btn-create {
@@ -202,8 +343,11 @@ const stateStyles = css`
202
343
  .empty-state,
203
344
  .error-state {
204
345
  text-align: center;
205
- padding: 16px;
346
+ padding: 18px 16px;
206
347
  font-size: 13px;
348
+ border-radius: var(--dev-wallet-radius-lg);
349
+ border: 1px solid var(--dev-wallet-border);
350
+ background: var(--dev-wallet-bg-1);
207
351
  }
208
352
 
209
353
  .loading {
@@ -220,15 +364,232 @@ const stateStyles = css`
220
364
  `;
221
365
  const sectionHeaderStyles = css`
222
366
  .section-header {
223
- font-size: 13px;
367
+ font-family: var(--dev-wallet-font-mono);
368
+ font-size: 10px;
369
+ font-weight: var(--dev-wallet-font-weight-medium);
370
+ color: var(--dev-wallet-text-3);
371
+ text-transform: uppercase;
372
+ letter-spacing: 0.14em;
373
+ margin-bottom: 10px;
374
+ }
375
+ `;
376
+ /** `<dialog>` chrome shared by new-account / accounts confirm-remove / signing-modal. */
377
+ const dialogStyles = css`
378
+ dialog:not([open]),
379
+ .confirm-dialog:not([open]) {
380
+ display: none;
381
+ }
382
+
383
+ dialog,
384
+ .confirm-dialog {
385
+ max-width: calc(100vw - 32px);
386
+ border-radius: var(--dev-wallet-radius-xl);
387
+ background: var(--dev-wallet-surface);
388
+ border: 1px solid var(--dev-wallet-border-2);
389
+ box-shadow: var(--dev-wallet-shadow-lg);
390
+ display: flex;
391
+ flex-direction: column;
392
+ color: inherit;
393
+ animation: popin 200ms cubic-bezier(0.2, 0.7, 0.2, 1);
394
+ }
395
+
396
+ dialog::backdrop,
397
+ .confirm-dialog::backdrop {
398
+ background: color-mix(in oklab, oklch(0 0 0) 50%, transparent);
399
+ }
400
+
401
+ .dialog-title {
402
+ font-size: 16px;
224
403
  font-weight: var(--dev-wallet-font-weight-semibold);
404
+ color: var(--dev-wallet-foreground);
405
+ margin-bottom: 16px;
406
+ }
407
+ `;
408
+ /** Flex-row card with secondary bg + border + active highlight. */
409
+ const cardItemStyles = css`
410
+ .network-item,
411
+ .account-item,
412
+ .slot-item,
413
+ .import-item {
414
+ display: flex;
415
+ align-items: center;
416
+ border-radius: var(--dev-wallet-radius-lg);
417
+ border: 1px solid var(--dev-wallet-border);
418
+ background: var(--dev-wallet-surface);
419
+ }
420
+
421
+ .network-item.active,
422
+ .account-item.active,
423
+ .slot-item.active,
424
+ .import-item.selected {
425
+ border-color: var(--dev-wallet-border-strong);
426
+ background: var(--dev-wallet-accent-fade);
427
+ }
428
+ `;
429
+ /** Vertical flex container with a 4px gap (override gap per-list). */
430
+ const listContainerStyles = css`
431
+ .network-list,
432
+ .account-list,
433
+ .slot-list,
434
+ .import-list,
435
+ .commands-list,
436
+ .coin-flows {
437
+ display: flex;
438
+ flex-direction: column;
439
+ gap: 4px;
440
+ }
441
+ `;
442
+ /** Text-input with focus-highlight and reset chrome. */
443
+ const formInputStyles = css`
444
+ .form-input,
445
+ .field-input,
446
+ .action-input,
447
+ .network-url-input,
448
+ .edit-label-input {
449
+ outline: none;
450
+ box-sizing: border-box;
451
+ font-family: inherit;
452
+ color: var(--dev-wallet-foreground);
453
+ width: 100%;
454
+ }
455
+
456
+ .form-input:focus,
457
+ .field-input:focus,
458
+ .action-input:focus {
459
+ border-color: var(--dev-wallet-primary);
460
+ }
461
+
462
+ .form-input::placeholder,
463
+ .field-input::placeholder,
464
+ .action-input::placeholder {
465
+ color: var(--dev-wallet-muted-foreground);
466
+ }
467
+ `;
468
+ /** Click-to-copy cursor / hover-tint / `.copied` positive-color states. */
469
+ const copyableTextStyles = css`
470
+ .account-address,
471
+ .detail-value.copyable-addr {
472
+ cursor: pointer;
473
+ border-radius: var(--dev-wallet-radius-2xs);
474
+ transition: background 0.15s;
475
+ }
476
+
477
+ .account-address:hover,
478
+ .detail-value.copyable-addr:hover {
479
+ background: color-mix(in oklab, var(--dev-wallet-primary) 15%, transparent);
480
+ }
481
+
482
+ .account-address.copied,
483
+ .detail-value.copied {
484
+ color: var(--dev-wallet-positive);
485
+ }
486
+ `;
487
+ /** Truncated monospace text — every muted address span in the wallet UI. */
488
+ const monoTruncateStyles = css`
489
+ .account-address,
490
+ .import-item-address,
491
+ .slot-address,
492
+ .network-url,
493
+ .command-detail,
494
+ .command-arg {
495
+ font-family: var(--dev-wallet-font-mono);
496
+ color: var(--dev-wallet-text-3);
497
+ overflow: hidden;
498
+ text-overflow: ellipsis;
499
+ white-space: nowrap;
500
+ font-feature-settings: 'ss01', 'cv01';
501
+ }
502
+
503
+ .confirm-account-address {
504
+ font-family: var(--dev-wallet-font-mono);
505
+ color: var(--dev-wallet-muted-foreground);
506
+ }
507
+ `;
508
+ /** Small square icon button used for inline edit / delete actions. */
509
+ const iconButtonStyles = css`
510
+ .btn-icon,
511
+ .edit-label-btn,
512
+ .delete-btn {
513
+ display: inline-flex;
514
+ align-items: center;
515
+ justify-content: center;
516
+ border-radius: var(--dev-wallet-radius-xs);
225
517
  color: var(--dev-wallet-muted-foreground);
518
+ }
519
+
520
+ .btn-icon:hover,
521
+ .edit-label-btn:hover {
522
+ background: var(--dev-wallet-border);
523
+ color: var(--dev-wallet-foreground);
524
+ }
525
+ `;
526
+ /** Tiny uppercase pill — every status / scheme / network badge. */
527
+ const badgeStyles = css`
528
+ .network-active-badge,
529
+ .account-badge,
530
+ .import-item-badge,
531
+ .slot-toggle {
532
+ font-family: var(--dev-wallet-font-mono);
533
+ font-size: 10.5px;
534
+ font-weight: var(--dev-wallet-font-weight-medium);
226
535
  text-transform: uppercase;
227
- letter-spacing: 0.5px;
228
- margin-bottom: 12px;
536
+ letter-spacing: 0.02em;
537
+ white-space: nowrap;
538
+ }
539
+ `;
540
+ /** Uppercase muted label headings (`.section-label`, `.status-label`, `.field-label`). */
541
+ const subLabelStyles = css`
542
+ .section-label,
543
+ .status-label {
544
+ font-family: var(--dev-wallet-font-mono);
545
+ font-size: 10px;
546
+ font-weight: var(--dev-wallet-font-weight-medium);
547
+ color: var(--dev-wallet-text-3);
548
+ text-transform: uppercase;
549
+ letter-spacing: 0.14em;
550
+ }
551
+
552
+ .field-label {
553
+ display: block;
554
+ font-size: 12px;
555
+ font-weight: var(--dev-wallet-font-weight-medium);
556
+ color: var(--dev-wallet-muted-foreground);
557
+ margin-bottom: 4px;
558
+ }
559
+
560
+ .section-label-error {
561
+ color: var(--dev-wallet-destructive);
562
+ }
563
+ `;
564
+ /** Inline single-line destructive error message. */
565
+ const inlineErrorStyles = css`
566
+ .error,
567
+ .inline-error,
568
+ .confirm-error {
569
+ color: var(--dev-wallet-destructive);
570
+ font-size: 12px;
571
+ word-break: break-word;
229
572
  }
230
573
  `;
231
- const reducedMotionStyles = css`
574
+ /** Circular initial-avatar shared by accounts list + account-selector. */
575
+ const avatarStyles = css`
576
+ .account-avatar,
577
+ .avatar {
578
+ border-radius: 50%;
579
+ display: flex;
580
+ align-items: center;
581
+ justify-content: center;
582
+ font-weight: var(--dev-wallet-font-weight-semibold);
583
+ color: var(--dev-wallet-primary-foreground);
584
+ background: linear-gradient(135deg, var(--dev-wallet-primary), var(--dev-wallet-teal));
585
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15);
586
+ flex-shrink: 0;
587
+ }
588
+ `;
589
+ const sharedStyles = [
590
+ resetStyles,
591
+ themeStyles,
592
+ css`
232
593
  @media (prefers-reduced-motion: reduce) {
233
594
  *,
234
595
  *::before,
@@ -238,13 +599,14 @@ const reducedMotionStyles = css`
238
599
  transition-duration: 0.01ms !important;
239
600
  }
240
601
  }
241
- `;
242
- const sharedStyles = [
243
- resetStyles,
244
- themeStyles,
245
- reducedMotionStyles
602
+ `,
603
+ css`
604
+ :host {
605
+ display: block;
606
+ }
607
+ `
246
608
  ];
247
-
248
609
  //#endregion
249
- export { actionButtonStyles, connectDialogStyles, dropdownItemStyles, sectionHeaderStyles, sharedStyles, stateStyles };
610
+ export { actionButtonStyles, avatarStyles, badgeStyles, cardItemStyles, connectDialogStyles, copyableTextStyles, dialogStyles, dropdownItemStyles, formInputStyles, iconButtonStyles, inlineErrorStyles, listContainerStyles, monoTruncateStyles, sectionHeaderStyles, sharedStyles, stateStyles, subLabelStyles };
611
+
250
612
  //# sourceMappingURL=styles.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.mjs","names":[],"sources":["../../src/ui/styles.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css } from 'lit';\n\nconst resetStyles = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t\t-webkit-font-smoothing: antialiased;\n\t\tfont-family: var(--dev-wallet-font-sans);\n\t}\n\n\tbutton {\n\t\tappearance: none;\n\t\tbackground-color: transparent;\n\t\tfont-size: inherit;\n\t\tfont-family: inherit;\n\t\tcolor: inherit;\n\t\tborder: 0;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tcursor: pointer;\n\t\toutline-color: color-mix(in oklab, var(--dev-wallet-ring) 50%, transparent);\n\t}\n\n\tp,\n\th1,\n\th2,\n\th3 {\n\t\tmargin: 0;\n\t\tcolor: var(--dev-wallet-foreground);\n\t}\n\n\t:focus-visible {\n\t\toutline: 2px solid var(--dev-wallet-ring);\n\t\toutline-offset: 2px;\n\t}\n`;\n\nconst themeStyles = css`\n\t:host {\n\t\t/* Colors — OKLch dark theme */\n\t\t--dev-wallet-background: oklch(0.175 0.028 283);\n\t\t--dev-wallet-foreground: oklch(0.91 0 0);\n\t\t--dev-wallet-primary: oklch(0.55 0.24 265);\n\t\t--dev-wallet-primary-foreground: oklch(0.98 0 0);\n\t\t--dev-wallet-secondary: oklch(0.195 0.04 262);\n\t\t--dev-wallet-secondary-foreground: oklch(0.91 0 0);\n\t\t--dev-wallet-muted: oklch(0.25 0.035 280);\n\t\t--dev-wallet-muted-foreground: oklch(0.62 0.04 280);\n\t\t--dev-wallet-destructive: oklch(0.63 0.26 25);\n\t\t--dev-wallet-positive: oklch(0.72 0.19 145);\n\t\t--dev-wallet-warning: oklch(0.79 0.17 75);\n\t\t--dev-wallet-border: oklch(0.25 0.035 280);\n\t\t--dev-wallet-input: oklch(0.25 0.035 280);\n\t\t--dev-wallet-ring: oklch(0.55 0.24 265);\n\t\t--dev-wallet-status-connected: #22c55e;\n\t\t--dev-wallet-status-disconnected: #6b7280;\n\n\t\t/* Radius scale — derived from base */\n\t\t--dev-wallet-radius: 12px;\n\t\t--dev-wallet-radius-xs: calc(var(--dev-wallet-radius) - 6px);\n\t\t--dev-wallet-radius-sm: calc(var(--dev-wallet-radius) - 4px);\n\t\t--dev-wallet-radius-md: calc(var(--dev-wallet-radius) - 2px);\n\t\t--dev-wallet-radius-xl: calc(var(--dev-wallet-radius) + 4px);\n\t\t--dev-wallet-radius-2xs: 3px;\n\n\t\t/* Shadows */\n\t\t--dev-wallet-shadow-sm: 0 1px 3px color-mix(in oklab, oklch(0 0 0) 10%, transparent);\n\t\t--dev-wallet-shadow-md: 0 4px 12px color-mix(in oklab, oklch(0 0 0) 30%, transparent);\n\n\t\t/* Typography */\n\t\t--dev-wallet-font-sans:\n\t\t\tui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,\n\t\t\t'Helvetica Neue', Arial, sans-serif;\n\t\t--dev-wallet-font-weight-medium: 500;\n\t\t--dev-wallet-font-weight-semibold: 600;\n\t\t--dev-wallet-font-mono:\n\t\t\tui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;\n\n\t\t/* Font-size scale */\n\t\t--dev-wallet-text-2xs: 10px;\n\t\t--dev-wallet-text-xs: 11px;\n\t\t--dev-wallet-text-sm: 12px;\n\t\t--dev-wallet-text-base: 13px;\n\t\t--dev-wallet-text-md: 14px;\n\t\t--dev-wallet-text-lg: 15px;\n\t\t--dev-wallet-text-xl: 16px;\n\t\t--dev-wallet-shadow-lg: 0 8px 32px color-mix(in oklab, oklch(0 0 0) 40%, transparent);\n\t}\n`;\n\nexport const dropdownItemStyles = css`\n\t.dropdown-item {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 8px;\n\t\twidth: 100%;\n\t\tpadding: 8px 10px;\n\t\tfont-size: 12px;\n\t\tcolor: var(--dev-wallet-foreground);\n\t\ttext-align: left;\n\t}\n\n\t.dropdown-item:hover {\n\t\tbackground: var(--dev-wallet-secondary);\n\t}\n\n\t.dropdown-item[aria-selected='true'] {\n\t\tfont-weight: var(--dev-wallet-font-weight-semibold);\n\t}\n`;\n\nexport const connectDialogStyles = css`\n\t.connect-dialog {\n\t\twidth: 360px;\n\t\tmax-height: min(600px, 80vh);\n\t\tborder-radius: var(--dev-wallet-radius-xl);\n\t\tbackground: var(--dev-wallet-background);\n\t\tborder: 1px solid var(--dev-wallet-border);\n\t\tbox-shadow: var(--dev-wallet-shadow-lg);\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tpadding: 0;\n\t\tcolor: inherit;\n\t}\n\n\t.connect-dialog::backdrop {\n\t\tbackground: color-mix(in oklab, oklch(0 0 0) 50%, transparent);\n\t}\n\n\t.connect-dialog-header {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tpadding: 14px 16px;\n\t\tborder-bottom: 1px solid var(--dev-wallet-border);\n\t}\n\n\t.connect-dialog-title {\n\t\tfont-size: 15px;\n\t\tfont-weight: var(--dev-wallet-font-weight-semibold);\n\t\tcolor: var(--dev-wallet-foreground);\n\t}\n`;\n\nexport const actionButtonStyles = css`\n\t.actions {\n\t\tdisplay: flex;\n\t\tgap: 8px;\n\t}\n\n\t.btn {\n\t\tflex: 1;\n\t\tpadding: 10px 16px;\n\t\tborder-radius: var(--dev-wallet-radius-md);\n\t\tfont-size: 13px;\n\t\tfont-weight: var(--dev-wallet-font-weight-semibold);\n\t\ttransition: background-color 0.15s;\n\t}\n\n\t.btn-approve {\n\t\tbackground: var(--dev-wallet-positive);\n\t\tcolor: var(--dev-wallet-primary-foreground);\n\t}\n\n\t.btn-approve:hover {\n\t\tbackground: oklab(from var(--dev-wallet-positive) calc(l - 0.03) a b);\n\t}\n\n\t.btn-reject {\n\t\tbackground: var(--dev-wallet-destructive);\n\t\tcolor: var(--dev-wallet-primary-foreground);\n\t}\n\n\t.btn-reject:hover {\n\t\tbackground: oklab(from var(--dev-wallet-destructive) calc(l - 0.05) a b);\n\t}\n\n\t.btn-cancel {\n\t\tbackground: var(--dev-wallet-secondary);\n\t\tcolor: var(--dev-wallet-foreground);\n\t\tborder: 1px solid var(--dev-wallet-border);\n\t}\n\n\t.btn-cancel:hover {\n\t\tbackground: oklab(from var(--dev-wallet-secondary) calc(l - 0.02) a b);\n\t}\n\n\t.btn-create {\n\t\tbackground: var(--dev-wallet-primary);\n\t\tcolor: var(--dev-wallet-primary-foreground);\n\t}\n\n\t.btn-create:hover {\n\t\tbackground: oklab(from var(--dev-wallet-primary) calc(l - 0.03) a b);\n\t}\n\n\t.btn-create:disabled,\n\t.btn-approve:disabled {\n\t\topacity: 0.5;\n\t\tcursor: not-allowed;\n\t}\n`;\n\nexport const stateStyles = css`\n\t.loading,\n\t.empty-state,\n\t.error-state {\n\t\ttext-align: center;\n\t\tpadding: 16px;\n\t\tfont-size: 13px;\n\t}\n\n\t.loading {\n\t\tcolor: var(--dev-wallet-muted-foreground);\n\t}\n\n\t.empty-state {\n\t\tcolor: var(--dev-wallet-muted-foreground);\n\t}\n\n\t.error-state {\n\t\tcolor: var(--dev-wallet-destructive);\n\t}\n`;\n\nexport const sectionHeaderStyles = css`\n\t.section-header {\n\t\tfont-size: 13px;\n\t\tfont-weight: var(--dev-wallet-font-weight-semibold);\n\t\tcolor: var(--dev-wallet-muted-foreground);\n\t\ttext-transform: uppercase;\n\t\tletter-spacing: 0.5px;\n\t\tmargin-bottom: 12px;\n\t}\n`;\n\nconst reducedMotionStyles = css`\n\t@media (prefers-reduced-motion: reduce) {\n\t\t*,\n\t\t*::before,\n\t\t*::after {\n\t\t\tanimation-duration: 0.01ms !important;\n\t\t\tanimation-iteration-count: 1 !important;\n\t\t\ttransition-duration: 0.01ms !important;\n\t\t}\n\t}\n`;\n\nexport const sharedStyles = [resetStyles, themeStyles, reducedMotionStyles];\n"],"mappings":";;;AAKA,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCvB,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDvB,MAAa,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;AAqBrC,MAAa,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCtC,MAAa,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DrC,MAAa,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;AAsB9B,MAAa,sBAAsB,GAAG;;;;;;;;;;AAWtC,MAAM,sBAAsB,GAAG;;;;;;;;;;;AAY/B,MAAa,eAAe;CAAC;CAAa;CAAa;CAAoB"}
1
+ {"version":3,"file":"styles.mjs","names":[],"sources":["../../src/ui/styles.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css } from 'lit';\n\nconst resetStyles = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t\t-webkit-font-smoothing: antialiased;\n\t\ttext-rendering: optimizeLegibility;\n\t\tfont-family: var(--dev-wallet-font-sans);\n\t}\n\n\tbutton {\n\t\tappearance: none;\n\t\tbackground-color: transparent;\n\t\tfont-size: inherit;\n\t\tfont-family: inherit;\n\t\tcolor: inherit;\n\t\tborder: 0;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tcursor: pointer;\n\t\toutline-color: color-mix(in oklab, var(--dev-wallet-ring) 50%, transparent);\n\t}\n\n\tp,\n\th1,\n\th2,\n\th3 {\n\t\tmargin: 0;\n\t\tcolor: var(--dev-wallet-foreground);\n\t}\n\n\t:focus-visible {\n\t\toutline: 2px solid var(--dev-wallet-ring);\n\t\toutline-offset: 2px;\n\t}\n`;\n\nconst themeStyles = css`\n\t:host {\n\t\t/* Handoff tokens — dark devtools surface, Sui blue accent. */\n\t\t--dev-wallet-bg-0: #05080f;\n\t\t--dev-wallet-bg-1: #0a1322;\n\t\t--dev-wallet-bg-2: #0f1b30;\n\t\t--dev-wallet-bg-3: #15243e;\n\t\t--dev-wallet-bg-4: #1c2f4d;\n\t\t--dev-wallet-bg-hover: rgba(255, 255, 255, 0.04);\n\t\t--dev-wallet-border: rgba(255, 255, 255, 0.07);\n\t\t--dev-wallet-border-2: rgba(255, 255, 255, 0.12);\n\t\t--dev-wallet-border-strong: rgba(77, 162, 255, 0.35);\n\t\t--dev-wallet-foreground: #e6eefb;\n\t\t--dev-wallet-text-2: #94a6c2;\n\t\t--dev-wallet-text-3: #5c708e;\n\t\t--dev-wallet-text-mute: #3d526f;\n\t\t--dev-wallet-scrim: rgba(2, 6, 14, 0.7);\n\t\t--dev-wallet-primary: #4da2ff;\n\t\t--dev-wallet-primary-hover: #6fbcff;\n\t\t--dev-wallet-primary-foreground: #03101f;\n\t\t--dev-wallet-accent-fade: rgba(77, 162, 255, 0.12);\n\t\t--dev-wallet-secondary: var(--dev-wallet-bg-2);\n\t\t--dev-wallet-secondary-foreground: var(--dev-wallet-foreground);\n\t\t--dev-wallet-background: var(--dev-wallet-bg-0);\n\t\t--dev-wallet-surface: var(--dev-wallet-bg-1);\n\t\t--dev-wallet-muted: var(--dev-wallet-bg-3);\n\t\t--dev-wallet-muted-foreground: var(--dev-wallet-text-2);\n\t\t--dev-wallet-input: var(--dev-wallet-bg-2);\n\t\t--dev-wallet-ring: var(--dev-wallet-primary);\n\t\t--dev-wallet-destructive: #ff6b6b;\n\t\t--dev-wallet-positive: #4ecca3;\n\t\t--dev-wallet-warning: #ffb454;\n\t\t--dev-wallet-magenta: #c792ea;\n\t\t--dev-wallet-teal: #66e1d0;\n\t\t--dev-wallet-status-connected: var(--dev-wallet-positive);\n\t\t--dev-wallet-status-disconnected: var(--dev-wallet-text-3);\n\n\t\t/* Radius scale */\n\t\t--dev-wallet-radius-2xs: 3px;\n\t\t--dev-wallet-radius-xs: 4px;\n\t\t--dev-wallet-radius-sm: 4px;\n\t\t--dev-wallet-radius: 6px;\n\t\t--dev-wallet-radius-md: 6px;\n\t\t--dev-wallet-radius-lg: 10px;\n\t\t--dev-wallet-radius-xl: 14px;\n\n\t\t/* Shadows */\n\t\t--dev-wallet-shadow-sm: 0 1px 3px rgba(2, 8, 20, 0.25);\n\t\t--dev-wallet-shadow-md:\n\t\t\t0 8px 24px rgba(0, 8, 24, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;\n\t\t--dev-wallet-shadow-card:\n\t\t\t0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 10px 30px rgba(2, 8, 20, 0.4);\n\t\t--dev-wallet-shadow-lg:\n\t\t\t0 24px 60px rgba(0, 8, 24, 0.55), 0 2px 0 rgba(255, 255, 255, 0.04) inset;\n\t\t--dev-wallet-shadow-drawer:\n\t\t\t0 30px 80px rgba(0, 8, 24, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;\n\n\t\t/* Typography */\n\t\t--dev-wallet-font-sans:\n\t\t\t'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n\t\t--dev-wallet-font-weight-medium: 500;\n\t\t--dev-wallet-font-weight-semibold: 600;\n\t\t--dev-wallet-font-weight-bold: 700;\n\t\t--dev-wallet-font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;\n\n\t\t/* Font-size scale */\n\t\t--dev-wallet-text-2xs: 10px;\n\t\t--dev-wallet-text-xs: 11px;\n\t\t--dev-wallet-text-sm: 12px;\n\t\t--dev-wallet-text-base: 13px;\n\t\t--dev-wallet-text-md: 14px;\n\t\t--dev-wallet-text-lg: 15px;\n\t\t--dev-wallet-text-xl: 16px;\n\t}\n\n\t.mono {\n\t\tfont-family: var(--dev-wallet-font-mono);\n\t\tfont-feature-settings: 'ss01', 'cv01';\n\t}\n\n\t.chip {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tgap: 6px;\n\t\theight: 22px;\n\t\tpadding: 0 8px;\n\t\tborder-radius: 999px;\n\t\tfont-family: var(--dev-wallet-font-mono);\n\t\tfont-size: 10.5px;\n\t\tfont-weight: var(--dev-wallet-font-weight-medium);\n\t\tletter-spacing: 0.02em;\n\t\tbackground: var(--dev-wallet-bg-3);\n\t\tcolor: var(--dev-wallet-text-2);\n\t\tborder: 1px solid var(--dev-wallet-border);\n\t\twhite-space: nowrap;\n\t}\n\n\t.chip-accent {\n\t\tcolor: var(--dev-wallet-primary);\n\t\tborder-color: var(--dev-wallet-border-strong);\n\t\tbackground: var(--dev-wallet-accent-fade);\n\t}\n\n\t.chip-success {\n\t\tcolor: var(--dev-wallet-positive);\n\t\tborder-color: rgba(78, 204, 163, 0.3);\n\t\tbackground: rgba(78, 204, 163, 0.08);\n\t}\n\n\t.chip-warn {\n\t\tcolor: var(--dev-wallet-warning);\n\t\tborder-color: rgba(255, 180, 84, 0.3);\n\t\tbackground: rgba(255, 180, 84, 0.08);\n\t}\n\n\t.chip-mute {\n\t\tcolor: var(--dev-wallet-text-3);\n\t}\n\n\t@keyframes slidein-right {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: translateX(20px);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: translateX(0);\n\t\t}\n\t}\n\n\t@keyframes fadein {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t@keyframes popin {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.96) translateY(8px);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1) translateY(0);\n\t\t}\n\t}\n\n\t@keyframes pulse-ring {\n\t\t0% {\n\t\t\tbox-shadow: 0 0 0 0 rgba(77, 162, 255, 0.45);\n\t\t}\n\t\t100% {\n\t\t\tbox-shadow: 0 0 0 14px rgba(77, 162, 255, 0);\n\t\t}\n\t}\n`;\n\nexport const dropdownItemStyles = css`\n\t.dropdown-item {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 8px;\n\t\twidth: 100%;\n\t\tpadding: 7px 8px;\n\t\tborder-radius: var(--dev-wallet-radius);\n\t\tfont-size: 12px;\n\t\tcolor: var(--dev-wallet-foreground);\n\t\ttext-align: left;\n\t}\n\n\t.dropdown-item:hover {\n\t\tbackground: var(--dev-wallet-bg-hover);\n\t}\n\n\t.dropdown-item[aria-selected='true'] {\n\t\tfont-weight: var(--dev-wallet-font-weight-semibold);\n\t}\n`;\n\nexport const connectDialogStyles = css`\n\t.connect-dialog {\n\t\twidth: 460px;\n\t\tmax-height: min(600px, 80vh);\n\t\tborder-radius: var(--dev-wallet-radius-xl);\n\t\tbackground: var(--dev-wallet-surface);\n\t\tborder: 1px solid var(--dev-wallet-border-2);\n\t\tbox-shadow: var(--dev-wallet-shadow-lg);\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tpadding: 0;\n\t\tcolor: inherit;\n\t\tpointer-events: auto;\n\t\tanimation: popin 200ms cubic-bezier(0.2, 0.7, 0.2, 1);\n\t}\n\n\t.connect-dialog::backdrop {\n\t\tbackground: rgba(2, 6, 14, 0.55);\n\t}\n\n\t.connect-dialog-header {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tpadding: 14px 16px 12px;\n\t\tborder-bottom: 1px solid var(--dev-wallet-border);\n\t\tbackground: var(--dev-wallet-bg-1);\n\t}\n\n\t.connect-dialog-title {\n\t\tfont-size: 13px;\n\t\tfont-weight: var(--dev-wallet-font-weight-semibold);\n\t\tcolor: var(--dev-wallet-foreground);\n\t}\n`;\n\nexport const actionButtonStyles = css`\n\t.actions {\n\t\tdisplay: flex;\n\t\tgap: 8px;\n\t}\n\n\t.btn {\n\t\theight: 30px;\n\t\tpadding: 0 12px;\n\t\tborder-radius: var(--dev-wallet-radius);\n\t\tborder: 1px solid var(--dev-wallet-border-2);\n\t\tbackground: var(--dev-wallet-bg-3);\n\t\tcolor: var(--dev-wallet-foreground);\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tgap: 6px;\n\t\tfont-size: 12px;\n\t\tfont-weight: var(--dev-wallet-font-weight-medium);\n\t\twhite-space: nowrap;\n\t\ttransition:\n\t\t\tbackground 120ms,\n\t\t\tborder-color 120ms,\n\t\t\tcolor 120ms,\n\t\t\ttransform 80ms;\n\t}\n\n\t.actions .btn {\n\t\tflex: 1;\n\t}\n\n\t.btn:hover {\n\t\tbackground: var(--dev-wallet-bg-4);\n\t\tborder-color: var(--dev-wallet-border-strong);\n\t}\n\n\t.btn:active {\n\t\ttransform: translateY(0.5px);\n\t}\n\n\t.btn-approve {\n\t\tbackground: var(--dev-wallet-primary);\n\t\tborder-color: var(--dev-wallet-primary);\n\t\tcolor: var(--dev-wallet-primary-foreground);\n\t\tfont-weight: var(--dev-wallet-font-weight-semibold);\n\t}\n\n\t.btn-approve:hover {\n\t\tbackground: var(--dev-wallet-primary-hover);\n\t\tborder-color: var(--dev-wallet-primary-hover);\n\t}\n\n\t.btn-reject {\n\t\tbackground: transparent;\n\t\tcolor: var(--dev-wallet-destructive);\n\t}\n\n\t.btn-reject:hover {\n\t\tbackground: rgba(255, 107, 107, 0.07);\n\t\tborder-color: var(--dev-wallet-destructive);\n\t}\n\n\t.btn-cancel {\n\t\tbackground: transparent;\n\t\tcolor: var(--dev-wallet-text-2);\n\t\tborder-color: transparent;\n\t}\n\n\t.btn-cancel:hover {\n\t\tbackground: var(--dev-wallet-bg-hover);\n\t\tcolor: var(--dev-wallet-foreground);\n\t}\n\n\t.btn-create {\n\t\tbackground: var(--dev-wallet-primary);\n\t\tcolor: var(--dev-wallet-primary-foreground);\n\t}\n\n\t.btn-create:hover {\n\t\tbackground: oklab(from var(--dev-wallet-primary) calc(l - 0.03) a b);\n\t}\n\n\t.btn-create:disabled,\n\t.btn-approve:disabled {\n\t\topacity: 0.5;\n\t\tcursor: not-allowed;\n\t}\n`;\n\nexport const stateStyles = css`\n\t.loading,\n\t.empty-state,\n\t.error-state {\n\t\ttext-align: center;\n\t\tpadding: 18px 16px;\n\t\tfont-size: 13px;\n\t\tborder-radius: var(--dev-wallet-radius-lg);\n\t\tborder: 1px solid var(--dev-wallet-border);\n\t\tbackground: var(--dev-wallet-bg-1);\n\t}\n\n\t.loading {\n\t\tcolor: var(--dev-wallet-muted-foreground);\n\t}\n\n\t.empty-state {\n\t\tcolor: var(--dev-wallet-muted-foreground);\n\t}\n\n\t.error-state {\n\t\tcolor: var(--dev-wallet-destructive);\n\t}\n`;\n\nexport const sectionHeaderStyles = css`\n\t.section-header {\n\t\tfont-family: var(--dev-wallet-font-mono);\n\t\tfont-size: 10px;\n\t\tfont-weight: var(--dev-wallet-font-weight-medium);\n\t\tcolor: var(--dev-wallet-text-3);\n\t\ttext-transform: uppercase;\n\t\tletter-spacing: 0.14em;\n\t\tmargin-bottom: 10px;\n\t}\n`;\n\n/** `<dialog>` chrome shared by new-account / accounts confirm-remove / signing-modal. */\nexport const dialogStyles = css`\n\tdialog:not([open]),\n\t.confirm-dialog:not([open]) {\n\t\tdisplay: none;\n\t}\n\n\tdialog,\n\t.confirm-dialog {\n\t\tmax-width: calc(100vw - 32px);\n\t\tborder-radius: var(--dev-wallet-radius-xl);\n\t\tbackground: var(--dev-wallet-surface);\n\t\tborder: 1px solid var(--dev-wallet-border-2);\n\t\tbox-shadow: var(--dev-wallet-shadow-lg);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tcolor: inherit;\n\t\tanimation: popin 200ms cubic-bezier(0.2, 0.7, 0.2, 1);\n\t}\n\n\tdialog::backdrop,\n\t.confirm-dialog::backdrop {\n\t\tbackground: color-mix(in oklab, oklch(0 0 0) 50%, transparent);\n\t}\n\n\t.dialog-title {\n\t\tfont-size: 16px;\n\t\tfont-weight: var(--dev-wallet-font-weight-semibold);\n\t\tcolor: var(--dev-wallet-foreground);\n\t\tmargin-bottom: 16px;\n\t}\n`;\n\n/** Flex-row card with secondary bg + border + active highlight. */\nexport const cardItemStyles = css`\n\t.network-item,\n\t.account-item,\n\t.slot-item,\n\t.import-item {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tborder-radius: var(--dev-wallet-radius-lg);\n\t\tborder: 1px solid var(--dev-wallet-border);\n\t\tbackground: var(--dev-wallet-surface);\n\t}\n\n\t.network-item.active,\n\t.account-item.active,\n\t.slot-item.active,\n\t.import-item.selected {\n\t\tborder-color: var(--dev-wallet-border-strong);\n\t\tbackground: var(--dev-wallet-accent-fade);\n\t}\n`;\n\n/** Vertical flex container with a 4px gap (override gap per-list). */\nexport const listContainerStyles = css`\n\t.network-list,\n\t.account-list,\n\t.slot-list,\n\t.import-list,\n\t.commands-list,\n\t.coin-flows {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\t}\n`;\n\n/** Text-input with focus-highlight and reset chrome. */\nexport const formInputStyles = css`\n\t.form-input,\n\t.field-input,\n\t.action-input,\n\t.network-url-input,\n\t.edit-label-input {\n\t\toutline: none;\n\t\tbox-sizing: border-box;\n\t\tfont-family: inherit;\n\t\tcolor: var(--dev-wallet-foreground);\n\t\twidth: 100%;\n\t}\n\n\t.form-input:focus,\n\t.field-input:focus,\n\t.action-input:focus {\n\t\tborder-color: var(--dev-wallet-primary);\n\t}\n\n\t.form-input::placeholder,\n\t.field-input::placeholder,\n\t.action-input::placeholder {\n\t\tcolor: var(--dev-wallet-muted-foreground);\n\t}\n`;\n\n/** Click-to-copy cursor / hover-tint / `.copied` positive-color states. */\nexport const copyableTextStyles = css`\n\t.account-address,\n\t.detail-value.copyable-addr {\n\t\tcursor: pointer;\n\t\tborder-radius: var(--dev-wallet-radius-2xs);\n\t\ttransition: background 0.15s;\n\t}\n\n\t.account-address:hover,\n\t.detail-value.copyable-addr:hover {\n\t\tbackground: color-mix(in oklab, var(--dev-wallet-primary) 15%, transparent);\n\t}\n\n\t.account-address.copied,\n\t.detail-value.copied {\n\t\tcolor: var(--dev-wallet-positive);\n\t}\n`;\n\n/** Truncated monospace text — every muted address span in the wallet UI. */\nexport const monoTruncateStyles = css`\n\t.account-address,\n\t.import-item-address,\n\t.slot-address,\n\t.network-url,\n\t.command-detail,\n\t.command-arg {\n\t\tfont-family: var(--dev-wallet-font-mono);\n\t\tcolor: var(--dev-wallet-text-3);\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tfont-feature-settings: 'ss01', 'cv01';\n\t}\n\n\t.confirm-account-address {\n\t\tfont-family: var(--dev-wallet-font-mono);\n\t\tcolor: var(--dev-wallet-muted-foreground);\n\t}\n`;\n\n/** Small square icon button used for inline edit / delete actions. */\nexport const iconButtonStyles = css`\n\t.btn-icon,\n\t.edit-label-btn,\n\t.delete-btn {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tborder-radius: var(--dev-wallet-radius-xs);\n\t\tcolor: var(--dev-wallet-muted-foreground);\n\t}\n\n\t.btn-icon:hover,\n\t.edit-label-btn:hover {\n\t\tbackground: var(--dev-wallet-border);\n\t\tcolor: var(--dev-wallet-foreground);\n\t}\n`;\n\n/** Tiny uppercase pill — every status / scheme / network badge. */\nexport const badgeStyles = css`\n\t.network-active-badge,\n\t.account-badge,\n\t.import-item-badge,\n\t.slot-toggle {\n\t\tfont-family: var(--dev-wallet-font-mono);\n\t\tfont-size: 10.5px;\n\t\tfont-weight: var(--dev-wallet-font-weight-medium);\n\t\ttext-transform: uppercase;\n\t\tletter-spacing: 0.02em;\n\t\twhite-space: nowrap;\n\t}\n`;\n\n/** Uppercase muted label headings (`.section-label`, `.status-label`, `.field-label`). */\nexport const subLabelStyles = css`\n\t.section-label,\n\t.status-label {\n\t\tfont-family: var(--dev-wallet-font-mono);\n\t\tfont-size: 10px;\n\t\tfont-weight: var(--dev-wallet-font-weight-medium);\n\t\tcolor: var(--dev-wallet-text-3);\n\t\ttext-transform: uppercase;\n\t\tletter-spacing: 0.14em;\n\t}\n\n\t.field-label {\n\t\tdisplay: block;\n\t\tfont-size: 12px;\n\t\tfont-weight: var(--dev-wallet-font-weight-medium);\n\t\tcolor: var(--dev-wallet-muted-foreground);\n\t\tmargin-bottom: 4px;\n\t}\n\n\t.section-label-error {\n\t\tcolor: var(--dev-wallet-destructive);\n\t}\n`;\n\n/** Inline single-line destructive error message. */\nexport const inlineErrorStyles = css`\n\t.error,\n\t.inline-error,\n\t.confirm-error {\n\t\tcolor: var(--dev-wallet-destructive);\n\t\tfont-size: 12px;\n\t\tword-break: break-word;\n\t}\n`;\n\n/** Circular initial-avatar shared by accounts list + account-selector. */\nexport const avatarStyles = css`\n\t.account-avatar,\n\t.avatar {\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-weight: var(--dev-wallet-font-weight-semibold);\n\t\tcolor: var(--dev-wallet-primary-foreground);\n\t\tbackground: linear-gradient(135deg, var(--dev-wallet-primary), var(--dev-wallet-teal));\n\t\tbox-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15);\n\t\tflex-shrink: 0;\n\t}\n`;\n\nconst reducedMotionStyles = css`\n\t@media (prefers-reduced-motion: reduce) {\n\t\t*,\n\t\t*::before,\n\t\t*::after {\n\t\t\tanimation-duration: 0.01ms !important;\n\t\t\tanimation-iteration-count: 1 !important;\n\t\t\ttransition-duration: 0.01ms !important;\n\t\t}\n\t}\n`;\n\nconst hostBlockStyles = css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`;\n\nexport const sharedStyles = [resetStyles, themeStyles, reducedMotionStyles, hostBlockStyles];\n"],"mappings":";;AAKA,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCvB,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgKvB,MAAa,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;AAsBrC,MAAa,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCtC,MAAa,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyFrC,MAAa,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;AAyB9B,MAAa,sBAAsB,GAAG;;;;;;;;;;;;AAatC,MAAa,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiC/B,MAAa,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;AAsBjC,MAAa,sBAAsB,GAAG;;;;;;;;;;;;;AActC,MAAa,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BlC,MAAa,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;AAoBrC,MAAa,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;AAsBrC,MAAa,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;AAmBnC,MAAa,cAAc,GAAG;;;;;;;;;;;;;;AAe9B,MAAa,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;AAyBjC,MAAa,oBAAoB,GAAG;;;;;;;;;;AAWpC,MAAa,eAAe,GAAG;;;;;;;;;;;;;;AAiC/B,MAAa,eAAe;CAAC;CAAa;CAAa,AAlB3B,GAAG;;;;;;;;;;;CAkB6C,AANpD,GAAG;;;;;CAMiE"}