@pollar/react 0.11.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 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.4** (requires `@pollar/core@^0.11.4`).
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
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: 1.5rem;
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: 18px;
279
- width: 18px;
280
- object-fit: contain;
276
+ height: 16px;
277
+ width: auto;
281
278
  }
282
- .pollar-footer-logo-svg {
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-footer-name {
288
- font-size: 0.875rem;
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;