@transferwise/components 0.0.0-experimental-371ff27 → 0.0.0-experimental-8496ab9

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 (83) hide show
  1. package/build/circularButton/CircularButton.js +1 -1
  2. package/build/circularButton/CircularButton.js.map +1 -1
  3. package/build/circularButton/CircularButton.mjs +1 -1
  4. package/build/circularButton/CircularButton.mjs.map +1 -1
  5. package/build/common/bottomSheet/BottomSheet.js +1 -1
  6. package/build/common/bottomSheet/BottomSheet.js.map +1 -1
  7. package/build/common/bottomSheet/BottomSheet.mjs +1 -1
  8. package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
  9. package/build/common/circle/Circle.js +1 -1
  10. package/build/common/circle/Circle.js.map +1 -1
  11. package/build/common/circle/Circle.mjs +1 -1
  12. package/build/common/circle/Circle.mjs.map +1 -1
  13. package/build/main.css +46 -46
  14. package/build/statusIcon/StatusIcon.js +1 -1
  15. package/build/statusIcon/StatusIcon.js.map +1 -1
  16. package/build/statusIcon/StatusIcon.mjs +1 -1
  17. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  18. package/build/styles/accordion/Accordion.css +1 -1
  19. package/build/styles/actionButton/ActionButton.css +1 -1
  20. package/build/styles/card/Card.css +2 -2
  21. package/build/styles/chips/Chip.css +2 -2
  22. package/build/styles/common/Option/Option.css +2 -2
  23. package/build/styles/common/closeButton/CloseButton.css +4 -4
  24. package/build/styles/css/accordion.css +2 -2
  25. package/build/styles/css/decision.css +1 -1
  26. package/build/styles/css/media.css +1 -1
  27. package/build/styles/css/modals.css +1 -1
  28. package/build/styles/css/neptune.css +17 -17
  29. package/build/styles/css/popovers.css +2 -2
  30. package/build/styles/dateLookup/DateLookup.css +2 -2
  31. package/build/styles/drawer/Drawer.css +1 -1
  32. package/build/styles/inputs/Input.css +2 -2
  33. package/build/styles/inputs/TextArea.css +2 -2
  34. package/build/styles/less/legacy-variables.less +1 -1
  35. package/build/styles/less/neptune-tokens.less +2 -2
  36. package/build/styles/main.css +46 -46
  37. package/build/styles/modal/Modal.css +2 -2
  38. package/build/styles/prompt/CriticalBanner/CriticalBanner.css +1 -1
  39. package/build/styles/prompt/InfoPrompt/InfoPrompt.css +4 -4
  40. package/build/styles/props/custom-media.css +4 -4
  41. package/build/styles/props/neptune-tokens.css +1 -1
  42. package/build/styles/styles/less/accordion.css +2 -2
  43. package/build/styles/styles/less/core/viewport-themes.css +1 -1
  44. package/build/styles/styles/less/decision.css +1 -1
  45. package/build/styles/styles/less/media.css +1 -1
  46. package/build/styles/styles/less/modals.css +1 -1
  47. package/build/styles/styles/less/neptune.css +17 -17
  48. package/build/styles/styles/less/popovers.css +2 -2
  49. package/build/styles/table/Table.css +1 -1
  50. package/build/styles/typeahead/Typeahead.css +1 -1
  51. package/build/styles/uploadInput/uploadItem/UploadItem.css +3 -3
  52. package/package.json +3 -3
  53. package/src/accordion/Accordion.css +1 -1
  54. package/src/actionButton/ActionButton.css +1 -1
  55. package/src/card/Card.css +2 -2
  56. package/src/chips/Chip.css +2 -2
  57. package/src/circularButton/CircularButton.tsx +1 -1
  58. package/src/common/Option/Option.css +2 -2
  59. package/src/common/bottomSheet/BottomSheet.tsx +1 -1
  60. package/src/common/circle/Circle.tsx +1 -1
  61. package/src/common/closeButton/CloseButton.css +4 -4
  62. package/src/dateLookup/DateLookup.css +2 -2
  63. package/src/drawer/Drawer.css +1 -1
  64. package/src/inputs/Input.css +2 -2
  65. package/src/inputs/TextArea.css +2 -2
  66. package/src/main.css +46 -46
  67. package/src/modal/Modal.css +2 -2
  68. package/src/modal/Modal.less +1 -1
  69. package/src/prompt/ActionPrompt/ActionPrompt.test.tsx +35 -4
  70. package/src/prompt/CriticalBanner/CriticalBanner.css +1 -1
  71. package/src/prompt/InfoPrompt/InfoPrompt.css +4 -4
  72. package/src/statusIcon/StatusIcon.tsx +1 -1
  73. package/src/styles/less/accordion.css +2 -2
  74. package/src/styles/less/addons/_display-utilities.less +1 -1
  75. package/src/styles/less/core/viewport-themes.css +1 -1
  76. package/src/styles/less/decision.css +1 -1
  77. package/src/styles/less/media.css +1 -1
  78. package/src/styles/less/modals.css +1 -1
  79. package/src/styles/less/neptune.css +17 -17
  80. package/src/styles/less/popovers.css +2 -2
  81. package/src/table/Table.css +1 -1
  82. package/src/typeahead/Typeahead.css +1 -1
  83. package/src/uploadInput/uploadItem/UploadItem.css +3 -3
package/build/main.css CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly, this file was auto-generated.
3
- * Generated on Wed, 06 May 2026 17:52:54 GMT
3
+ * Generated on Wed, 06 May 2026 21:47:48 GMT
4
4
  */
5
5
 
