@pollar/react 0.11.4-rc.4 → 0.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -1
- package/dist/index.css +198 -32
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +122 -6
- package/dist/index.d.ts +122 -6
- package/dist/index.js +729 -71
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +728 -73
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -3,7 +3,14 @@
|
|
|
3
3
|
React bindings for [Pollar](https://pollar.xyz) — drop-in authentication UI, transaction modals, and hooks for
|
|
4
4
|
Stellar and Solana applications.
|
|
5
5
|
|
|
6
|
-
> **0.11.
|
|
6
|
+
> **0.11.5** (requires `@pollar/core@^0.11.5`).
|
|
7
|
+
> **Turnkey co-signed wallets**: `<CosignModal>` opens for a request the device did not settle and enables
|
|
8
|
+
> Approve only after it verifies against Turnkey; `useCosign()` exposes the pending requests.
|
|
9
|
+
> `<ConfirmModal>` shows every signature first under `confirmation: 'prompt'`. The ramp widget links the
|
|
10
|
+
> chain a ramp settles on and retries funds in transit; Send takes a Stellar memo (`SendMemoType`). See
|
|
11
|
+
> [UPGRADE.md](../../UPGRADE.md).
|
|
12
|
+
>
|
|
13
|
+
> Earlier: **0.11.4** (requires `@pollar/core@^0.11.4`).
|
|
7
14
|
> **KYC by ramp corridor**: `<RampWidget>` lists routes locked by a requirement step and opens that
|
|
8
15
|
> step - `<KycModal>`, `<RequirementFormModal>`, `<RegistryCheckModal>` or `<ProviderRegistrationModal>`
|
|
9
16
|
> (all exported) - then quotes again; `openKycModal()` without a corridor walks the app's own KYC
|
|
@@ -32,6 +39,14 @@ Stellar and Solana applications.
|
|
|
32
39
|
> pointless KYC poll), and three failures that printed as raw error codes get sentences.
|
|
33
40
|
> `RampWidgetTemplateProps` gains an optional `onboardingStatus`.
|
|
34
41
|
>
|
|
42
|
+
> **Cards**: `<CardModal>`, opened with `openCardModal()` from `usePollar()`, walks the user through
|
|
43
|
+
> the card provider's steps, sign-up and issuing, then shows the card with the app's logo and card
|
|
44
|
+
> label, its balance and movements, funding from the wallet (each funding's step while it is in
|
|
45
|
+
> flight) and the number revealed on the device. **Wallets on demand**: `usePollar()` exposes
|
|
46
|
+
> `hasWallet` and `createWallet`, and signed in without a wallet `<WalletButton>` offers Create wallet
|
|
47
|
+
> to an app that creates wallets on demand. The modals that act on the session close when it ends,
|
|
48
|
+
> and form fields are checked before sending.
|
|
49
|
+
>
|
|
35
50
|
> Earlier: **0.11.3** required `@pollar/core@^0.11.3`. A **pre-built `PollarClient`
|
|
36
51
|
> passed to `PollarProvider` no longer loses passkey support**: the provider installs the
|
|
37
52
|
> browser passkey ceremony on every path (via core's new `setPasskeyDefaults()`), and an
|
package/dist/index.css
CHANGED
|
@@ -47,6 +47,8 @@ html.dark .pollar-modal-card {
|
|
|
47
47
|
--pollar-error-border: #7f1d1d !important;
|
|
48
48
|
--pollar-error-text: #f87171 !important;
|
|
49
49
|
--pollar-success-text: #4ade80 !important;
|
|
50
|
+
--pollar-logo-on-light-display: none !important;
|
|
51
|
+
--pollar-logo-on-dark-display: block !important;
|
|
50
52
|
}
|
|
51
53
|
.pollar-input {
|
|
52
54
|
width: 100%;
|
|
@@ -262,32 +264,23 @@ html.dark .pollar-modal-card {
|
|
|
262
264
|
align-items: center;
|
|
263
265
|
justify-content: center;
|
|
264
266
|
gap: 0.5rem;
|
|
267
|
+
margin-top: 1.25rem;
|
|
265
268
|
border-top: 1px solid var(--pollar-border);
|
|
266
|
-
padding-top:
|
|
269
|
+
padding-top: 1rem;
|
|
267
270
|
}
|
|
268
271
|
.pollar-footer-protected {
|
|
269
272
|
font-size: 0.875rem;
|
|
270
273
|
color: var(--pollar-muted);
|
|
271
274
|
}
|
|
272
|
-
.pollar-footer-brand {
|
|
273
|
-
display: flex;
|
|
274
|
-
align-items: center;
|
|
275
|
-
gap: 0.5rem;
|
|
276
|
-
}
|
|
277
275
|
.pollar-footer-logo {
|
|
278
|
-
height:
|
|
279
|
-
width:
|
|
280
|
-
object-fit: contain;
|
|
276
|
+
height: 16px;
|
|
277
|
+
width: auto;
|
|
281
278
|
}
|
|
282
|
-
.pollar-
|
|
283
|
-
display: block;
|
|
284
|
-
height: 18px;
|
|
285
|
-
width: 21px;
|
|
279
|
+
.pollar-logo-on-light {
|
|
280
|
+
display: var(--pollar-logo-on-light-display, block);
|
|
286
281
|
}
|
|
287
|
-
.pollar-
|
|
288
|
-
|
|
289
|
-
font-weight: 700;
|
|
290
|
-
color: var(--pollar-text);
|
|
282
|
+
.pollar-logo-on-dark {
|
|
283
|
+
display: var(--pollar-logo-on-dark-display, none);
|
|
291
284
|
}
|
|
292
285
|
.pollar-footer-version {
|
|
293
286
|
font-size: 0.7rem;
|
|
@@ -727,6 +720,22 @@ html.dark .pollar-modal-card {
|
|
|
727
720
|
line-height: 30px;
|
|
728
721
|
color: var(--Color-Neutral-400, #94a3b8);
|
|
729
722
|
}
|
|
723
|
+
.pollar-send-label-optional {
|
|
724
|
+
font-weight: 400;
|
|
725
|
+
}
|
|
726
|
+
.pollar-send-memo-row {
|
|
727
|
+
display: flex;
|
|
728
|
+
gap: 0.5rem;
|
|
729
|
+
}
|
|
730
|
+
.pollar-send-memo-type {
|
|
731
|
+
flex: 0 0 5.5rem;
|
|
732
|
+
padding: 0 0.75rem;
|
|
733
|
+
cursor: pointer;
|
|
734
|
+
}
|
|
735
|
+
.pollar-send-memo-input {
|
|
736
|
+
flex: 1 1 auto;
|
|
737
|
+
min-width: 0;
|
|
738
|
+
}
|
|
730
739
|
.pollar-send-destination-input {
|
|
731
740
|
font-family: "Geist Mono", monospace;
|
|
732
741
|
font-size: 14px;
|
|
@@ -792,11 +801,6 @@ html.dark .pollar-send-inline-action {
|
|
|
792
801
|
border-radius: 999px;
|
|
793
802
|
font-size: 0.9375rem;
|
|
794
803
|
}
|
|
795
|
-
.pollar-send-modal .pollar-footer {
|
|
796
|
-
justify-content: flex-start;
|
|
797
|
-
margin-top: 1.25rem;
|
|
798
|
-
padding-top: 1rem;
|
|
799
|
-
}
|
|
800
804
|
@media (max-width: 480px) {
|
|
801
805
|
.pollar-send-modal {
|
|
802
806
|
max-width: calc(100vw - 2rem);
|
|
@@ -2190,10 +2194,6 @@ html.dark .pollar-send-inline-action {
|
|
|
2190
2194
|
.pollar-receive-warning svg {
|
|
2191
2195
|
flex: 0 0 auto;
|
|
2192
2196
|
}
|
|
2193
|
-
.pollar-receive-modal .pollar-footer {
|
|
2194
|
-
margin-top: 0;
|
|
2195
|
-
padding-top: 1rem;
|
|
2196
|
-
}
|
|
2197
2197
|
@media (max-width: 480px) {
|
|
2198
2198
|
.pollar-receive-modal {
|
|
2199
2199
|
max-width: calc(100vw - 2rem);
|
|
@@ -2779,11 +2779,6 @@ html.dark .pollar-send-inline-action {
|
|
|
2779
2779
|
border-radius: 999px;
|
|
2780
2780
|
font-size: 0.9375rem;
|
|
2781
2781
|
}
|
|
2782
|
-
.pollar-swap-modal .pollar-footer {
|
|
2783
|
-
justify-content: center;
|
|
2784
|
-
margin-top: 1rem;
|
|
2785
|
-
padding-top: 0.875rem;
|
|
2786
|
-
}
|
|
2787
2782
|
@media (max-width: 480px) {
|
|
2788
2783
|
.pollar-swap-modal {
|
|
2789
2784
|
max-width: calc(100vw - 2rem);
|
|
@@ -3217,7 +3212,6 @@ html.dark .pollar-sessions-modal {
|
|
|
3217
3212
|
}
|
|
3218
3213
|
.pollar-sessions-modal .pollar-footer {
|
|
3219
3214
|
flex: 0 0 auto;
|
|
3220
|
-
padding-top: 0.75rem;
|
|
3221
3215
|
}
|
|
3222
3216
|
.pollar-sessions-logout-all {
|
|
3223
3217
|
display: flex;
|
|
@@ -3265,6 +3259,178 @@ html.dark .pollar-sessions-modal {
|
|
|
3265
3259
|
}
|
|
3266
3260
|
}
|
|
3267
3261
|
|
|
3262
|
+
/* src/components/cosign-modal/CosignModal.css */
|
|
3263
|
+
.pollar-cosign-modal {
|
|
3264
|
+
display: flex;
|
|
3265
|
+
flex-direction: column;
|
|
3266
|
+
width: 420px;
|
|
3267
|
+
max-width: calc(100vw - 2rem);
|
|
3268
|
+
max-height: calc(100dvh - 2rem);
|
|
3269
|
+
overflow: auto;
|
|
3270
|
+
padding-bottom: 0.75rem;
|
|
3271
|
+
}
|
|
3272
|
+
html.dark .pollar-cosign-modal {
|
|
3273
|
+
--pollar-bg: #1a1a1a !important;
|
|
3274
|
+
--pollar-border: #374151 !important;
|
|
3275
|
+
--pollar-text: #ffffff !important;
|
|
3276
|
+
--pollar-muted: #9ca3af !important;
|
|
3277
|
+
--pollar-input-bg: #374151 !important;
|
|
3278
|
+
--pollar-error-bg: #2a1515 !important;
|
|
3279
|
+
--pollar-error-border: #7f1d1d !important;
|
|
3280
|
+
--pollar-error-text: #f87171 !important;
|
|
3281
|
+
--pollar-success-text: #4ade80 !important;
|
|
3282
|
+
}
|
|
3283
|
+
.pollar-cosign-muted {
|
|
3284
|
+
color: var(--pollar-muted);
|
|
3285
|
+
font-size: 0.85rem;
|
|
3286
|
+
margin: 0;
|
|
3287
|
+
}
|
|
3288
|
+
.pollar-cosign-empty {
|
|
3289
|
+
padding: 1.5rem 0.25rem;
|
|
3290
|
+
text-align: center;
|
|
3291
|
+
}
|
|
3292
|
+
.pollar-cosign-approved-icon {
|
|
3293
|
+
display: block;
|
|
3294
|
+
margin: 0 auto 0.75rem;
|
|
3295
|
+
color: var(--pollar-success-text);
|
|
3296
|
+
}
|
|
3297
|
+
.pollar-cosign-tx-link {
|
|
3298
|
+
color: var(--pollar-accent);
|
|
3299
|
+
font-family: "Geist Mono", monospace;
|
|
3300
|
+
text-decoration: none;
|
|
3301
|
+
}
|
|
3302
|
+
.pollar-cosign-tx-link:hover {
|
|
3303
|
+
text-decoration: underline;
|
|
3304
|
+
}
|
|
3305
|
+
.pollar-cosign-empty-title {
|
|
3306
|
+
margin: 0 0 0.35rem;
|
|
3307
|
+
font-weight: 600;
|
|
3308
|
+
color: var(--pollar-text);
|
|
3309
|
+
}
|
|
3310
|
+
.pollar-cosign-list {
|
|
3311
|
+
list-style: none;
|
|
3312
|
+
margin: 0 0 0.75rem;
|
|
3313
|
+
padding: 0;
|
|
3314
|
+
display: flex;
|
|
3315
|
+
flex-direction: column;
|
|
3316
|
+
gap: 0.4rem;
|
|
3317
|
+
}
|
|
3318
|
+
.pollar-cosign-item {
|
|
3319
|
+
display: flex;
|
|
3320
|
+
justify-content: space-between;
|
|
3321
|
+
width: 100%;
|
|
3322
|
+
padding: 0.6rem 0.75rem;
|
|
3323
|
+
border: 1px solid var(--pollar-border);
|
|
3324
|
+
border-radius: var(--pollar-card-border-radius, 10px);
|
|
3325
|
+
background: transparent;
|
|
3326
|
+
color: var(--pollar-text);
|
|
3327
|
+
cursor: pointer;
|
|
3328
|
+
font: inherit;
|
|
3329
|
+
}
|
|
3330
|
+
.pollar-cosign-item-active {
|
|
3331
|
+
border-color: var(--pollar-accent);
|
|
3332
|
+
background: color-mix(in srgb, var(--pollar-accent) 7%, var(--pollar-bg));
|
|
3333
|
+
}
|
|
3334
|
+
.pollar-cosign-detail {
|
|
3335
|
+
display: flex;
|
|
3336
|
+
flex-direction: column;
|
|
3337
|
+
gap: 0.75rem;
|
|
3338
|
+
padding: 1rem;
|
|
3339
|
+
border: 1px solid var(--pollar-border);
|
|
3340
|
+
border-radius: calc(var(--pollar-card-border-radius, 10px) + 2px);
|
|
3341
|
+
}
|
|
3342
|
+
.pollar-cosign-detail-title {
|
|
3343
|
+
margin: 0;
|
|
3344
|
+
font-size: 1.05rem;
|
|
3345
|
+
font-weight: 600;
|
|
3346
|
+
color: var(--pollar-text);
|
|
3347
|
+
}
|
|
3348
|
+
.pollar-cosign-rows {
|
|
3349
|
+
margin: 0;
|
|
3350
|
+
display: flex;
|
|
3351
|
+
flex-direction: column;
|
|
3352
|
+
gap: 0.35rem;
|
|
3353
|
+
}
|
|
3354
|
+
.pollar-cosign-row {
|
|
3355
|
+
display: flex;
|
|
3356
|
+
justify-content: space-between;
|
|
3357
|
+
gap: 1rem;
|
|
3358
|
+
font-size: 0.9rem;
|
|
3359
|
+
}
|
|
3360
|
+
.pollar-cosign-row dt {
|
|
3361
|
+
color: var(--pollar-muted);
|
|
3362
|
+
}
|
|
3363
|
+
.pollar-cosign-row dd {
|
|
3364
|
+
margin: 0;
|
|
3365
|
+
color: var(--pollar-text);
|
|
3366
|
+
font-variant-numeric: tabular-nums;
|
|
3367
|
+
text-align: right;
|
|
3368
|
+
word-break: break-all;
|
|
3369
|
+
}
|
|
3370
|
+
.pollar-cosign-verify {
|
|
3371
|
+
padding: 0.55rem 0.7rem;
|
|
3372
|
+
border-radius: var(--pollar-card-border-radius, 10px);
|
|
3373
|
+
font-size: 0.82rem;
|
|
3374
|
+
border: 1px solid var(--pollar-border);
|
|
3375
|
+
color: var(--pollar-muted);
|
|
3376
|
+
}
|
|
3377
|
+
.pollar-cosign-verify-ok {
|
|
3378
|
+
color: var(--pollar-success-text, #15803d);
|
|
3379
|
+
border-color: color-mix(in srgb, var(--pollar-success-text, #15803d) 40%, var(--pollar-border));
|
|
3380
|
+
}
|
|
3381
|
+
.pollar-cosign-verify-bad,
|
|
3382
|
+
.pollar-cosign-error {
|
|
3383
|
+
color: var(--pollar-error-text);
|
|
3384
|
+
background: var(--pollar-error-bg);
|
|
3385
|
+
border: 1px solid var(--pollar-error-border);
|
|
3386
|
+
border-radius: var(--pollar-card-border-radius, 10px);
|
|
3387
|
+
padding: 0.55rem 0.7rem;
|
|
3388
|
+
font-size: 0.82rem;
|
|
3389
|
+
}
|
|
3390
|
+
.pollar-cosign-actions {
|
|
3391
|
+
display: flex;
|
|
3392
|
+
gap: 0.5rem;
|
|
3393
|
+
}
|
|
3394
|
+
.pollar-cosign-btn {
|
|
3395
|
+
flex: 1;
|
|
3396
|
+
padding: 0.65rem 0.75rem;
|
|
3397
|
+
border-radius: var(--pollar-button-border-radius, 10px);
|
|
3398
|
+
font: inherit;
|
|
3399
|
+
font-weight: 600;
|
|
3400
|
+
cursor: pointer;
|
|
3401
|
+
border: 1px solid var(--pollar-border);
|
|
3402
|
+
}
|
|
3403
|
+
.pollar-cosign-btn:disabled {
|
|
3404
|
+
opacity: 0.55;
|
|
3405
|
+
cursor: not-allowed;
|
|
3406
|
+
}
|
|
3407
|
+
.pollar-cosign-btn-secondary {
|
|
3408
|
+
background: transparent;
|
|
3409
|
+
color: var(--pollar-text);
|
|
3410
|
+
}
|
|
3411
|
+
.pollar-cosign-btn-primary {
|
|
3412
|
+
background: var(--pollar-accent);
|
|
3413
|
+
border-color: var(--pollar-accent);
|
|
3414
|
+
color: var(--pollar-accent-text, #fff);
|
|
3415
|
+
}
|
|
3416
|
+
.pollar-cosign-group {
|
|
3417
|
+
margin: 8px 0 12px;
|
|
3418
|
+
padding: 10px 12px;
|
|
3419
|
+
border-radius: var(--pollar-card-border-radius);
|
|
3420
|
+
border: 1px solid var(--pollar-border);
|
|
3421
|
+
}
|
|
3422
|
+
.pollar-cosign-group-title {
|
|
3423
|
+
margin: 0 0 4px;
|
|
3424
|
+
font-weight: 600;
|
|
3425
|
+
}
|
|
3426
|
+
.pollar-cosign-group-steps {
|
|
3427
|
+
margin: 8px 0 0;
|
|
3428
|
+
padding-left: 20px;
|
|
3429
|
+
}
|
|
3430
|
+
.pollar-cosign-group-step-current {
|
|
3431
|
+
font-weight: 600;
|
|
3432
|
+
}
|
|
3433
|
+
|
|
3268
3434
|
/* src/components/tx-history-modal/TxHistoryModal.css */
|
|
3269
3435
|
.pollar-hist-modal {
|
|
3270
3436
|
max-width: 480px;
|