@deriv-web-design/ui 0.1.34 → 0.1.35

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/dist/index.css CHANGED
@@ -11336,8 +11336,22 @@
11336
11336
 
11337
11337
  /* templates/CryptoTradeConverter/CryptoTradeConverter.css */
11338
11338
  .ctc-section {
11339
- width: 100%;
11340
- background-color: var(--color-slate-50);
11339
+ --ctc-ink: #181c25;
11340
+ --ctc-ink-2: #3a424e;
11341
+ --ctc-ink-3: #6a7280;
11342
+ --ctc-line: #e6e9ec;
11343
+ --ctc-line-2: #eef0f3;
11344
+ --ctc-bg-2: #f6f7f8;
11345
+ --ctc-seg-bg: #e9eaed;
11346
+ --ctc-up: #00a76a;
11347
+ --ctc-down: #e5303b;
11348
+ --ctc-buy: #00c390;
11349
+ --ctc-sell: #de0040;
11350
+ --ctc-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
11351
+ width: 100%;
11352
+ background-color: var(--color-slate-50, #f5f6fa);
11353
+ color: var(--ctc-ink);
11354
+ -webkit-font-smoothing: antialiased;
11341
11355
  }
11342
11356
  .ctc-container {
11343
11357
  display: flex;
@@ -11355,6 +11369,10 @@
11355
11369
  }
11356
11370
  @media (min-width: 992px) {
11357
11371
  .ctc-container {
11372
+ display: grid;
11373
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
11374
+ align-items: center;
11375
+ gap: var(--spacing-64);
11358
11376
  padding: var(--spacing-112) var(--spacing-24);
11359
11377
  }
11360
11378
  }
@@ -11362,8 +11380,8 @@
11362
11380
  max-width: 40rem;
11363
11381
  }
11364
11382
  .ctc-title {
11365
- margin: 0 0 var(--spacing-8);
11366
- color: var(--text-primary);
11383
+ margin: 0 0 var(--spacing-16);
11384
+ color: var(--text-primary, var(--ctc-ink));
11367
11385
  font-family: var(--typography-h2-font-family);
11368
11386
  font-size: var(--typography-h2-font-size);
11369
11387
  font-weight: var(--typography-h2-font-weight);
@@ -11372,95 +11390,91 @@
11372
11390
  }
11373
11391
  .ctc-subtitle {
11374
11392
  margin: 0;
11375
- color: var(--text-primary);
11393
+ color: var(--ctc-ink-2);
11376
11394
  font-family: var(--typography-body-md-font-family);
11377
11395
  font-size: var(--typography-body-md-font-size);
11378
11396
  font-weight: var(--typography-body-md-font-weight);
11379
11397
  line-height: var(--typography-body-md-line-height);
11380
11398
  max-width: 30rem;
11381
11399
  }
