@transferwise/components 0.0.0-experimental-1ce161b → 0.0.0-experimental-1fdcf13

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 (38) hide show
  1. package/build/main.css +210 -210
  2. package/build/styles/main.css +210 -210
  3. package/build/styles/uploadInput/UploadInput.css +13 -81
  4. package/build/styles/uploadInput/uploadButton/UploadButton.css +78 -31
  5. package/build/styles/uploadInput/uploadItem/UploadItem.css +130 -109
  6. package/build/types/uploadInput/UploadInput.d.ts.map +1 -1
  7. package/build/types/uploadInput/uploadButton/UploadButton.d.ts.map +1 -1
  8. package/build/types/uploadInput/uploadItem/UploadItem.d.ts.map +1 -1
  9. package/build/types/uploadInput/uploadItem/UploadItemLink.d.ts.map +1 -1
  10. package/build/uploadInput/UploadInput.js +28 -20
  11. package/build/uploadInput/UploadInput.js.map +1 -1
  12. package/build/uploadInput/UploadInput.mjs +28 -20
  13. package/build/uploadInput/UploadInput.mjs.map +1 -1
  14. package/build/uploadInput/uploadButton/UploadButton.js +23 -31
  15. package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
  16. package/build/uploadInput/uploadButton/UploadButton.mjs +23 -31
  17. package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
  18. package/build/uploadInput/uploadItem/UploadItem.js +33 -36
  19. package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
  20. package/build/uploadInput/uploadItem/UploadItem.mjs +33 -36
  21. package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
  22. package/build/uploadInput/uploadItem/UploadItemLink.js +2 -1
  23. package/build/uploadInput/uploadItem/UploadItemLink.js.map +1 -1
  24. package/build/uploadInput/uploadItem/UploadItemLink.mjs +2 -1
  25. package/build/uploadInput/uploadItem/UploadItemLink.mjs.map +1 -1
  26. package/package.json +3 -3
  27. package/src/main.css +210 -210
  28. package/src/uploadInput/UploadInput.css +13 -81
  29. package/src/uploadInput/UploadInput.less +17 -79
  30. package/src/uploadInput/UploadInput.tests.story.tsx +7 -2
  31. package/src/uploadInput/UploadInput.tsx +40 -32
  32. package/src/uploadInput/uploadButton/UploadButton.css +78 -31
  33. package/src/uploadInput/uploadButton/UploadButton.less +78 -35
  34. package/src/uploadInput/uploadButton/UploadButton.tsx +28 -25
  35. package/src/uploadInput/uploadItem/UploadItem.css +130 -109
  36. package/src/uploadInput/uploadItem/UploadItem.less +129 -118
  37. package/src/uploadInput/uploadItem/UploadItem.tsx +24 -25
  38. package/src/uploadInput/uploadItem/UploadItemLink.tsx +10 -3