6
6
  :root {
@@ -144,7 +144,7 @@
144
144
 
145
145
  /**
146
146
  * Do not edit directly, this file was auto-generated.
147
- * Generated on Wed, 06 May 2026 17:52:54 GMT
147
+ * Generated on Wed, 06 May 2026 21:47:48 GMT
148
148
  */
149
149
 
150
150
  .np-theme-personal {
@@ -394,7 +394,7 @@
394
394
 
395
395
  /**
396
396
  * Do not edit directly, this file was auto-generated.
397
- * Generated on Wed, 06 May 2026 17:52:54 GMT
397
+ * Generated on Wed, 06 May 2026 21:47:49 GMT
398
398
  */
399
399
 
400
400
  .np-theme-personal--forest-green {
@@ -644,7 +644,7 @@
644
644
 
645
645
  /**
646
646
  * Do not edit directly, this file was auto-generated.
647
- * Generated on Wed, 06 May 2026 17:52:54 GMT
647
+ * Generated on Wed, 06 May 2026 21:47:49 GMT
648
648
  */
649
649
 
650
650
  .np-theme-personal--bright-green {
@@ -894,7 +894,7 @@
894
894
 
895
895
  /**
896
896
  * Do not edit directly, this file was auto-generated.
897
- * Generated on Wed, 06 May 2026 17:52:54 GMT
897
+ * Generated on Wed, 06 May 2026 21:47:48 GMT
898
898
  */
899
899
 
900
900
  .np-theme-personal--dark {
@@ -1144,7 +1144,7 @@
1144
1144
 
1145
1145
  /**
1146
1146
  * Do not edit directly, this file was auto-generated.
1147
- * Generated on Wed, 06 May 2026 17:52:54 GMT
1147
+ * Generated on Wed, 06 May 2026 21:47:49 GMT
1148
1148
  */
1149
1149
 
1150
1150
  .np-theme-platform {
@@ -1328,7 +1328,7 @@
1328
1328
 
1329
1329
  /**
1330
1330
  * Do not edit directly, this file was auto-generated.
1331
- * Generated on Wed, 06 May 2026 17:52:54 GMT
1331
+ * Generated on Wed, 06 May 2026 21:47:49 GMT
1332
1332
  */
1333
1333
 
1334
1334
  .np-theme-platform--forest-green {
@@ -1512,7 +1512,7 @@
1512
1512
 
1513
1513
  /**
1514
1514
  * Do not edit directly, this file was auto-generated.
1515
- * Generated on Wed, 06 May 2026 17:52:54 GMT
1515
+ * Generated on Wed, 06 May 2026 21:47:49 GMT
1516
1516
  */
1517
1517
 
1518
1518
  .np-theme-business {
@@ -1697,7 +1697,7 @@
1697
1697
 
1698
1698
  /**
1699
1699
  * Do not edit directly, this file was auto-generated.
1700
- * Generated on Wed, 06 May 2026 17:52:54 GMT
1700
+ * Generated on Wed, 06 May 2026 21:47:49 GMT
1701
1701
  */
1702
1702
 
1703
1703
  .np-theme-business--dark {
@@ -1882,7 +1882,7 @@
1882
1882
 
1883
1883
  /**
1884
1884
  * Do not edit directly, this file was auto-generated.
1885
- * Generated on Wed, 06 May 2026 17:52:54 GMT
1885
+ * Generated on Wed, 06 May 2026 21:47:49 GMT
1886
1886
  */
1887
1887
 
1888
1888
  .np-theme-business--forest-green {
@@ -2067,7 +2067,7 @@
2067
2067
 
2068
2068
  /**
2069
2069
  * Do not edit directly, this file was auto-generated.
2070
- * Generated on Wed, 06 May 2026 17:52:54 GMT
2070
+ * Generated on Wed, 06 May 2026 21:47:49 GMT
2071
2071
  */
2072
2072
 
2073
2073
  .np-theme-business--bright-green {
@@ -4596,7 +4596,7 @@ a.text-inverse:focus {
4596
4596
  content: none;
4597
4597
  }
4598
4598
 
4599
- @media (max-width: 319.98px) {
4599
+ @media (max-width: 320px) {
4600
4600
  .np-theme-personal {
4601
4601
  --delta: 2;
4602
4602
  --size-4: calc(4px / var(--delta));
@@ -13974,7 +13974,7 @@ li > a > .currency-flag:first-child {
13974
13974
  color: var(--color-content-secondary);
13975
13975
  }
13976
13976
 
13977
- @media (min-width: 320px) {
13977
+ @media (min-width: 320.02px) {
13978
13978
  .decision .media .media-left,
13979
13979
  .decision.media .media-left {
13980
13980
  display: block;
@@ -21202,7 +21202,7 @@ button.close {
21202
21202
  padding-right: initial;
21203
21203
  }
21204
21204
 
21205
- @media (max-width: 319.98px) {
21205
+ @media (max-width: 320px) {
21206
21206
  .media-right,
21207
21207
  .media-left {
21208
21208
  padding-left: 32px;
@@ -21446,7 +21446,7 @@ button.close {
21446
21446
  }
21447
21447
  }
21448
21448
 
21449
- @media (min-width: 320px) {
21449
+ @media (min-width: 320.02px) {
21450
21450
  .modal-sm {
21451
21451
  width: 300px;
21452
21452
  margin: 32px auto;
@@ -22767,13 +22767,13 @@ button.popover-close {
22767
22767
  }
22768
22768
  }
22769
22769
 
22770
- @media (max-width: 319.98px) {
22770
+ @media (max-width: 320px) {
22771
22771
  .popover-promotion .popover-image {
22772
22772
  width: 80%;
22773
22773
  }
22774
22774
  }
22775
22775
 
22776
- @media (min-width: 320px) and (max-width: 1159.98px) {
22776
+ @media (min-width: 320.02px) and (max-width: 1159.98px) {
22777
22777
  .popover-promotion .popover-image {
22778
22778
  width: 60%;
22779
22779
  }
@@ -26367,7 +26367,7 @@ a[data-toggle="tooltip"] {
26367
26367
  border-bottom: 1px solid var(--color-border-neutral);
26368
26368
  }
26369
26369
 
26370
- @media (min-width: 320px) {
26370
+ @media (min-width: 320.02px) {
26371
26371
  .np-accordion-item__content.has-icon {
26372
26372
  padding-left: 68px;
26373
26373
  }
@@ -26454,7 +26454,7 @@ a[data-toggle="tooltip"] {
26454
26454
  border: none;
26455
26455
  }
26456
26456
 
26457
- @media (max-width: 319.98px) {
26457
+ @media (max-width: 320px) {
26458
26458
  .np-action-btn {
26459
26459
  height: 40px;
26460
26460
  height: var(--size-40);
@@ -27457,14 +27457,14 @@ a[data-toggle="tooltip"] {
27457
27457
  cursor: default;
27458
27458
  }
27459
27459
 
27460
- @media (min-width: 320px) {
27460
+ @media (min-width: 320.02px) {
27461
27461
  .np-card--has-icon .np-card__content {
27462
27462
  padding: 24px 72px;
27463
27463
  padding: var(--size-24) var(--size-72);
27464
27464
  }
27465
27465
  }
27466
27466
 
27467
- @media (min-width: 320px) {
27467
+ @media (min-width: 320.02px) {
27468
27468
  .np-card--has-icon .np-card__divider--expanded {
27469
27469
  margin: 0 72px;
27470
27470
  margin: 0 var(--size-72);
@@ -27773,7 +27773,7 @@ a[data-toggle="tooltip"] {
27773
27773
  transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
27774
27774
  }
27775
27775
 
27776
- @media (max-width: 319.98px) {
27776
+ @media (max-width: 320px) {
27777
27777
  .np-chip {
27778
27778
  height: 40px;
27779
27779
  height: var(--size-40);
@@ -27928,7 +27928,7 @@ a[data-toggle="tooltip"] {
27928
27928
  padding-right: var(--size-24);
27929
27929
  }
27930
27930
 
27931
- @media (max-width: 319.98px) {
27931
+ @media (max-width: 320px) {
27932
27932
  .np-theme-personal .np-chip.np-chip--removable .np-text-body-default-bold {
27933
27933
  padding-right: 48px;
27934
27934
  padding-right: var(--size-48);
@@ -28235,7 +28235,7 @@ a[data-toggle="tooltip"] {
28235
28235
  transition: background-color 0.1s ease;
28236
28236
  }
28237
28237
 
28238
- @media (max-width: 319.98px) {
28238
+ @media (max-width: 320px) {
28239
28239
  .np-theme-personal .np-close-button {
28240
28240
  height: 64px;
28241
28241
  height: var(--size-64);
@@ -28252,7 +28252,7 @@ a[data-toggle="tooltip"] {
28252
28252
  flex-shrink: 0;
28253
28253
  }
28254
28254
 
28255
- @media (max-width: 319.98px) {
28255
+ @media (max-width: 320px) {
28256
28256
  .np-theme-personal .np-close-button--x-small {
28257
28257
  height: 48px;
28258
28258
  height: var(--size-48);
@@ -28269,7 +28269,7 @@ a[data-toggle="tooltip"] {
28269
28269
  flex-shrink: 0;
28270
28270
  }
28271
28271
 
28272
- @media (max-width: 319.98px) {
28272
+ @media (max-width: 320px) {
28273
28273
  .np-theme-personal .np-close-button--large {
28274
28274
  height: 80px;
28275
28275
  height: var(--size-80);
@@ -28286,7 +28286,7 @@ a[data-toggle="tooltip"] {
28286
28286
  flex-shrink: 0;
28287
28287
  }
28288
28288
 
28289
- @media (max-width: 319.98px) {
28289
+ @media (max-width: 320px) {
28290
28290
  .np-theme-personal .np-close-button--x-large {
28291
28291
  height: 96px;
28292
28292
  height: var(--size-96);
@@ -28388,7 +28388,7 @@ button.np-option {
28388
28388
  line-height: var(--size-48);
28389
28389
  }
28390
28390
 
28391
- @media (max-width: 319.98px) {
28391
+ @media (max-width: 320px) {
28392
28392
  .np-theme-personal .np-option .circle-sm {
28393
28393
  width: 96px;
28394
28394
  width: var(--size-96);
@@ -28434,7 +28434,7 @@ button.np-option {
28434
28434
  max-width: fit-content;
28435
28435
  }
28436
28436
 
28437
- @media (max-width: 319.98px) {
28437
+ @media (max-width: 320px) {
28438
28438
  .np-theme-personal :not(.np-option__sm-media) > .np-option-additional-content {
28439
28439
  margin-left: 16px;
28440
28440
  margin-left: var(--size-16);
@@ -28579,7 +28579,7 @@ button.np-option {
28579
28579
  padding: var(--size-4);
28580
28580
  }
28581
28581
 
28582
- @media (max-width: 319.98px) {
28582
+ @media (max-width: 320px) {
28583
28583
  .tw-date-lookup-calendar > tbody > tr > td {
28584
28584
  padding: 0;
28585
28585
  }
@@ -28605,7 +28605,7 @@ button.np-option {
28605
28605
  color: var(--color-content-primary);
28606
28606
  }
28607
28607
 
28608
- @media (max-width: 319.98px) {
28608
+ @media (max-width: 320px) {
28609
28609
  .tw-date-lookup-calendar > tbody > tr > td button {
28610
28610
  padding: 0;
28611
28611
  }
@@ -28897,7 +28897,7 @@ button.np-option {
28897
28897
  padding: var(--size-24);
28898
28898
  }
28899
28899
 
28900
- @media (max-width: 319.98px) {
28900
+ @media (max-width: 320px) {
28901
28901
  .np-drawer .np-drawer-header {
28902
28902
  padding: 16px;
28903
28903
  padding: var(--size-16);
@@ -29301,7 +29301,7 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
29301
29301
  height: var(--size-32) !important;
29302
29302
  }
29303
29303
 
29304
- @media (max-width: 319.98px) {
29304
+ @media (max-width: 320px) {
29305
29305
  .np-form-control--size-sm {
29306
29306
  height: 64px !important;
29307
29307
  height: var(--size-64) !important;
@@ -29319,7 +29319,7 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
29319
29319
  height: var(--size-48) !important;
29320
29320
  }
29321
29321
 
29322
- @media (max-width: 319.98px) {
29322
+ @media (max-width: 320px) {
29323
29323
  .np-form-control--size-md {
29324
29324
  height: 72px !important;
29325
29325
  height: var(--size-72) !important;
@@ -31066,7 +31066,7 @@ button.np-link {
31066
31066
  }
31067
31067
  }
31068
31068
 
31069
- @media (min-width: 320px) {
31069
+ @media (min-width: 320.02px) {
31070
31070
  .tw-modal-dialog.tw-modal-sm {
31071
31071
  width: 300px;
31072
31072
  }
@@ -31094,7 +31094,7 @@ button.np-link {
31094
31094
 
31095
31095
  @media (min-width: 1160px) {
31096
31096
  .tw-modal-dialog.tw-modal-xl {
31097
- width: 2000px;
31097
+ width: 1000px;
31098
31098
  }
31099
31099
  }
31100
31100
 
@@ -32122,28 +32122,28 @@ html:not([dir="rtl"]) .np-navigation-option {
32122
32122
  padding: 0;
32123
32123
  }
32124
32124
 
32125
- @media (max-width: 319.98px) {
32125
+ @media (max-width: 320px) {
32126
32126
  .wds-info-prompt .wds-prompt__media-wrapper {
32127
32127
  padding-top: 4px;
32128
32128
  padding-top: var(--size-4);
32129
32129
  }
32130
32130
  }
32131
32131
 
32132
- @media (max-width: 319.98px) {
32132
+ @media (max-width: 320px) {
32133
32133
  .wds-info-prompt .wds-prompt__media-wrapper:has(.wds-info-prompt__media > .tw-icon) {
32134
32134
  padding-top: 8px;
32135
32135
  padding-top: var(--size-8);
32136
32136
  }
32137
32137
  }
32138
32138
 
32139
- @media (max-width: 319.98px) {
32139
+ @media (max-width: 320px) {
32140
32140
  .wds-info-prompt .wds-prompt__media-wrapper:has(+ .wds-info-prompt__content .wds-info-prompt__title:first-child) {
32141
32141
  padding-top: 8px;
32142
32142
  padding-top: var(--size-8);
32143
32143
  }
32144
32144
  }
32145
32145
 
32146
- @media (max-width: 319.98px) {
32146
+ @media (max-width: 320px) {
32147
32147
  .wds-info-prompt .wds-prompt__media-wrapper:has(+ .wds-info-prompt__content .wds-info-prompt__title:first-child):has(.wds-info-prompt__media > .tw-icon) {
32148
32148
  padding-top: 12px;
32149
32149
  padding-top: var(--size-12);
@@ -32259,7 +32259,7 @@ html:not([dir="rtl"]) .np-navigation-option {
32259
32259
  padding-top: 3px;
32260
32260
  }
32261
32261
 
32262
- @media (max-width: 319.98px) {
32262
+ @media (max-width: 320px) {
32263
32263
  .wds-critical-banner__text-wrapper {
32264
32264
  padding-top: 0;
32265
32265
  }
@@ -33897,7 +33897,7 @@ html:not([dir="rtl"]) .np-navigation-option {
33897
33897
  margin: 150px auto;
33898
33898
  }
33899
33899
 
33900
- @media (max-width: 319.98px) {
33900
+ @media (max-width: 320px) {
33901
33901
  .np-table-cell .tw-loader {
33902
33902
  margin-top: 70px;
33903
33903
  margin-bottom: 70px;
@@ -34314,7 +34314,7 @@ html:not([dir="rtl"]) .np-navigation-option {
34314
34314
  padding-right: var(--size-16);
34315
34315
  }
34316
34316
 
34317
- @media (max-width: 319.98px) {
34317
+ @media (max-width: 320px) {
34318
34318
  .np-theme-personal .typeahead .np-chip--removable .np-text-body-default-bold {
34319
34319
  padding-right: 32px;
34320
34320
  padding-right: var(--size-32);
@@ -34543,7 +34543,7 @@ html:not([dir="rtl"]) .np-navigation-option {
34543
34543
  flex: 1;
34544
34544
  }
34545
34545
 
34546
- @media (max-width: 319.98px) {
34546
+ @media (max-width: 320px) {
34547
34547
  .np-upload-input__item .np-upload-input__item-content {
34548
34548
  padding-right: 64px;
34549
34549
  padding-right: var(--size-64);
@@ -34588,7 +34588,7 @@ html:not([dir="rtl"]) .np-navigation-option {
34588
34588
  top: var(--buttonTopRightOffset);
34589
34589
  }
34590
34590
 
34591
- @media (max-width: 319.98px) {
34591
+ @media (max-width: 320px) {
34592
34592
  .np-upload-input__item .np-upload-input__item-action {
34593
34593
  --iconSize: var(--size-48);
34594
34594
  --clickAreaTopRightOffset: calc(-1 * var(--buttonTopRightOffset));
@@ -34689,7 +34689,7 @@ html:not([dir="rtl"]) .np-navigation-option {
34689
34689
  left: 0;
34690
34690
  }
34691
34691
 
34692
- @media (max-width: 319.98px) {
34692
+ @media (max-width: 320px) {
34693
34693
  .np-upload-input__item .np-upload-input-errors > li {
34694
34694
  padding-left: 32px;
34695
34695
  padding-left: var(--size-32);
@@ -83,7 +83,7 @@ const StatusIcon = ({
83
83
  Icon,
84
84
  defaultIconLabel
85
85
  } = iconMetaBySentiment[sentiment$1];
86
- const isTinyViewport = useMedia.useMedia(`(width < ${neptuneTokens.Breakpoint.EXTRA_SMALL}px)`);
86
+ const isTinyViewport = useMedia.useMedia(`(max-width: ${neptuneTokens.Breakpoint.EXTRA_SMALL}px)`);
87
87
  const size = mapLegacySize[sizeProp] ?? sizeProp;
88
88
  return /*#__PURE__*/jsxRuntime.jsx(Circle.default, {
89
89
  size: isTinyViewport && size < 40 ? 32 : size,
@@ -1 +1 @@
1
- {"version":3,"file":"StatusIcon.js","sources":["../../src/statusIcon/StatusIcon.tsx"],"sourcesContent":["import { Info, Alert, Cross, Check, ClockBorderless } from '@transferwise/icons';\nimport { Breakpoint } from '@transferwise/neptune-tokens';\nimport { clsx } from 'clsx';\nimport { useIntl } from 'react-intl';\n\nimport { SizeSmall, SizeMedium, SizeLarge, Sentiment, Size, Status } from '../common';\nimport Circle, { CircleProps } from '../common/circle';\nimport { useMedia } from '../common/hooks/useMedia';\n\nimport messages from './StatusIcon.messages';\n\n/**\n * @deprecated Use `16 | 24 | 32 | 40 | 48 | 56 | 72` instead.\n */\ntype LegacySizes = SizeSmall | SizeMedium | SizeLarge;\n\nexport type StatusIconSentiment = Sentiment | Status.PENDING;\n\nexport type StatusIconProps = {\n id?: string;\n /** @default 'neutral' */\n sentiment?: `${StatusIconSentiment}`;\n /** @default 40 */\n size?: LegacySizes | 16 | 24 | 32 | 40 | 48 | 56 | 72;\n /**\n * Override for the sentiment's-derived, default, accessible\n * name announced by the screen readers. <br />\n * Using `null` will render the icon purely presentational.\n * */\n iconLabel?: string | null;\n};\n\nconst mapLegacySize = {\n [String(Size.SMALL)]: 16,\n [String(Size.MEDIUM)]: 40,\n [String(Size.LARGE)]: 48,\n} satisfies Record<string, CircleProps['size']>;\n\nconst StatusIcon = ({\n id,\n sentiment = 'neutral',\n size: sizeProp = 40,\n iconLabel,\n}: StatusIconProps) => {\n const intl = useIntl();\n\n const iconMetaBySentiment: Record<\n `${Sentiment}` | Status.PENDING,\n {\n Icon: React.ElementType;\n defaultIconLabel: string;\n }\n > = {\n [Sentiment.NEGATIVE]: {\n Icon: Cross,\n defaultIconLabel: intl.formatMessage(messages.errorLabel),\n },\n [Sentiment.POSITIVE]: {\n Icon: Check,\n defaultIconLabel: intl.formatMessage(messages.successLabel),\n },\n [Sentiment.WARNING]: {\n Icon: Alert,\n defaultIconLabel: intl.formatMessage(messages.warningLabel),\n },\n [Status.PENDING]: {\n Icon: ClockBorderless,\n defaultIconLabel: intl.formatMessage(messages.pendingLabel),\n },\n [Sentiment.NEUTRAL]: {\n Icon: Info,\n defaultIconLabel: intl.formatMessage(messages.informationLabel),\n },\n // deprecated\n [Sentiment.ERROR]: {\n Icon: Cross,\n defaultIconLabel: intl.formatMessage(messages.errorLabel),\n },\n [Sentiment.INFO]: {\n Icon: Info,\n defaultIconLabel: intl.formatMessage(messages.informationLabel),\n },\n [Sentiment.SUCCESS]: {\n Icon: Check,\n defaultIconLabel: intl.formatMessage(messages.successLabel),\n },\n };\n const { Icon, defaultIconLabel } = iconMetaBySentiment[sentiment];\n\n const isTinyViewport = useMedia(`(width < ${Breakpoint.EXTRA_SMALL}px)`);\n const size = mapLegacySize[sizeProp] ?? sizeProp;\n\n return (\n <Circle\n size={isTinyViewport && size < 40 ? 32 : size}\n data-testid=\"status-icon\"\n className={clsx('status-circle', sentiment)}\n id={id}\n >\n <Icon\n className=\"status-icon\"\n title={iconLabel === null ? undefined : iconLabel || defaultIconLabel}\n />\n </Circle>\n );\n};\n\nexport default StatusIcon;\n"],"names":["mapLegacySize","String","Size","SMALL","MEDIUM","LARGE","StatusIcon","id","sentiment","size","sizeProp","iconLabel","intl","useIntl","iconMetaBySentiment","Sentiment","NEGATIVE","Icon","Cross","defaultIconLabel","formatMessage","messages","errorLabel","POSITIVE","Check","successLabel","WARNING","Alert","warningLabel","Status","PENDING","ClockBorderless","pendingLabel","NEUTRAL","Info","informationLabel","ERROR","INFO","SUCCESS","isTinyViewport","useMedia","Breakpoint","EXTRA_SMALL","_jsx","Circle","className","clsx","children","title","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"StatusIcon.js","sources":["../../src/statusIcon/StatusIcon.tsx"],"sourcesContent":["import { Info, Alert, Cross, Check, ClockBorderless } from '@transferwise/icons';\nimport { Breakpoint } from '@transferwise/neptune-tokens';\nimport { clsx } from 'clsx';\nimport { useIntl } from 'react-intl';\n\nimport { SizeSmall, SizeMedium, SizeLarge, Sentiment, Size, Status } from '../common';\nimport Circle, { CircleProps } from '../common/circle';\nimport { useMedia } from '../common/hooks/useMedia';\n\nimport messages from './StatusIcon.messages';\n\n/**\n * @deprecated Use `16 | 24 | 32 | 40 | 48 | 56 | 72` instead.\n */\ntype LegacySizes = SizeSmall | SizeMedium | SizeLarge;\n\nexport type StatusIconSentiment = Sentiment | Status.PENDING;\n\nexport type StatusIconProps = {\n id?: string;\n /** @default 'neutral' */\n sentiment?: `${StatusIconSentiment}`;\n /** @default 40 */\n size?: LegacySizes | 16 | 24 | 32 | 40 | 48 | 56 | 72;\n /**\n * Override for the sentiment's-derived, default, accessible\n * name announced by the screen readers. <br />\n * Using `null` will render the icon purely presentational.\n * */\n iconLabel?: string | null;\n};\n\nconst mapLegacySize = {\n [String(Size.SMALL)]: 16,\n [String(Size.MEDIUM)]: 40,\n [String(Size.LARGE)]: 48,\n} satisfies Record<string, CircleProps['size']>;\n\nconst StatusIcon = ({\n id,\n sentiment = 'neutral',\n size: sizeProp = 40,\n iconLabel,\n}: StatusIconProps) => {\n const intl = useIntl();\n\n const iconMetaBySentiment: Record<\n `${Sentiment}` | Status.PENDING,\n {\n Icon: React.ElementType;\n defaultIconLabel: string;\n }\n > = {\n [Sentiment.NEGATIVE]: {\n Icon: Cross,\n defaultIconLabel: intl.formatMessage(messages.errorLabel),\n },\n [Sentiment.POSITIVE]: {\n Icon: Check,\n defaultIconLabel: intl.formatMessage(messages.successLabel),\n },\n [Sentiment.WARNING]: {\n Icon: Alert,\n defaultIconLabel: intl.formatMessage(messages.warningLabel),\n },\n [Status.PENDING]: {\n Icon: ClockBorderless,\n defaultIconLabel: intl.formatMessage(messages.pendingLabel),\n },\n [Sentiment.NEUTRAL]: {\n Icon: Info,\n defaultIconLabel: intl.formatMessage(messages.informationLabel),\n },\n // deprecated\n [Sentiment.ERROR]: {\n Icon: Cross,\n defaultIconLabel: intl.formatMessage(messages.errorLabel),\n },\n [Sentiment.INFO]: {\n Icon: Info,\n defaultIconLabel: intl.formatMessage(messages.informationLabel),\n },\n [Sentiment.SUCCESS]: {\n Icon: Check,\n defaultIconLabel: intl.formatMessage(messages.successLabel),\n },\n };\n const { Icon, defaultIconLabel } = iconMetaBySentiment[sentiment];\n\n const isTinyViewport = useMedia(`(max-width: ${Breakpoint.EXTRA_SMALL}px)`);\n const size = mapLegacySize[sizeProp] ?? sizeProp;\n\n return (\n <Circle\n size={isTinyViewport && size < 40 ? 32 : size}\n data-testid=\"status-icon\"\n className={clsx('status-circle', sentiment)}\n id={id}\n >\n <Icon\n className=\"status-icon\"\n title={iconLabel === null ? undefined : iconLabel || defaultIconLabel}\n />\n </Circle>\n );\n};\n\nexport default StatusIcon;\n"],"names":["mapLegacySize","String","Size","SMALL","MEDIUM","LARGE","StatusIcon","id","sentiment","size","sizeProp","iconLabel","intl","useIntl","iconMetaBySentiment","Sentiment","NEGATIVE","Icon","Cross","defaultIconLabel","formatMessage","messages","errorLabel","POSITIVE","Check","successLabel","WARNING","Alert","warningLabel","Status","PENDING","ClockBorderless","pendingLabel","NEUTRAL","Info","informationLabel","ERROR","INFO","SUCCESS","isTinyViewport","useMedia","Breakpoint","EXTRA_SMALL","_jsx","Circle","className","clsx","children","title","undefined"],"mappings":"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"}
@@ -79,7 +79,7 @@ const StatusIcon = ({
79
79
  Icon,
80
80
  defaultIconLabel
81
81
  } = iconMetaBySentiment[sentiment];
82
- const isTinyViewport = useMedia(`(width < ${Breakpoint.EXTRA_SMALL}px)`);
82
+ const isTinyViewport = useMedia(`(max-width: ${Breakpoint.EXTRA_SMALL}px)`);
83
83
  const size = mapLegacySize[sizeProp] ?? sizeProp;
84
84
  return /*#__PURE__*/jsx(Circle, {
85
85
  size: isTinyViewport && size < 40 ? 32 : size,
@@ -1 +1 @@
1
- {"version":3,"file":"StatusIcon.mjs","sources":["../../src/statusIcon/StatusIcon.tsx"],"sourcesContent":["import { Info, Alert, Cross, Check, ClockBorderless } from '@transferwise/icons';\nimport { Breakpoint } from '@transferwise/neptune-tokens';\nimport { clsx } from 'clsx';\nimport { useIntl } from 'react-intl';\n\nimport { SizeSmall, SizeMedium, SizeLarge, Sentiment, Size, Status } from '../common';\nimport Circle, { CircleProps } from '../common/circle';\nimport { useMedia } from '../common/hooks/useMedia';\n\nimport messages from './StatusIcon.messages';\n\n/**\n * @deprecated Use `16 | 24 | 32 | 40 | 48 | 56 | 72` instead.\n */\ntype LegacySizes = SizeSmall | SizeMedium | SizeLarge;\n\nexport type StatusIconSentiment = Sentiment | Status.PENDING;\n\nexport type StatusIconProps = {\n id?: string;\n /** @default 'neutral' */\n sentiment?: `${StatusIconSentiment}`;\n /** @default 40 */\n size?: LegacySizes | 16 | 24 | 32 | 40 | 48 | 56 | 72;\n /**\n * Override for the sentiment's-derived, default, accessible\n * name announced by the screen readers. <br />\n * Using `null` will render the icon purely presentational.\n * */\n iconLabel?: string | null;\n};\n\nconst mapLegacySize = {\n [String(Size.SMALL)]: 16,\n [String(Size.MEDIUM)]: 40,\n [String(Size.LARGE)]: 48,\n} satisfies Record<string, CircleProps['size']>;\n\nconst StatusIcon = ({\n id,\n sentiment = 'neutral',\n size: sizeProp = 40,\n iconLabel,\n}: StatusIconProps) => {\n const intl = useIntl();\n\n const iconMetaBySentiment: Record<\n `${Sentiment}` | Status.PENDING,\n {\n Icon: React.ElementType;\n defaultIconLabel: string;\n }\n > = {\n [Sentiment.NEGATIVE]: {\n Icon: Cross,\n defaultIconLabel: intl.formatMessage(messages.errorLabel),\n },\n [Sentiment.POSITIVE]: {\n Icon: Check,\n defaultIconLabel: intl.formatMessage(messages.successLabel),\n },\n [Sentiment.WARNING]: {\n Icon: Alert,\n defaultIconLabel: intl.formatMessage(messages.warningLabel),\n },\n [Status.PENDING]: {\n Icon: ClockBorderless,\n defaultIconLabel: intl.formatMessage(messages.pendingLabel),\n },\n [Sentiment.NEUTRAL]: {\n Icon: Info,\n defaultIconLabel: intl.formatMessage(messages.informationLabel),\n },\n // deprecated\n [Sentiment.ERROR]: {\n Icon: Cross,\n defaultIconLabel: intl.formatMessage(messages.errorLabel),\n },\n [Sentiment.INFO]: {\n Icon: Info,\n defaultIconLabel: intl.formatMessage(messages.informationLabel),\n },\n [Sentiment.SUCCESS]: {\n Icon: Check,\n defaultIconLabel: intl.formatMessage(messages.successLabel),\n },\n };\n const { Icon, defaultIconLabel } = iconMetaBySentiment[sentiment];\n\n const isTinyViewport = useMedia(`(width < ${Breakpoint.EXTRA_SMALL}px)`);\n const size = mapLegacySize[sizeProp] ?? sizeProp;\n\n return (\n <Circle\n size={isTinyViewport && size < 40 ? 32 : size}\n data-testid=\"status-icon\"\n className={clsx('status-circle', sentiment)}\n id={id}\n >\n <Icon\n className=\"status-icon\"\n title={iconLabel === null ? undefined : iconLabel || defaultIconLabel}\n />\n </Circle>\n );\n};\n\nexport default StatusIcon;\n"],"names":["mapLegacySize","String","Size","SMALL","MEDIUM","LARGE","StatusIcon","id","sentiment","size","sizeProp","iconLabel","intl","useIntl","iconMetaBySentiment","Sentiment","NEGATIVE","Icon","Cross","defaultIconLabel","formatMessage","messages","errorLabel","POSITIVE","Check","successLabel","WARNING","Alert","warningLabel","Status","PENDING","ClockBorderless","pendingLabel","NEUTRAL","Info","informationLabel","ERROR","INFO","SUCCESS","isTinyViewport","useMedia","Breakpoint","EXTRA_SMALL","_jsx","Circle","className","clsx","children","title","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"StatusIcon.mjs","sources":["../../src/statusIcon/StatusIcon.tsx"],"sourcesContent":["import { Info, Alert, Cross, Check, ClockBorderless } from '@transferwise/icons';\nimport { Breakpoint } from '@transferwise/neptune-tokens';\nimport { clsx } from 'clsx';\nimport { useIntl } from 'react-intl';\n\nimport { SizeSmall, SizeMedium, SizeLarge, Sentiment, Size, Status } from '../common';\nimport Circle, { CircleProps } from '../common/circle';\nimport { useMedia } from '../common/hooks/useMedia';\n\nimport messages from './StatusIcon.messages';\n\n/**\n * @deprecated Use `16 | 24 | 32 | 40 | 48 | 56 | 72` instead.\n */\ntype LegacySizes = SizeSmall | SizeMedium | SizeLarge;\n\nexport type StatusIconSentiment = Sentiment | Status.PENDING;\n\nexport type StatusIconProps = {\n id?: string;\n /** @default 'neutral' */\n sentiment?: `${StatusIconSentiment}`;\n /** @default 40 */\n size?: LegacySizes | 16 | 24 | 32 | 40 | 48 | 56 | 72;\n /**\n * Override for the sentiment's-derived, default, accessible\n * name announced by the screen readers. <br />\n * Using `null` will render the icon purely presentational.\n * */\n iconLabel?: string | null;\n};\n\nconst mapLegacySize = {\n [String(Size.SMALL)]: 16,\n [String(Size.MEDIUM)]: 40,\n [String(Size.LARGE)]: 48,\n} satisfies Record<string, CircleProps['size']>;\n\nconst StatusIcon = ({\n id,\n sentiment = 'neutral',\n size: sizeProp = 40,\n iconLabel,\n}: StatusIconProps) => {\n const intl = useIntl();\n\n const iconMetaBySentiment: Record<\n `${Sentiment}` | Status.PENDING,\n {\n Icon: React.ElementType;\n defaultIconLabel: string;\n }\n > = {\n [Sentiment.NEGATIVE]: {\n Icon: Cross,\n defaultIconLabel: intl.formatMessage(messages.errorLabel),\n },\n [Sentiment.POSITIVE]: {\n Icon: Check,\n defaultIconLabel: intl.formatMessage(messages.successLabel),\n },\n [Sentiment.WARNING]: {\n Icon: Alert,\n defaultIconLabel: intl.formatMessage(messages.warningLabel),\n },\n [Status.PENDING]: {\n Icon: ClockBorderless,\n defaultIconLabel: intl.formatMessage(messages.pendingLabel),\n },\n [Sentiment.NEUTRAL]: {\n Icon: Info,\n defaultIconLabel: intl.formatMessage(messages.informationLabel),\n },\n // deprecated\n [Sentiment.ERROR]: {\n Icon: Cross,\n defaultIconLabel: intl.formatMessage(messages.errorLabel),\n },\n [Sentiment.INFO]: {\n Icon: Info,\n defaultIconLabel: intl.formatMessage(messages.informationLabel),\n },\n [Sentiment.SUCCESS]: {\n Icon: Check,\n defaultIconLabel: intl.formatMessage(messages.successLabel),\n },\n };\n const { Icon, defaultIconLabel } = iconMetaBySentiment[sentiment];\n\n const isTinyViewport = useMedia(`(max-width: ${Breakpoint.EXTRA_SMALL}px)`);\n const size = mapLegacySize[sizeProp] ?? sizeProp;\n\n return (\n <Circle\n size={isTinyViewport && size < 40 ? 32 : size}\n data-testid=\"status-icon\"\n className={clsx('status-circle', sentiment)}\n id={id}\n >\n <Icon\n className=\"status-icon\"\n title={iconLabel === null ? undefined : iconLabel || defaultIconLabel}\n />\n </Circle>\n );\n};\n\nexport default StatusIcon;\n"],"names":["mapLegacySize","String","Size","SMALL","MEDIUM","LARGE","StatusIcon","id","sentiment","size","sizeProp","iconLabel","intl","useIntl","iconMetaBySentiment","Sentiment","NEGATIVE","Icon","Cross","defaultIconLabel","formatMessage","messages","errorLabel","POSITIVE","Check","successLabel","WARNING","Alert","warningLabel","Status","PENDING","ClockBorderless","pendingLabel","NEUTRAL","Info","informationLabel","ERROR","INFO","SUCCESS","isTinyViewport","useMedia","Breakpoint","EXTRA_SMALL","_jsx","Circle","className","clsx","children","title","undefined"],"mappings":"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"}
@@ -18,7 +18,7 @@
18
18
  border-bottom: 1px solid rgba(0,0,0,0.10196);
19
19
  border-bottom: 1px solid var(--color-border-neutral);
20
20
  }
21
- @media (min-width: 320px) {
21
+ @media (min-width: 320.02px) {
22
22
  .np-accordion-item__content.has-icon {
23
23
  padding-left: 68px;
24
24
  }
@@ -21,7 +21,7 @@
21
21
  border-radius: var(--radius-large);
22
22
  border: none;
23
23
  }
24
- @media (max-width: 319.98px) {
24
+ @media (max-width: 320px) {
25
25
  .np-action-btn {
26
26
  height: 40px;
27
27
  height: var(--size-40);
@@ -24,13 +24,13 @@
24
24
  .np-card--inactive .decision {
25
25
  cursor: default;
26
26
  }
27
- @media (min-width: 320px) {
27
+ @media (min-width: 320.02px) {
28
28
  .np-card--has-icon .np-card__content {
29
29
  padding: 24px 72px;
30
30
  padding: var(--size-24) var(--size-72);
31
31
  }
32
32
  }
33
- @media (min-width: 320px) {
33
+ @media (min-width: 320.02px) {
34
34
  .np-card--has-icon .np-card__divider--expanded {
35
35
  margin: 0 72px;
36
36
  margin: 0 var(--size-72);
@@ -14,7 +14,7 @@
14
14
  padding: 0 var(--size-12);
15
15
  transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
16
16
  }
17
- @media (max-width: 319.98px) {
17
+ @media (max-width: 320px) {
18
18
  .np-chip {
19
19
  height: 40px;
20
20
  height: var(--size-40);
@@ -141,7 +141,7 @@
141
141
  padding-right: 24px;
142
142
  padding-right: var(--size-24);
143
143
  }
144
- @media (max-width: 319.98px) {
144
+ @media (max-width: 320px) {
145
145
  .np-theme-personal .np-chip.np-chip--removable .np-text-body-default-bold {
146
146
  padding-right: 48px;
147
147
  padding-right: var(--size-48);
@@ -68,7 +68,7 @@ button.np-option {
68
68
  line-height: 48px;
69
69
  line-height: var(--size-48);
70
70
  }
71
- @media (max-width: 319.98px) {
71
+ @media (max-width: 320px) {
72
72
  .np-theme-personal .np-option .circle-sm {
73
73
  width: 96px;
74
74
  width: var(--size-96);
@@ -109,7 +109,7 @@ button.np-option {
109
109
  max-width: -moz-fit-content;
110
110
  max-width: fit-content;
111
111
  }
112
- @media (max-width: 319.98px) {
112
+ @media (max-width: 320px) {
113
113
  .np-theme-personal :not(.np-option__sm-media) > .np-option-additional-content {
114
114
  margin-left: 16px;
115
115
  margin-left: var(--size-16);
@@ -31,7 +31,7 @@
31
31
  border-radius: var(--radius-full);
32
32
  transition: background-color 0.1s ease;
33
33
  }
34
- @media (max-width: 319.98px) {
34
+ @media (max-width: 320px) {
35
35
  .np-theme-personal .np-close-button {
36
36
  height: 64px;
37
37
  height: var(--size-64);
@@ -46,7 +46,7 @@
46
46
  width: var(--size-24);
47
47
  flex-shrink: 0;
48
48
  }
49
- @media (max-width: 319.98px) {
49
+ @media (max-width: 320px) {
50
50
  .np-theme-personal .np-close-button--x-small {
51
51
  height: 48px;
52
52
  height: var(--size-48);
@@ -61,7 +61,7 @@
61
61
  width: var(--size-40);
62
62
  flex-shrink: 0;
63
63
  }
64
- @media (max-width: 319.98px) {
64
+ @media (max-width: 320px) {
65
65
  .np-theme-personal .np-close-button--large {
66
66
  height: 80px;
67
67
  height: var(--size-80);
@@ -76,7 +76,7 @@
76
76
  width: var(--size-48);
77
77
  flex-shrink: 0;
78
78
  }
79
- @media (max-width: 319.98px) {
79
+ @media (max-width: 320px) {
80
80
  .np-theme-personal .np-close-button--x-large {
81
81
  height: 96px;
82
82
  height: var(--size-96);
@@ -137,7 +137,7 @@
137
137
  color: #5d7079;
138
138
  color: var(--color-content-secondary);
139
139
  }
140
- @media (min-width: 320px) {
140
+ @media (min-width: 320.02px) {
141
141
  .decision .media .media-left,
142
142
  .decision.media .media-left {
143
143
  display: block;
@@ -210,7 +210,7 @@
210
210
  padding-right: 0;
211
211
  padding-right: initial;
212
212
  }
213
- @media (max-width: 319.98px) {
213
+ @media (max-width: 320px) {
214
214
  .media-right,
215
215
  .media-left {
216
216
  padding-left: 32px;
@@ -102,7 +102,7 @@
102
102
  color: #5d7079;
103
103
  color: var(--color-content-secondary);
104
104
  }
105
- @media (min-width: 320px) {
105
+ @media (min-width: 320.02px) {
106
106
  .decision .media .media-left,
107
107
  .decision.media .media-left {
108
108
  display: block;
@@ -39,7 +39,7 @@
39
39
  padding-right: 0;
40
40
  padding-right: initial;
41
41
  }
42
- @media (max-width: 319.98px) {
42
+ @media (max-width: 320px) {
43
43
  .media-right,
44
44
  .media-left {
45
45
  padding-left: 32px;
@@ -171,7 +171,7 @@
171
171
  margin: 32px 24px;
172
172
  }
173
173
  }
174
- @media (min-width: 320px) {
174
+ @media (min-width: 320.02px) {
175
175
  .modal-sm {
176
176
  width: 300px;
177
177
  margin: 32px auto;