11400
+ @media (min-width: 992px) {
11401
+ .ctc-header {
11402
+ max-width: none;
11403
+ }
11404
+ .ctc-title {
11405
+ max-width: 8.5em;
11406
+ margin-bottom: var(--spacing-24);
11407
+ }
11408
+ .ctc-subtitle {
11409
+ max-width: 28rem;
11410
+ }
11411
+ }
11382
11412
  .ctc-card {
11383
11413
  width: 100%;
11384
- max-width: 28rem;
11414
+ max-width: 38.75rem;
11385
11415
  margin-inline: auto;
11386
- display: flex;
11387
- flex-direction: column;
11388
- gap: var(--spacing-16);
11389
- padding: var(--spacing-24);
11390
- background: var(--color-slate-75, #fff);
11391
- border: 1px solid var(--color-slate-100, #e6e9ec);
11392
- border-radius: var(--radius-2xl, 1rem);
11393
- box-shadow: var(--shadow-sm);
11416
+ padding: 0;
11417
+ background: #fff;
11418
+ border: 1px solid var(--ctc-line);
11419
+ border-radius: 1.125rem;
11420
+ box-shadow: 0 14px 36px rgba(15, 20, 30, 0.1);
11394
11421
  box-sizing: border-box;
11422
+ overflow: visible;
11395
11423
  }
11396
- @media (min-width: 992px) {
11424
+ .ctc-widget {
11425
+ margin: 0.75rem 0.875rem;
11426
+ padding: 0.75rem;
11427
+ background: var(--ctc-bg-2);
11428
+ border-radius: 1rem;
11429
+ box-sizing: border-box;
11430
+ }
11431
+ @media (min-width: 768px) {
11397
11432
  .ctc-card {
11398
- margin-inline: 0;
11433
+ padding: 1.5rem;
11399
11434
  }
11400
- .ctc-container {
11401
- display: grid;
11402
- grid-template-columns: minmax(0, 1fr) minmax(20rem, 28rem);
11403
- align-items: start;
11404
- gap: var(--spacing-48);
11435
+ .ctc-widget {
11436
+ margin: 0;
11437
+ padding: 1.5rem;
11438
+ border-radius: 1.125rem;
11405
11439
  }
11406
- .ctc-header {
11407
- padding-top: var(--spacing-24);
11440
+ }
11441
+ @media (min-width: 992px) {
11442
+ .ctc-card {
11443
+ margin-inline: 0;
11444
+ max-width: none;
11408
11445
  }
11409
11446
  }
11410
- .ctc-status {
11447
+ .ctc-status:not(.ctc-status--warn):not(.ctc-status--error) {
11448
+ position: absolute;
11449
+ width: 1px;
11450
+ height: 1px;
11451
+ padding: 0;
11452
+ margin: -1px;
11453
+ overflow: hidden;
11454
+ clip: rect(0, 0, 0, 0);
11455
+ white-space: nowrap;
11456
+ border: 0;
11457
+ }
11458
+ .ctc-status--warn,
11459
+ .ctc-status--error {
11411
11460
  display: inline-flex;
11412
11461
  align-items: center;
11413
11462
  gap: var(--spacing-8);
11414
- color: var(--text-secondary);
11415
- font-size: var(--font-size-75, 0.75rem);
11463
+ margin-bottom: 0.75rem;
11464
+ color: var(--ctc-ink-3);
11465
+ font-size: 0.75rem;
11416
11466
  }
11417
11467
  .ctc-status-dot {
11418
11468
  width: 0.5rem;
11419
11469
  height: 0.5rem;
11420
11470
  border-radius: 999px;
11421
- background: var(--color-slate-200);
11422
- }
11423
- .ctc-status--live .ctc-status-dot {
11424
- background: var(--color-green-500, #00a76a);
11425
- box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-green-500, #00a76a) 18%, transparent);
11471
+ background: var(--color-slate-200, #c2c2c2);
11426
11472
  }
11427
11473
  .ctc-status--warn .ctc-status-dot {
11428
11474
  background: var(--color-orange-500, #ff8c00);
11429
11475
  }
11430
11476
  .ctc-status--error .ctc-status-dot {
11431
- background: var(--color-coral-600, #ff444f);
11432
- }
11433
- .ctc-seg {
11434
- display: inline-flex;
11435
- width: 100%;
11436
- padding: var(--spacing-4);
11437
- border-radius: 999px;
11438
- background: var(--color-slate-100, #f1f2f6);
11439
- }
11440
- .ctc-seg__btn {
11441
- flex: 1;
11442
- appearance: none;
11443
- border: 0;
11444
- background: transparent;
11445
- color: var(--text-secondary);
11446
- font: inherit;
11447
- font-weight: 600;
11448
- padding: var(--spacing-8) var(--spacing-16);
11449
- border-radius: 999px;
11450
- cursor: pointer;
11451
- min-height: 2.5rem;
11452
- }
11453
- .ctc-seg__btn.is-active.is-buy {
11454
- background: var(--color-green-500, #00c390);
11455
- color: var(--color-white, #fff);
11456
- }
11457
- .ctc-seg__btn.is-active.is-sell {
11458
- background: var(--color-coral-600, #de0040);
11459
- color: var(--color-white, #fff);
11460
- }
11461
- .ctc-seg__btn:focus-visible {
11462
- outline: 2px solid var(--color-blue-500, #1677ff);
11463
- outline-offset: 2px;
11477
+ background: var(--ctc-sell);
11464
11478
  }
11465
11479
  .ctc-pair {
11466
11480
  position: relative;
@@ -11469,140 +11483,342 @@
11469
11483
  width: 100%;
11470
11484
  display: flex;
11471
11485
  align-items: center;
11472
- gap: var(--spacing-12);
11473
- padding: var(--spacing-12) var(--spacing-16);
11474
- border: 1px solid var(--color-slate-100, #e6e9ec);
11475
- border-radius: var(--radius-xl, 0.75rem);
11476
- background: var(--color-white, #fff);
11486
+ gap: 0.6875rem;
11487
+ padding: 0.6875rem 0.8125rem;
11488
+ border: 1px solid var(--ctc-line);
11489
+ border-radius: 0.625rem;
11490
+ background: #fff;
11477
11491
  cursor: pointer;
11478
11492
  text-align: left;
11479
11493
  font: inherit;
11480
- color: var(--text-primary);
11494
+ color: inherit;
11495
+ }
11496
+ @media (min-width: 768px) {
11497
+ .ctc-pair__button {
11498
+ padding: 0.875rem 1rem;
11499
+ }
11481
11500
  }
11482
11501
  .ctc-pair__button:disabled {
11483
11502
  cursor: not-allowed;
11484
11503
  opacity: 0.7;
11485
11504
  }
11486
11505
  .ctc-pair__button:focus-visible {
11487
- outline: 2px solid var(--color-blue-500, #1677ff);
11488
- outline-offset: 2px;
11506
+ outline: 2px solid var(--ctc-sell);
11507
+ outline-offset: 3px;
11489
11508
  }
11490
11509
  .ctc-avatar {
11491
- width: 2rem;
11492
- height: 2rem;
11510
+ width: 1.875rem;
11511
+ height: 1.875rem;
11493
11512
  border-radius: 999px;
11494
11513
  object-fit: cover;
11495
- flex: 0 0 2rem;
11496
- background: var(--color-slate-100);
11514
+ flex: 0 0 1.875rem;
11515
+ background: #8c95a3;
11497
11516
  }
11498
11517
  .ctc-avatar--fallback {
11499
11518
  display: inline-grid;
11500
11519
  place-items: center;
11501
11520
  font-size: 0.625rem;
11502
11521
  font-weight: 800;
11503
- color: var(--color-white, #fff);
11504
- background: var(--color-slate-400);
11522
+ letter-spacing: -0.02em;
11523
+ color: #fff;
11505
11524
  }
11506
11525
  .ctc-pair__meta {
11507
11526
  display: flex;
11508
11527
  flex-direction: column;
11509
- gap: 0.125rem;
11528
+ gap: 0;
11510
11529
  min-width: 0;
11511
11530
  flex: 1;
11531
+ line-height: 1.3;
11532
+ text-align: left;
11512
11533
  }
11513
11534
  .ctc-pair__name {
11514
- font-weight: 700;
11535
+ display: block;
11536
+ font-size: 0.9375rem;
11537
+ font-weight: 800;
11538
+ color: var(--ctc-ink);
11515
11539
  }
11516
11540
  .ctc-pair__price {
11517
- color: var(--text-secondary);
11518
- font-size: var(--font-size-75, 0.75rem);
11541
+ font-size: 0.78125rem;
11542
+ color: var(--ctc-ink-3);
11519
11543
  font-variant-numeric: tabular-nums;
11520
11544
  }
11521
11545
  .ctc-pair__chevron {
11522
- color: var(--text-secondary);
11546
+ flex: 0 0 auto;
11547
+ color: var(--ctc-ink-3);
11548
+ transition: transform 0.22s var(--ctc-ease);
11549
+ }
11550
+ .ctc-pair__button[aria-expanded=true] .ctc-pair__chevron {
11551
+ transform: rotate(180deg);
11552
+ }
11553
+ .ctc-change {
11554
+ font-weight: 700;
11523
11555
  }
11524
11556
  .ctc-change--up {
11525
- color: var(--color-green-600, #00a76a);
11557
+ color: var(--ctc-up);
11526
11558
  }
11527
11559
  .ctc-change--down {
11528
- color: var(--color-coral-600, #e5303b);
11560
+ color: var(--ctc-down);
11529
11561
  }
11530
11562
  .ctc-listbox {
11531
11563
  position: absolute;
11532
- z-index: 5;
11533
- top: calc(100% + 0.5rem);
11564
+ z-index: 20;
11565
+ top: calc(100% + 0.375rem);
11534
11566
  left: 0;
11535
11567
  right: 0;
11536
11568
  max-height: 16rem;
11537
11569
  overflow: auto;
11538
11570
  margin: 0;
11539
- padding: var(--spacing-8);
11571
+ padding: 0;
11540
11572
  list-style: none;
11541
- background: var(--color-white, #fff);
11542
- border: 1px solid var(--color-slate-100, #e6e9ec);
11543
- border-radius: var(--radius-xl, 0.75rem);
11544
- box-shadow: var(--shadow-md, var(--shadow-sm));
11573
+ background: #fff;
11574
+ border: 1px solid var(--ctc-line);
11575
+ border-radius: 0.875rem;
11576
+ box-shadow: 0 8px 32px rgba(12, 17, 27, 0.18);
11577
+ }
11578
+ .ctc-listbox__header {
11579
+ display: flex;
11580
+ align-items: center;
11581
+ justify-content: space-between;
11582
+ padding: 0.75rem 0.875rem 0.625rem;
11583
+ border-bottom: 1px solid var(--ctc-line-2);
11584
+ font-weight: 800;
11585
+ font-size: 0.875rem;
11586
+ letter-spacing: -0.02em;
11587
+ color: var(--ctc-ink);
11545
11588
  }
11546
11589
  .ctc-option {
11547
11590
  display: flex;
11548
11591
  align-items: center;
11549
- gap: var(--spacing-12);
11550
- padding: var(--spacing-8) var(--spacing-12);
11551
- border-radius: var(--radius-lg, 0.5rem);
11592
+ gap: 0.625rem;
11593
+ padding: 0.625rem 0.875rem;
11594
+ border-bottom: 1px solid var(--ctc-line-2);
11552
11595
  cursor: pointer;
11553
11596
  }
11597
+ .ctc-option:last-child {
11598
+ border-bottom: 0;
11599
+ }
11554
11600
  .ctc-option.is-active,
11555
11601
  .ctc-option:hover {
11556
- background: var(--color-slate-50, #f6f7f8);
11602
+ background: var(--ctc-bg-2);
11557
11603
  }
11558
11604
  .ctc-option__text {
11559
11605
  display: flex;
11560
11606
  flex-direction: column;
11561
11607
  min-width: 0;
11562
11608
  flex: 1;
11609
+ line-height: 1.3;
11563
11610
  }
11564
11611
  .ctc-option__name {
11612
+ font-size: 0.875rem;
11565
11613
  font-weight: 700;
11614
+ color: var(--ctc-ink);
11566
11615
  }
11567
11616
  .ctc-option__sub {
11568
- color: var(--text-secondary);
11569
- font-size: var(--font-size-75, 0.75rem);
11617
+ color: var(--ctc-ink-3);
11618
+ font-size: 0.71875rem;
11570
11619
  }
11571
11620
  .ctc-option__stats {
11572
11621
  display: flex;
11573
11622
  flex-direction: column;
11574
11623
  align-items: flex-end;
11575
- gap: 0.125rem;
11624
+ gap: 0;
11625
+ line-height: 1.3;
11576
11626
  font-variant-numeric: tabular-nums;
11577
- font-size: var(--font-size-75, 0.75rem);
11627
+ flex: 0 0 auto;
11628
+ }
11629
+ .ctc-option__stats > span:first-child {
11630
+ font-size: 0.8125rem;
11631
+ font-weight: 600;
11632
+ color: var(--ctc-ink);
11633
+ }
11634
+ .ctc-option__stats .ctc-change {
11635
+ font-size: 0.71875rem;
11636
+ }
11637
+ .ctc-seg {
11638
+ display: flex;
11639
+ width: 100%;
11640
+ margin-top: 0.75rem;
11641
+ padding: 0.25rem;
11642
+ gap: 0.25rem;
11643
+ border-radius: 0.6875rem;
11644
+ background: var(--ctc-seg-bg);
11645
+ box-sizing: border-box;
11646
+ }
11647
+ .ctc-seg__btn {
11648
+ flex: 1;
11649
+ appearance: none;
11650
+ border: 0;
11651
+ background: transparent;
11652
+ color: var(--ctc-ink-3);
11653
+ font: inherit;
11654
+ font-weight: 800;
11655
+ font-size: 0.875rem;
11656
+ padding: 0.5625rem;
11657
+ border-radius: 0.5rem;
11658
+ cursor: pointer;
11659
+ min-height: 2.5rem;
11660
+ box-shadow: none;
11661
+ transition: background 0.18s, color 0.18s;
11662
+ }
11663
+ @media (min-width: 768px) {
11664
+ .ctc-seg__btn {
11665
+ min-height: 2.875rem;
11666
+ font-size: 0.9375rem;
11667
+ }
11668
+ }
11669
+ .ctc-seg__btn.is-active {
11670
+ background: #fff;
11671
+ box-shadow: 0 1px 3px rgba(12, 17, 27, 0.14);
11672
+ }
11673
+ .ctc-seg__btn.is-active.is-buy {
11674
+ color: var(--ctc-buy);
11675
+ }
11676
+ .ctc-seg__btn.is-active.is-sell {
11677
+ color: var(--ctc-sell);
11678
+ }
11679
+ .ctc-seg__btn:focus-visible {
11680
+ outline: 2px solid var(--ctc-sell);
11681
+ outline-offset: 3px;
11578
11682
  }
11579
11683
  .ctc-fields {
11684
+ display: grid;
11685
+ gap: 0.625rem;
11686
+ margin-top: 0.75rem;
11687
+ }
11688
+ .ctc-amount {
11689
+ display: block;
11690
+ background: #fff;
11691
+ border: 1px solid var(--ctc-line);
11692
+ border-radius: 0.75rem;
11693
+ padding: 0.75rem 0.875rem;
11694
+ transition: box-shadow 0.2s var(--ctc-ease), border-color 0.2s var(--ctc-ease);
11695
+ box-sizing: border-box;
11696
+ }
11697
+ @media (min-width: 768px) {
11698
+ .ctc-amount {
11699
+ padding: 0.9375rem 1rem;
11700
+ }
11701
+ }
11702
+ .ctc-amount:focus-within {
11703
+ border-color: var(--ctc-ink-3);
11704
+ box-shadow: 0 0 0 3px rgba(24, 28, 37, 0.06);
11705
+ }
11706
+ .ctc-amount.is-invalid {
11707
+ border-color: var(--ctc-sell);
11708
+ }
11709
+ .ctc-amount__label {
11710
+ display: block;
11711
+ font-size: 0.75rem;
11712
+ font-weight: 700;
11713
+ color: var(--ctc-ink-3);
11714
+ margin-bottom: 0.375rem;
11715
+ }
11716
+ .ctc-amount__row {
11580
11717
  display: flex;
11581
- flex-direction: column;
11582
- gap: var(--spacing-12);
11718
+ align-items: center;
11719
+ gap: 0.75rem;
11583
11720
  }
11584
- .ctc-rate {
11585
- margin: 0;
11586
- color: var(--text-secondary);
11587
- font-size: var(--font-size-75, 0.75rem);
11721
+ .ctc-amount__input {
11722
+ flex: 1;
11723
+ min-width: 0;
11724
+ width: 100%;
11725
+ border: 0;
11726
+ background: transparent;
11727
+ font: inherit;
11728
+ font-size: 1.125rem;
11729
+ font-weight: 700;
11730
+ color: var(--ctc-ink);
11731
+ padding: 0;
11732
+ outline: none;
11733
+ }
11734
+ @media (min-width: 768px) {
11735
+ .ctc-amount__input {
11736
+ font-size: 1.375rem;
11737
+ }
11738
+ }
11739
+ .ctc-amount__input::placeholder {
11740
+ color: var(--ctc-ink-3);
11741
+ font-weight: 700;
11742
+ opacity: 1;
11743
+ }
11744
+ .ctc-amount__unit {
11745
+ flex: 0 0 auto;
11746
+ display: inline-flex;
11747
+ align-items: center;
11748
+ justify-content: center;
11749
+ min-width: 4.25rem;
11750
+ background: var(--ctc-bg-2);
11751
+ border: 1px solid var(--ctc-line);
11752
+ border-radius: 0.5rem;
11753
+ padding: 0.4375rem 0.625rem;
11754
+ font-size: 0.8125rem;
11755
+ font-weight: 800;
11756
+ color: var(--ctc-ink);
11757
+ }
11758
+ .ctc-amount__meta {
11759
+ display: block;
11760
+ margin-top: 0.375rem;
11761
+ font-size: 0.75rem;
11762
+ color: var(--ctc-ink-3);
11763
+ font-variant-numeric: tabular-nums;
11588
11764
  }
11589
11765
  .ctc-error {
11590
- margin: 0;
11591
- color: var(--color-coral-600, #e5303b);
11592
- font-size: var(--font-size-75, 0.75rem);
11766
+ margin: 0.5rem 0 0;
11767
+ color: var(--ctc-sell);
11768
+ font-size: 0.75rem;
11593
11769
  }
11770
+ .ctc-cta {
11771
+ margin-top: 0.875rem;
11772
+ }
11773
+ .ctc-cta__btn,
11594
11774
  .ctc-cta-link {
11595
- display: block;
11775
+ display: flex;
11776
+ align-items: center;
11777
+ justify-content: center;
11778
+ width: 100%;
11779
+ box-sizing: border-box;
11780
+ color: #fff;
11781
+ font: inherit;
11782
+ font-weight: 800;
11783
+ font-size: 1rem;
11784
+ border: 0;
11785
+ border-radius: 999px;
11786
+ padding: 0.875rem;
11787
+ min-height: 3.25rem;
11596
11788
  text-decoration: none;
11789
+ cursor: pointer;
11790
+ transition: background 0.2s;
11791
+ background: var(--ctc-buy);
11597
11792
  }
11598
- .ctc-cta-link .btn,
11599
- .ctc-cta-link button {
11600
- pointer-events: none;
11793
+ @media (min-width: 768px) {
11794
+ .ctc-cta__btn,
11795
+ .ctc-cta-link {
11796
+ min-height: 3.5rem;
11797
+ font-size: 1.0625rem;
11798
+ }
11799
+ }
11800
+ .ctc-cta__btn.is-sell,
11801
+ .ctc-cta-link.is-sell {
11802
+ background: var(--ctc-sell);
11803
+ }
11804
+ .ctc-cta__btn:disabled,
11805
+ .ctc-cta__btn[aria-disabled=true] {
11806
+ opacity: 0.55;
11807
+ cursor: not-allowed;
11808
+ }
11809
+ .ctc-cta__btn:focus-visible,
11810
+ .ctc-cta-link:focus-visible {
11811
+ outline: 2px solid var(--ctc-sell);
11812
+ outline-offset: 3px;
11601
11813
  }
11602
11814
  @media (prefers-reduced-motion: reduce) {
11603
11815
  .ctc-seg__btn,
11604
11816
  .ctc-pair__button,
11605
- .ctc-option {
11817
+ .ctc-pair__chevron,
11818
+ .ctc-option,
11819
+ .ctc-amount,
11820
+ .ctc-cta__btn,
11821
+ .ctc-cta-link {
11606
11822
  transition: none;
11607
11823
  }
11608
11824
  }
@@ -11617,7 +11833,7 @@
11617
11833
  .cmt-container {
11618
11834
  display: flex;
11619
11835
  flex-direction: column;
11620
- gap: var(--spacing-24);
11836
+ gap: var(--spacing-48);
11621
11837
  max-width: var(--content-width-1280);
11622
11838
  margin: 0 auto;
11623
11839
  padding: var(--spacing-56) var(--spacing-16);