package/build/main.css CHANGED
@@ -5478,280 +5478,280 @@ html:not([dir="rtl"]) .np-navigation-option {
5478
5478
  .upload-error-message .alert {
5479
5479
  min-width: 100px;
5480
5480
  }
5481
- .np-upload-button-container {
5482
- border-style: solid;
5483
- }
5484
- .np-upload-button-container .droppable-card-content {
5481
+ .np-upload-input__upload-button {
5482
+ position: relative;
5483
+ padding: 16px;
5484
+ padding: var(--size-16);
5485
5485
  display: flex;
5486
+ align-items: center;
5487
+ margin: 0;
5488
+ border-bottom-left-radius: 10px;
5489
+ border-bottom-left-radius: var(--radius-small);
5490
+ border-bottom-right-radius: 10px;
5491
+ border-bottom-right-radius: var(--radius-small);
5492
+ border: var(--outerBorder);
5493
+ cursor: pointer;
5486
5494
  }
5487
- .np-upload-button-container.droppable-dropping {
5488
- border-color: #c9cbce !important;
5489
- border-color: var(--color-interactive-secondary) !important;
5495
+ .np-upload-input__upload-button .np-upload-input__title {
5496
+ color: var(--color-content-link);
5497
+ -webkit-text-decoration: underline;
5498
+ text-decoration: underline;
5499
+ text-underline-offset: 0.3em;
5490
5500
  }
5491
- .np-upload-button-container.droppable-dropping:before {
5492
- z-index: 2;
5501
+ .np-upload-input__upload-button .np-upload-input__title + .np-upload-input__text {
5502
+ margin-top: 4px;
5503
+ margin-top: var(--size-4);
5504
+ line-height: 22px;
5505
+ }
5506
+ .np-upload-input__upload-button .np-upload-input__icon {
5507
+ padding-right: 16px;
5508
+ padding-right: var(--size-16);
5509
+ color: var(--color-interactive-primary);
5510
+ }
5511
+ .np-upload-input__upload-button.is-dropping .np-upload-input__icon,
5512
+ .np-upload-input__upload-button.is-dropping .np-upload-input__item-content {
5513
+ display: none;
5514
+ }
5515
+ .np-upload-input__upload-button:focus-within,
5516
+ .np-upload-input__upload-button:focus-visible {
5517
+ outline: var(--ring-outline-color) solid 3px;
5518
+ outline-offset: -3px;
5493
5519
  }
5494
- .np-upload-button-container input[type="file"] {
5520
+ .np-upload-input__upload-button-input {
5521
+ position: absolute;
5495
5522
  opacity: 0;
5496
5523
  z-index: -1;
5524
+ }
5525
+ .np-upload-input__upload-button-input:focus {
5526
+ outline: none;
5527
+ }
5528
+ .np-upload-input__upload-button .np-upload-input__drop-file-overlay {
5529
+ display: flex;
5530
+ flex: 1;
5531
+ padding: 13px 0 !important;
5532
+ background-color: transparent;
5533
+ transition: transform 0.3s ease;
5534
+ position: relative;
5535
+ }
5536
+ .np-upload-input__upload-button--with-entries {
5537
+ border-top-width: 0;
5538
+ }
5539
+ .np-upload-input__upload-button--with-entries:before {
5540
+ display: block;
5497
5541
  position: absolute;
5542
+ height: 1px;
5543
+ background-color: rgba(0,0,0,0.10196);
5544
+ background-color: var(--color-border-neutral);
5545
+ content: " ";
5546
+ left: 16px;
5547
+ left: var(--size-16);
5548
+ width: calc(100% - 2 * 16px);
5549
+ width: calc(100% - 2 * var(--size-16));
5550
+ top: 0;
5498
5551
  }
5499
- .np-upload-button-container .np-upload-button {
5500
- border: none;
5552
+ .np-upload-input__upload-button--without-entries {
5553
+ border-top: var(--outerBorder);
5554
+ border-radius: 10px;
5555
+ border-radius: var(--radius-small);
5556
+ }
5557
+ .np-upload-input__upload-button--enabled.is-dropping,
5558
+ .np-upload-input__upload-button--enabled:hover,
5559
+ .np-upload-input__upload-button--enabled:active {
5560
+ background: rgba(134,167,189,0.10196);
5561
+ background: var(--color-background-neutral);
5501
5562
  }
5502
- .np-upload-button {
5563
+ .np-upload-input__upload-button--enabled.is-dropping:before,
5564
+ .np-upload-input__upload-button--enabled:hover:before,
5565
+ .np-upload-input__upload-button--enabled:active:before {
5503
5566
  width: 100%;
5504
- border-top: 1px solid transparent;
5505
- padding: 16px;
5506
- padding: var(--padding-small);
5507
- border-radius: 0;
5567
+ left: 0;
5508
5568
  }
5509
- label.np-upload-button:not(.disabled):hover,
5510
- label.np-upload-button:not(.disabled):active {
5511
- background-color: var(--color-background-screen-hover);
5569
+ .np-upload-input__upload-button--disabled {
5570
+ cursor: inherit;
5512
5571
  }
5513
- .disabled label.np-upload-button:not(.disabled):hover,
5514
- .disabled label.np-upload-button:not(.disabled):active {
5515
- background-color: transparent;
5572
+ .np-upload-input {
5573
+ --outerBorder: 1px solid var(--color-interactive-secondary);
5574
+ border-radius: 10px;
5575
+ border-radius: var(--radius-small);
5516
5576
  }
5517
- .np-upload-button .media {
5518
- align-items: flex-start;
5577
+ .np-upload-input .np-upload-input__section {
5578
+ margin: 0;
5519
5579
  }
5520
- @media (max-width: 320px) {
5521
- .np-upload-icon {
5522
- padding-left: 0;
5523
- }
5580
+ .np-upload-input .np-upload-input__section:only-child .np-upload-input__item {
5581
+ border-radius: 10px;
5582
+ border-radius: var(--radius-small);
5583
+ border-bottom: var(--outerBorder);
5524
5584
  }
5525
- .np-upload-input.form-control {
5526
- height: auto;
5527
- padding: 0;
5528
- padding: initial;
5585
+ .np-upload-input .np-upload-input__section:has(.np-upload-input__item:last-child.is-interactive:hover) + .np-upload-input__section--uploader .np-upload-input__upload-button::before {
5586
+ left: 0;
5587
+ width: 100%;
5588
+ top: 0;
5529
5589
  }
5530
- .np-upload-input > div:first-child,
5531
- .np-upload-input > div:first-child .np-upload-item--single-file,
5532
- .np-upload-input > div:first-child .np-upload-item--link {
5590
+ .np-upload-input__item {
5591
+ position: relative;
5592
+ padding: 16px;
5593
+ padding: var(--size-16);
5594
+ display: flex;
5595
+ align-items: flex-start;
5596
+ border-left: var(--outerBorder);
5597
+ border-right: var(--outerBorder);
5598
+ }
5599
+ .np-upload-input__item:first-child {
5600
+ border-top: var(--outerBorder);
5533
5601
  border-top-left-radius: 10px;
5534
5602
  border-top-left-radius: var(--radius-small);
5535
5603
  border-top-right-radius: 10px;
5536
5604
  border-top-right-radius: var(--radius-small);
5537
5605
  }
5538
- .np-upload-input > div:last-child {
5539
- border-bottom-left-radius: 10px;
5540
- border-bottom-left-radius: var(--radius-small);
5541
- border-bottom-right-radius: 10px;
5542
- border-bottom-right-radius: var(--radius-small);
5543
- }
5544
- .np-theme-personal .np-upload-input.disabled .btn {
5545
- cursor: inherit;
5546
- }
5547
- .np-theme-personal .np-upload-input .np-upload-icon {
5548
- color: var(--color-interactive-primary);
5606
+ .np-upload-input__item + .np-upload-input__item:before {
5607
+ content: " ";
5608
+ display: block;
5609
+ position: absolute;
5610
+ height: 1px;
5611
+ left: 16px;
5612
+ left: var(--size-16);
5613
+ width: calc(100% - 2 * 16px);
5614
+ width: calc(100% - 2 * var(--size-16));
5615
+ top: 0;
5616
+ background: rgba(0,0,0,0.10196);
5617
+ background: var(--color-border-neutral);
5549
5618
  }
5550
- .np-theme-personal .np-upload-input .media-body {
5619
+ .np-upload-input__item .np-upload-input__item-content {
5551
5620
  padding-right: 32px;
5552
5621
  padding-right: var(--size-32);
5553
- color: var(--color-content-link);
5554
- white-space: break-spaces;
5622
+ flex: 1;
5555
5623
  }
5556
5624
  @media (max-width: 320px) {
5557
- .np-theme-personal .np-upload-input .media-body {
5625
+ .np-upload-input__item .np-upload-input__item-content {
5558
5626
  padding-right: 64px;
5559
5627
  padding-right: var(--size-64);
5560
5628
  }
5561
5629
  }
5562
- .np-theme-personal .np-upload-input .media-body .np-text-body-large-bold {
5563
- -webkit-text-decoration: underline;
5564
- text-decoration: underline;
5565
- text-underline-offset: 0.3em;
5566
- }
5567
- .np-theme-personal .np-upload-input .media-body .np-text-body-default,
5568
- .np-theme-personal .np-upload-input .media-body .np-upload-description,
5569
- .np-theme-personal .np-upload-input .media-body .text-positive {
5570
- color: #5d7079 !important;
5571
- color: var(--color-content-secondary) !important;
5572
- }
5573
- .np-theme-personal .np-upload-input .media-body .text-negative {
5574
- color: var(--color-sentiment-negative) !important;
5630
+ .np-upload-input__item .np-upload-input__title,
5631
+ .np-upload-input__item .np-upload-input__text {
5632
+ margin: 0;
5633
+ -moz-text-align-last: left;
5634
+ text-align-last: left;
5635
+ color: #5d7079;
5636
+ color: var(--color-content-secondary);
5575
5637
  }
5576
- .np-theme-personal .np-upload-input-errors {
5577
- list-style: none;
5578
- padding-left: 0;
5638
+ .np-upload-input__item .np-upload-input__title + .np-upload-input__text {
5639
+ margin-top: 4px;
5640
+ margin-top: var(--size-4);
5579
5641
  }
5580
- .np-theme-personal .np-upload-input-errors li {
5581
- position: relative;
5582
- padding-left: 16px;
5583
- padding-left: var(--size-16);
5642
+ .np-upload-input__item .np-upload-input__icon {
5643
+ padding-right: 16px;
5644
+ padding-right: var(--size-16);
5584
5645
  }
5585
- @media (max-width: 320px) {
5586
- .np-theme-personal .np-upload-input-errors li {
5587
- padding-left: 32px;
5588
- padding-left: var(--size-32);
5589
- }
5646
+ .np-upload-input__item .np-upload-input__item-link,
5647
+ .np-upload-input__item .np-upload-input__item-container {
5648
+ align-items: flex-start;
5649
+ display: flex;
5650
+ width: 100%;
5590
5651
  }
5591
- .np-theme-personal .np-upload-input-errors li:before {
5592
- content: '•';
5652
+ .np-upload-input__item .np-upload-input__item-action {
5653
+ --iconSize: var(--size-24);
5654
+ --clickAreaSize: 44px;
5655
+ --buttonTopRightOffset: var(--size-16);
5656
+ --clickAreaTopRightOffset: calc((var(--clickAreaSize) - var(--iconSize)) * -0.5);
5593
5657
  position: absolute;
5594
- display: block;
5595
- left: 0;
5596
- }
5597
- .np-theme-personal .np-upload-input .status-circle {
5598
- width: 24px;
5599
- width: var(--size-x-small);
5600
- height: 24px;
5601
- height: var(--size-x-small);
5658
+ right: 16px;
5659
+ right: var(--buttonTopRightOffset);
5660
+ top: 16px;
5661
+ top: var(--buttonTopRightOffset);
5602
5662
  }
5603
5663
  @media (max-width: 320px) {
5604
- .np-theme-personal .np-upload-input .status-circle {
5605
- width: 48px;
5606
- width: var(--size-large);
5607
- height: 48px;
5608
- height: var(--size-large);
5664
+ .np-upload-input__item .np-upload-input__item-action {
5665
+ --iconSize: var(--size-48);
5666
+ --clickAreaTopRightOffset: calc(-1 * var(--buttonTopRightOffset));
5609
5667
  }
5610
5668
  }
5611
- .np-upload-item {
5612
- border: 1px solid #c9cbce;
5613
- border: 1px solid var(--color-interactive-secondary);
5614
- position: relative;
5669
+ .np-upload-input__item .np-upload-input__item-action .np-upload-input__item-button {
5670
+ -webkit-appearance: none;
5671
+ -moz-appearance: none;
5672
+ appearance: none;
5673
+ height: var(--iconSize);
5674
+ width: var(--iconSize);
5675
+ padding: 0 4px;
5676
+ padding: 0 var(--size-4);
5677
+ border-radius: 50%;
5678
+ border: 0;
5679
+ background-color: rgba(134,167,189,0.10196);
5680
+ background-color: var(--color-background-neutral);
5681
+ color: var(--color-interactive-primary);
5682
+ transition: color, background-color 0.15s ease-in-out;
5683
+ outline-offset: 0;
5684
+ display: flex;
5685
+ align-items: center;
5686
+ justify-content: center;
5615
5687
  }
5616
- .np-upload-item:first-child ~ div:not(.np-upload-item--link):before,
5617
- .np-upload-item:not(:first-child).np-upload-item--link .np-upload-item__link:before,
5618
- .np-upload-item.np-upload-item--link:hover .np-upload-item__link:after {
5688
+ .np-upload-input__item .np-upload-input__item-action .np-upload-input__item-button:before {
5689
+ content: '';
5619
5690
  display: block;
5691
+ width: var(--clickAreaSize);
5692
+ height: var(--clickAreaSize);
5693
+ border-radius: 50%;
5620
5694
  position: absolute;
5621
- height: 1px;
5622
- background-color: rgba(0,0,0,0.10196);
5623
- background-color: var(--color-border-neutral);
5624
- content: " ";
5625
- left: 16px;
5626
- left: var(--size-16);
5627
- width: calc(100% - 2 * 16px);
5628
- width: calc(100% - 2 * var(--size-16));
5695
+ top: var(--clickAreaTopRightOffset);
5696
+ right: var(--clickAreaTopRightOffset);
5629
5697
  }
5630
- .np-upload-item:first-child ~ div:not(.np-upload-item--link):before,
5631
- .np-upload-item:not(:first-child).np-upload-item--link .np-upload-item__link:before {
5632
- top: 0;
5633
- }
5634
- .np-upload-item.np-upload-item--link:hover .np-upload-item__link:after {
5635
- bottom: -1px;
5636
- }
5637
- .np-upload-item:first-child ~ div {
5638
- border-top: 1px;
5639
- }
5640
- .np-upload-item:not(:first-child) .np-upload-item__link:hover {
5641
- border-top-color: rgba(0,0,0,0.10196);
5642
- border-top-color: var(--color-border-neutral);
5643
- }
5644
- .np-upload-item:not(:last-child) {
5645
- border-bottom: 0;
5646
- }
5647
- .np-upload-item.np-upload-item--link:hover + .np-upload-item:before,
5648
- .np-upload-item.np-upload-item--link:hover + .np-upload-button-container:before,
5649
- .np-upload-item.np-upload-item--link:hover + .np-upload-item .np-upload-item__link:before,
5650
- .np-upload-item.np-upload-item--link:hover + .np-upload-button-container .np-upload-item__link:before {
5651
- display: none;
5698
+ .np-upload-input__item .np-upload-input__item-action .np-upload-input__item-button:hover {
5699
+ background-color: var(--color-sentiment-negative);
5700
+ color: var(--color-contrast-overlay) !important;
5652
5701
  }
5653
- .np-upload-button-container:hover:before,
5654
- .np-upload-button-container.droppable-dropping:before {
5655
- left: 0 !important;
5656
- width: 100% !important;
5702
+ .np-upload-input__item .np-upload-input__item-action .np-upload-input__item-button:active {
5703
+ background-color: var(--color-background-neutral-active);
5657
5704
  }
5658
- .np-upload-button-container:has(:focus-visible) {
5659
- outline: var(--ring-outline-color) solid var(--ring-outline-width);
5660
- outline-offset: var(--ring-outline-offset);
5661
- border-color: transparent;
5662
- outline-offset: -3px;
5705
+ .np-upload-input__item.is-interactive {
5706
+ padding: 0;
5663
5707
  }
5664
- .np-upload-item--single-file:focus-visible,
5665
- .np-upload-item__link:focus-visible,
5666
- .np-upload-button-container:has(:focus-visible) {
5667
- outline-width: 3px;
5708
+ .np-upload-input__item.is-interactive:hover:not(:has(.np-upload-input__item-button:hover)):before,
5709
+ .np-upload-input__item.is-interactive:hover:not(:has(.np-upload-input__item-button:hover)) + .np-upload-input__item:before {
5710
+ width: 100%;
5711
+ left: 0;
5668
5712
  }
5669
- .np-upload-item--link a {
5670
- flex: 1;
5713
+ .np-upload-input__item.is-interactive .np-upload-input__item-link {
5714
+ padding: 16px;
5715
+ padding: var(--size-16);
5671
5716
  -webkit-text-decoration: none;
5672
5717
  text-decoration: none;
5673
- border-top: 1px solid transparent;
5674
5718
  border-radius: inherit;
5719
+ border-top: 1px solid transparent;
5720
+ background-clip: padding-box;
5675
5721
  }
5676
- .np-upload-item--link a:focus-visible {
5722
+ .np-upload-input__item.is-interactive .np-upload-input__item-link:focus-visible {
5677
5723
  outline-offset: -2px;
5724
+ outline-width: 3px;
5678
5725
  }
5679
- .np-upload-item--link a:hover:before {
5680
- display: none !important;
5681
- }
5682
- .np-upload-item--link a:hover:after {
5683
- left: 0 !important;
5684
- width: 100% !important;
5685
- }
5686
- .np-upload-item--link a:hover,
5687
- .np-upload-item--link a:active {
5688
- -webkit-text-decoration: none;
5689
- text-decoration: none;
5690
- }
5691
- .np-upload-item--link a:hover .np-upload-button,
5692
- .np-upload-item--link a:active .np-upload-button {
5726
+ .np-upload-input__item.is-interactive .np-upload-input__item-link:hover,
5727
+ .np-upload-input__item.is-interactive .np-upload-input__item-link:active {
5693
5728
  background-color: rgba(134,167,189,0.10196);
5694
5729
  background-color: var(--color-background-neutral);
5695
- border-radius: inherit;
5696
5730
  }
5697
- .np-upload-item--link:first-of-type a {
5698
- border-top: 0;
5731
+ .np-upload-input__item.is-interactive:first-child .np-upload-input__item-link {
5732
+ border-top-width: 0;
5699
5733
  }
5700
- .np-upload-item__body {
5701
- display: flex;
5702
- align-items: center;
5703
- justify-content: space-between;
5734
+ .np-upload-input__item .np-upload-input-errors {
5735
+ padding-left: 0;
5736
+ list-style-type: "";
5737
+ }
5738
+ .np-upload-input__item .np-upload-input-errors > li {
5704
5739
  position: relative;
5705
- border-radius: inherit;
5740
+ padding-left: 16px;
5741
+ padding-left: var(--size-16);
5706
5742
  }
5707
- .np-upload-item__remove-button {
5708
- display: flex;
5709
- align-items: center;
5710
- justify-content: center;
5711
- align-self: flex-start;
5743
+ .np-upload-input__item .np-upload-input-errors > li::before {
5744
+ content: '•';
5712
5745
  position: absolute;
5713
- height: 24px;
5714
- height: var(--size-24);
5715
- min-height: 0;
5716
- width: 24px;
5717
- width: var(--size-24);
5718
- padding: 0;
5719
- border-radius: 50% !important;
5720
- outline-offset: 0 !important;
5721
- background-color: rgba(134,167,189,0.10196);
5722
- background-color: var(--color-background-neutral);
5723
- border: none;
5724
- color: var(--color-interactive-primary);
5725
- right: 16px;
5726
- right: var(--size-16);
5727
- top: 16px;
5728
- top: var(--size-16);
5729
- transition: color, background-color 0.15s ease-in-out;
5746
+ display: block;
5747
+ left: 0;
5730
5748
  }
5731
5749
  @media (max-width: 320px) {
5732
- .np-upload-item__remove-button {
5733
- top: 16px;
5734
- top: var(--size-16);
5735
- right: 16px;
5736
- right: var(--size-16);
5737
- height: 48px;
5738
- height: var(--size-48);
5739
- width: 48px;
5740
- width: var(--size-48);
5750
+ .np-upload-input__item .np-upload-input-errors > li {
5751
+ padding-left: 32px;
5752
+ padding-left: var(--size-32);
5741
5753
  }
5742
5754
  }
5743
- .np-upload-item__remove-button:hover {
5744
- background-color: var(--color-sentiment-negative);
5745
- color: var(--color-contrast-overlay) !important;
5746
- }
5747
- .np-upload-item__remove-button:before {
5748
- display: block;
5749
- width: 44px;
5750
- height: 44px;
5751
- content: '';
5752
- border-radius: 50%;
5753
- position: absolute;
5754
- }
5755
5755
  .np-progress {
5756
5756
  border-radius: 10px;
5757
5757
  border-radius: var(--radius-small);