@transferwise/components 0.0.0-experimental-bf3b43b → 0.0.0-experimental-cbc00a7

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 (73) hide show
  1. package/build/Snackbar/Snackbar.js +107 -105
  2. package/build/Snackbar/Snackbar.js.map +1 -1
  3. package/build/Snackbar/Snackbar.mjs +109 -104
  4. package/build/Snackbar/Snackbar.mjs.map +1 -1
  5. package/build/Snackbar/SnackbarContext.js.map +1 -1
  6. package/build/Snackbar/SnackbarContext.mjs.map +1 -1
  7. package/build/Snackbar/SnackbarPortal.js +12 -0
  8. package/build/Snackbar/SnackbarPortal.js.map +1 -0
  9. package/build/Snackbar/SnackbarPortal.mjs +8 -0
  10. package/build/Snackbar/SnackbarPortal.mjs.map +1 -0
  11. package/build/Snackbar/SnackbarProvider.js +23 -27
  12. package/build/Snackbar/SnackbarProvider.js.map +1 -1
  13. package/build/Snackbar/SnackbarProvider.mjs +24 -28
  14. package/build/Snackbar/SnackbarProvider.mjs.map +1 -1
  15. package/build/Snackbar/constants.js +8 -0
  16. package/build/Snackbar/constants.js.map +1 -0
  17. package/build/Snackbar/constants.mjs +5 -0
  18. package/build/Snackbar/constants.mjs.map +1 -0
  19. package/build/Snackbar/useSnackbarManager.js +119 -0
  20. package/build/Snackbar/useSnackbarManager.js.map +1 -0
  21. package/build/Snackbar/useSnackbarManager.mjs +115 -0
  22. package/build/Snackbar/useSnackbarManager.mjs.map +1 -0
  23. package/build/i18n/th.json +1 -1
  24. package/build/i18n/th.json.js +1 -1
  25. package/build/i18n/th.json.mjs +1 -1
  26. package/build/i18n/zh-CN.json +0 -1
  27. package/build/i18n/zh-CN.json.js +0 -1
  28. package/build/i18n/zh-CN.json.js.map +1 -1
  29. package/build/i18n/zh-CN.json.mjs +0 -1
  30. package/build/i18n/zh-CN.json.mjs.map +1 -1
  31. package/build/main.css +113 -61
  32. package/build/styles/Snackbar/Snackbar.css +116 -64
  33. package/build/styles/main.css +113 -61
  34. package/build/types/Body/Body.d.ts +2 -2
  35. package/build/types/IconButton/IconButton.d.ts +1 -1
  36. package/build/types/MoneyInput/MoneyInput.d.ts +1 -1
  37. package/build/types/MoneyInput/MoneyInput.d.ts.map +1 -1
  38. package/build/types/Snackbar/Snackbar.d.ts +10 -8
  39. package/build/types/Snackbar/Snackbar.d.ts.map +1 -1
  40. package/build/types/Snackbar/Snackbar.types.d.ts +19 -0
  41. package/build/types/Snackbar/Snackbar.types.d.ts.map +1 -0
  42. package/build/types/Snackbar/SnackbarContext.d.ts +2 -2
  43. package/build/types/Snackbar/SnackbarContext.d.ts.map +1 -1
  44. package/build/types/Snackbar/SnackbarPortal.d.ts +4 -0
  45. package/build/types/Snackbar/SnackbarPortal.d.ts.map +1 -0
  46. package/build/types/Snackbar/SnackbarProvider.d.ts.map +1 -1
  47. package/build/types/Snackbar/constants.d.ts +3 -0
  48. package/build/types/Snackbar/constants.d.ts.map +1 -0
  49. package/build/types/Snackbar/useSnackbar.d.ts +1 -1
  50. package/build/types/Snackbar/useSnackbar.d.ts.map +1 -1
  51. package/build/types/Snackbar/useSnackbarManager.d.ts +16 -0
  52. package/build/types/Snackbar/useSnackbarManager.d.ts.map +1 -0
  53. package/build/types/Title/Title.d.ts +2 -2
  54. package/build/types/Upload/Steps/UploadImageStep/UploadImageStep.d.ts +1 -1
  55. package/build/types/UploadInput/UploadItem/UploadItemLink.d.ts +1 -1
  56. package/package.json +3 -3
  57. package/src/Snackbar/Snackbar.css +116 -64
  58. package/src/Snackbar/Snackbar.less +121 -60
  59. package/src/Snackbar/Snackbar.test.tsx +122 -133
  60. package/src/Snackbar/Snackbar.tsx +95 -96
  61. package/src/Snackbar/Snackbar.types.ts +21 -0
  62. package/src/Snackbar/SnackbarContext.ts +2 -2
  63. package/src/Snackbar/SnackbarPortal.tsx +8 -0
  64. package/src/Snackbar/SnackbarProvider.test.tsx +289 -0
  65. package/src/Snackbar/SnackbarProvider.tsx +19 -18
  66. package/src/Snackbar/_stories/Snackbar.rtl.test.story.tsx +16 -6
  67. package/src/Snackbar/_stories/Snackbar.story.tsx +62 -1
  68. package/src/Snackbar/_stories/Snackbar.test.story.tsx +26 -5
  69. package/src/Snackbar/constants.ts +2 -0
  70. package/src/Snackbar/useSnackbarManager.ts +122 -0
  71. package/src/i18n/th.json +1 -1
  72. package/src/i18n/zh-CN.json +0 -1
  73. package/src/main.css +113 -61
package/build/main.css CHANGED
@@ -26174,83 +26174,135 @@ button.np-link {
26174
26174
  box-shadow: inset 1px 0 0 0 rgba(0,0,0,0.10196);
26175
26175
  box-shadow: inset 1px 0 0 0 var(--color-border-neutral);
26176
26176
  }
26177
- .snackbar {
26178
- text-align: center;
26177
+ .wds-Snackbar {
26178
+ display: flex;
26179
+ justify-content: center;
26180
+ box-sizing: border-box;
26181
+ padding-inline: 16px;
26182
+ padding-inline: var(--size-16);
26183
+ padding-block-end: calc(16px + env(safe-area-inset-bottom));
26184
+ padding-block-end: calc(var(--size-16) + env(safe-area-inset-bottom));
26179
26185
  position: fixed;
26180
26186
  inset-block-end: 0;
26181
- inset-inline-start: 0;
26182
- inset-inline-end: 0;
26187
+ inset-inline: 0;
26183
26188
  z-index: 1060;
26184
26189
  }
26185
- .snackbar__text {
26186
- background: #37517e;
26187
- color: #ffffff;
26188
- display: inline-flex;
26189
- border-radius: 2px;
26190
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
26191
- align-items: center;
26192
- justify-content: space-between;
26190
+ @media (min-width: 600px) {
26191
+ .wds-Snackbar {
26192
+ padding-block-end: 24px;
26193
+ padding-block-end: var(--size-24);
26194
+ }
26195
+ }
26196
+ .wds-Snackbar-container {
26197
+ --Prompt-border-radius: var(--radius-medium);
26198
+ --Prompt-gap: var(--size-8);
26199
+ --Prompt-padding-x: var(--size-12);
26200
+ --Prompt-padding-y: var(--size-12);
26201
+ box-sizing: border-box;
26202
+ max-inline-size: 480px;
26193
26203
  text-align: start;
26194
- font-size: 0.875rem;
26195
- font-size: var(--font-size-14);
26196
- margin-block: 0;
26197
- margin-inline: 16px;
26198
- margin-inline: var(--size-16);
26199
- padding-block: 8px;
26200
- padding-block: var(--size-8);
26201
- padding-inline: 16px;
26202
- padding-inline: var(--size-16);
26203
- inline-size: calc(100% - 32px);
26204
- inline-size: calc(100% - var(--size-32));
26205
- transition: 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
26206
26204
  }
26207
- .np-theme-personal .snackbar__text {
26208
- box-shadow: 0 2px 4px 0 rgba(69, 71, 69, 0.35);
26209
- position: relative;
26210
- background: var(--color-contrast-theme);
26211
- border-radius: 10px;
26212
- border-radius: var(--radius-small);
26213
- color: var(--color-contrast-overlay);
26205
+ .wds-Snackbar-container .wds-prompt__content-wrapper--with-dismiss {
26206
+ grid-template-columns: auto minmax(0, 1fr);
26214
26207
  }
26215
- .np-theme-personal .snackbar__text::after {
26216
- display: block;
26217
- border-radius: inherit;
26218
- block-size: 100%;
26219
- inline-size: 100%;
26220
- content: "";
26221
- position: absolute;
26222
- inset-inline-start: 0;
26223
- inset-block-start: 0;
26224
- z-index: -1;
26225
- background-color: rgba(134,167,189,0.10196);
26226
- background-color: var(--color-background-neutral);
26208
+ @media (min-width: 600px) {
26209
+ .wds-Snackbar-container .wds-prompt__content-wrapper--with-dismiss {
26210
+ grid-template-columns: auto minmax(0, 1fr) auto;
26211
+ }
26227
26212
  }
26228
- .np-theme-personal--dark .snackbar__text,
26229
- .np-theme-personal--forest-green .snackbar__text {
26230
- box-shadow: none;
26213
+ .wds-Snackbar-container .wds-prompt__media-wrapper {
26214
+ display: flex;
26215
+ align-items: center;
26216
+ min-block-size: max(32px, 1lh);
26217
+ min-block-size: max(var(--size-32), 1lh);
26218
+ padding-block-start: 0;
26219
+ color: var(--color-sentiment-content-primary);
26220
+ }
26221
+ .wds-Snackbar-container .wds-prompt__media-wrapper:has(+ .wds-Snackbar__content .wds-Snackbar__action) {
26222
+ min-block-size: max(32px, calc(1lh + 5px * 2));
26223
+ min-block-size: max(var(--size-32), calc(1lh + var(--size-5) * 2));
26224
+ }
26225
+ .wds-Snackbar__media-asset {
26226
+ display: flex;
26227
+ }
26228
+ .wds-Snackbar__media-asset svg {
26229
+ inline-size: 24px;
26230
+ inline-size: var(--size-24);
26231
+ block-size: 24px;
26232
+ block-size: var(--size-24);
26233
+ }
26234
+ .wds-Snackbar-container .wds-prompt__dismiss {
26235
+ display: none;
26236
+ align-self: flex-start;
26237
+ margin-block-start: calc(4px - 1px);
26238
+ margin-block-start: calc(var(--size-4) - 1px);
26231
26239
  }
26232
26240
  @media (min-width: 600px) {
26233
- .snackbar__text {
26234
- inline-size: auto;
26235
- max-inline-size: 600px;
26241
+ .wds-Snackbar-container .wds-prompt__dismiss {
26242
+ display: flex;
26236
26243
  }
26237
26244
  }
26238
- .snackbar__text__action {
26245
+ .wds-Snackbar__action {
26239
26246
  flex-shrink: 0;
26240
- margin-inline-start: 16px;
26241
- margin-inline-start: var(--size-16);
26242
26247
  }
26243
- .snackbar__text-container-enter,
26244
- .snackbar__text-container-exit {
26245
- transform: translateY(calc(100% + 10px));
26248
+ .wds-Snackbar__content {
26249
+ display: flex;
26250
+ align-items: flex-start;
26251
+ gap: 8px;
26252
+ gap: var(--size-8);
26253
+ flex: 1 0 0;
26254
+ min-block-size: 32px;
26255
+ min-block-size: var(--size-32);
26256
+ min-inline-size: 0;
26246
26257
  }
26247
- .snackbar__text-container-enter-active {
26248
- transform: translateY(-16px);
26249
- transform: translateY(calc(-16px - env(safe-area-inset-bottom)));
26258
+ .wds-Snackbar__message {
26259
+ display: flex;
26260
+ flex-direction: column;
26261
+ justify-content: center;
26262
+ inline-size: auto;
26263
+ flex: 1 0 0;
26264
+ min-inline-size: 0;
26265
+ align-self: stretch;
26250
26266
  }
26251
- @media (min-width: 600px) {
26252
- .snackbar__text-container-enter-active {
26253
- transform: translateY(-24px);
26267
+ .wds-Snackbar__body {
26268
+ display: block;
26269
+ font-weight: 500;
26270
+ font-weight: var(--font-weight-medium);
26271
+ }
26272
+ .wds-Snackbar-container-appear,
26273
+ .wds-Snackbar-container-enter {
26274
+ opacity: 0;
26275
+ transform: translateY(80px) scale(0.5);
26276
+ }
26277
+ .wds-Snackbar-container-appear-active,
26278
+ .wds-Snackbar-container-enter-active {
26279
+ opacity: 1;
26280
+ transform: translateY(0) scale(1);
26281
+ transition: opacity 150ms linear, transform var(--Snackbar-enter-duration) cubic-bezier(0, 0, 0, 1);
26282
+ }
26283
+ .wds-Snackbar-container-exit {
26284
+ opacity: 1;
26285
+ transform: translateY(0) scale(1);
26286
+ }
26287
+ .wds-Snackbar-container-exit-active {
26288
+ opacity: 0;
26289
+ transform: translateY(80px) scale(0.5);
26290
+ transition: opacity 50ms linear 50ms, transform var(--Snackbar-exit-duration) cubic-bezier(1, 0, 1, 1);
26291
+ }
26292
+ @media (prefers-reduced-motion: reduce) {
26293
+ .wds-Snackbar-container-appear,
26294
+ .wds-Snackbar-container-appear-active,
26295
+ .wds-Snackbar-container-enter,
26296
+ .wds-Snackbar-container-enter-active,
26297
+ .wds-Snackbar-container-exit {
26298
+ opacity: 1;
26299
+ transform: none;
26300
+ transition: none;
26301
+ }
26302
+ .wds-Snackbar-container-exit-active {
26303
+ opacity: 0;
26304
+ transform: none;
26305
+ transition: none;
26254
26306
  }
26255
26307
  }
26256
26308
  .status-circle.negative,
@@ -1,79 +1,131 @@
1
- .snackbar {
2
- text-align: center;
1
+ .wds-Snackbar {
2
+ display: flex;
3
+ justify-content: center;
4
+ box-sizing: border-box;
5
+ padding-inline: 16px;
6
+ padding-inline: var(--size-16);
7
+ padding-block-end: calc(16px + env(safe-area-inset-bottom));
8
+ padding-block-end: calc(var(--size-16) + env(safe-area-inset-bottom));
3
9
  position: fixed;
4
10
  inset-block-end: 0;
5
- inset-inline-start: 0;
6
- inset-inline-end: 0;
11
+ inset-inline: 0;
7
12
  z-index: 1060;
8
13
  }
9
- .snackbar__text {
10
- background: #37517e;
11
- color: #ffffff;
12
- display: inline-flex;
13
- border-radius: 2px;
14
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
15
- align-items: center;
16
- justify-content: space-between;
14
+ @media (min-width: 600px) {
15
+ .wds-Snackbar {
16
+ padding-block-end: 24px;
17
+ padding-block-end: var(--size-24);
18
+ }
19
+ }
20
+ .wds-Snackbar-container {
21
+ --Prompt-border-radius: var(--radius-medium);
22
+ --Prompt-gap: var(--size-8);
23
+ --Prompt-padding-x: var(--size-12);
24
+ --Prompt-padding-y: var(--size-12);
25
+ box-sizing: border-box;
26
+ max-inline-size: 480px;
17
27
  text-align: start;
18
- font-size: 0.875rem;
19
- font-size: var(--font-size-14);
20
- margin-block: 0;
21
- margin-inline: 16px;
22
- margin-inline: var(--size-16);
23
- padding-block: 8px;
24
- padding-block: var(--size-8);
25
- padding-inline: 16px;
26
- padding-inline: var(--size-16);
27
- inline-size: calc(100% - 32px);
28
- inline-size: calc(100% - var(--size-32));
29
- transition: 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
30
- }
31
- .np-theme-personal .snackbar__text {
32
- box-shadow: 0 2px 4px 0 rgba(69, 71, 69, 0.35);
33
- position: relative;
34
- background: var(--color-contrast-theme);
35
- border-radius: 10px;
36
- border-radius: var(--radius-small);
37
- color: var(--color-contrast-overlay);
38
- }
39
- .np-theme-personal .snackbar__text::after {
40
- display: block;
41
- border-radius: inherit;
42
- block-size: 100%;
43
- inline-size: 100%;
44
- content: "";
45
- position: absolute;
46
- inset-inline-start: 0;
47
- inset-block-start: 0;
48
- z-index: -1;
49
- background-color: rgba(134,167,189,0.10196);
50
- background-color: var(--color-background-neutral);
51
- }
52
- .np-theme-personal--dark .snackbar__text,
53
- .np-theme-personal--forest-green .snackbar__text {
54
- box-shadow: none;
28
+ }
29
+ .wds-Snackbar-container .wds-prompt__content-wrapper--with-dismiss {
30
+ grid-template-columns: auto minmax(0, 1fr);
55
31
  }
56
32
  @media (min-width: 600px) {
57
- .snackbar__text {
58
- inline-size: auto;
59
- max-inline-size: 600px;
33
+ .wds-Snackbar-container .wds-prompt__content-wrapper--with-dismiss {
34
+ grid-template-columns: auto minmax(0, 1fr) auto;
60
35
  }
61
36
  }
62
- .snackbar__text__action {
63
- flex-shrink: 0;
64
- margin-inline-start: 16px;
65
- margin-inline-start: var(--size-16);
37
+ .wds-Snackbar-container .wds-prompt__media-wrapper {
38
+ display: flex;
39
+ align-items: center;
40
+ min-block-size: max(32px, 1lh);
41
+ min-block-size: max(var(--size-32), 1lh);
42
+ padding-block-start: 0;
43
+ color: var(--color-sentiment-content-primary);
44
+ }
45
+ .wds-Snackbar-container .wds-prompt__media-wrapper:has(+ .wds-Snackbar__content .wds-Snackbar__action) {
46
+ min-block-size: max(32px, calc(1lh + 5px * 2));
47
+ min-block-size: max(var(--size-32), calc(1lh + var(--size-5) * 2));
48
+ }
49
+ .wds-Snackbar__media-asset {
50
+ display: flex;
66
51
  }
67
- .snackbar__text-container-enter,
68
- .snackbar__text-container-exit {
69
- transform: translateY(calc(100% + 10px));
52
+ .wds-Snackbar__media-asset svg {
53
+ inline-size: 24px;
54
+ inline-size: var(--size-24);
55
+ block-size: 24px;
56
+ block-size: var(--size-24);
70
57
  }
71
- .snackbar__text-container-enter-active {
72
- transform: translateY(-16px);
73
- transform: translateY(calc(-16px - env(safe-area-inset-bottom)));
58
+ .wds-Snackbar-container .wds-prompt__dismiss {
59
+ display: none;
60
+ align-self: flex-start;
61
+ margin-block-start: calc(4px - 1px);
62
+ margin-block-start: calc(var(--size-4) - 1px);
74
63
  }
75
64
  @media (min-width: 600px) {
76
- .snackbar__text-container-enter-active {
77
- transform: translateY(-24px);
65
+ .wds-Snackbar-container .wds-prompt__dismiss {
66
+ display: flex;
67
+ }
68
+ }
69
+ .wds-Snackbar__action {
70
+ flex-shrink: 0;
71
+ }
72
+ .wds-Snackbar__content {
73
+ display: flex;
74
+ align-items: flex-start;
75
+ gap: 8px;
76
+ gap: var(--size-8);
77
+ flex: 1 0 0;
78
+ min-block-size: 32px;
79
+ min-block-size: var(--size-32);
80
+ min-inline-size: 0;
81
+ }
82
+ .wds-Snackbar__message {
83
+ display: flex;
84
+ flex-direction: column;
85
+ justify-content: center;
86
+ inline-size: auto;
87
+ flex: 1 0 0;
88
+ min-inline-size: 0;
89
+ align-self: stretch;
90
+ }
91
+ .wds-Snackbar__body {
92
+ display: block;
93
+ font-weight: 500;
94
+ font-weight: var(--font-weight-medium);
95
+ }
96
+ .wds-Snackbar-container-appear,
97
+ .wds-Snackbar-container-enter {
98
+ opacity: 0;
99
+ transform: translateY(80px) scale(0.5);
100
+ }
101
+ .wds-Snackbar-container-appear-active,
102
+ .wds-Snackbar-container-enter-active {
103
+ opacity: 1;
104
+ transform: translateY(0) scale(1);
105
+ transition: opacity 150ms linear, transform var(--Snackbar-enter-duration) cubic-bezier(0, 0, 0, 1);
106
+ }
107
+ .wds-Snackbar-container-exit {
108
+ opacity: 1;
109
+ transform: translateY(0) scale(1);
110
+ }
111
+ .wds-Snackbar-container-exit-active {
112
+ opacity: 0;
113
+ transform: translateY(80px) scale(0.5);
114
+ transition: opacity 50ms linear 50ms, transform var(--Snackbar-exit-duration) cubic-bezier(1, 0, 1, 1);
115
+ }
116
+ @media (prefers-reduced-motion: reduce) {
117
+ .wds-Snackbar-container-appear,
118
+ .wds-Snackbar-container-appear-active,
119
+ .wds-Snackbar-container-enter,
120
+ .wds-Snackbar-container-enter-active,
121
+ .wds-Snackbar-container-exit {
122
+ opacity: 1;
123
+ transform: none;
124
+ transition: none;
125
+ }
126
+ .wds-Snackbar-container-exit-active {
127
+ opacity: 0;
128
+ transform: none;
129
+ transition: none;
78
130
  }
79
131
  }
@@ -26174,83 +26174,135 @@ button.np-link {
26174
26174
  box-shadow: inset 1px 0 0 0 rgba(0,0,0,0.10196);
26175
26175
  box-shadow: inset 1px 0 0 0 var(--color-border-neutral);
26176
26176
  }
26177
- .snackbar {
26178
- text-align: center;
26177
+ .wds-Snackbar {
26178
+ display: flex;
26179
+ justify-content: center;
26180
+ box-sizing: border-box;
26181
+ padding-inline: 16px;
26182
+ padding-inline: var(--size-16);
26183
+ padding-block-end: calc(16px + env(safe-area-inset-bottom));
26184
+ padding-block-end: calc(var(--size-16) + env(safe-area-inset-bottom));
26179
26185
  position: fixed;
26180
26186
  inset-block-end: 0;
26181
- inset-inline-start: 0;
26182
- inset-inline-end: 0;
26187
+ inset-inline: 0;
26183
26188
  z-index: 1060;
26184
26189
  }
26185
- .snackbar__text {
26186
- background: #37517e;
26187
- color: #ffffff;
26188
- display: inline-flex;
26189
- border-radius: 2px;
26190
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
26191
- align-items: center;
26192
- justify-content: space-between;
26190
+ @media (min-width: 600px) {
26191
+ .wds-Snackbar {
26192
+ padding-block-end: 24px;
26193
+ padding-block-end: var(--size-24);
26194
+ }
26195
+ }
26196
+ .wds-Snackbar-container {
26197
+ --Prompt-border-radius: var(--radius-medium);
26198
+ --Prompt-gap: var(--size-8);
26199
+ --Prompt-padding-x: var(--size-12);
26200
+ --Prompt-padding-y: var(--size-12);
26201
+ box-sizing: border-box;
26202
+ max-inline-size: 480px;
26193
26203
  text-align: start;
26194
- font-size: 0.875rem;
26195
- font-size: var(--font-size-14);
26196
- margin-block: 0;
26197
- margin-inline: 16px;
26198
- margin-inline: var(--size-16);
26199
- padding-block: 8px;
26200
- padding-block: var(--size-8);
26201
- padding-inline: 16px;
26202
- padding-inline: var(--size-16);
26203
- inline-size: calc(100% - 32px);
26204
- inline-size: calc(100% - var(--size-32));
26205
- transition: 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
26206
26204
  }
26207
- .np-theme-personal .snackbar__text {
26208
- box-shadow: 0 2px 4px 0 rgba(69, 71, 69, 0.35);
26209
- position: relative;
26210
- background: var(--color-contrast-theme);
26211
- border-radius: 10px;
26212
- border-radius: var(--radius-small);
26213
- color: var(--color-contrast-overlay);
26205
+ .wds-Snackbar-container .wds-prompt__content-wrapper--with-dismiss {
26206
+ grid-template-columns: auto minmax(0, 1fr);
26214
26207
  }
26215
- .np-theme-personal .snackbar__text::after {
26216
- display: block;
26217
- border-radius: inherit;
26218
- block-size: 100%;
26219
- inline-size: 100%;
26220
- content: "";
26221
- position: absolute;
26222
- inset-inline-start: 0;
26223
- inset-block-start: 0;
26224
- z-index: -1;
26225
- background-color: rgba(134,167,189,0.10196);
26226
- background-color: var(--color-background-neutral);
26208
+ @media (min-width: 600px) {
26209
+ .wds-Snackbar-container .wds-prompt__content-wrapper--with-dismiss {
26210
+ grid-template-columns: auto minmax(0, 1fr) auto;
26211
+ }
26227
26212
  }
26228
- .np-theme-personal--dark .snackbar__text,
26229
- .np-theme-personal--forest-green .snackbar__text {
26230
- box-shadow: none;
26213
+ .wds-Snackbar-container .wds-prompt__media-wrapper {
26214
+ display: flex;
26215
+ align-items: center;
26216
+ min-block-size: max(32px, 1lh);
26217
+ min-block-size: max(var(--size-32), 1lh);
26218
+ padding-block-start: 0;
26219
+ color: var(--color-sentiment-content-primary);
26220
+ }
26221
+ .wds-Snackbar-container .wds-prompt__media-wrapper:has(+ .wds-Snackbar__content .wds-Snackbar__action) {
26222
+ min-block-size: max(32px, calc(1lh + 5px * 2));
26223
+ min-block-size: max(var(--size-32), calc(1lh + var(--size-5) * 2));
26224
+ }
26225
+ .wds-Snackbar__media-asset {
26226
+ display: flex;
26227
+ }
26228
+ .wds-Snackbar__media-asset svg {
26229
+ inline-size: 24px;
26230
+ inline-size: var(--size-24);
26231
+ block-size: 24px;
26232
+ block-size: var(--size-24);
26233
+ }
26234
+ .wds-Snackbar-container .wds-prompt__dismiss {
26235
+ display: none;
26236
+ align-self: flex-start;
26237
+ margin-block-start: calc(4px - 1px);
26238
+ margin-block-start: calc(var(--size-4) - 1px);
26231
26239
  }
26232
26240
  @media (min-width: 600px) {
26233
- .snackbar__text {
26234
- inline-size: auto;
26235
- max-inline-size: 600px;
26241
+ .wds-Snackbar-container .wds-prompt__dismiss {
26242
+ display: flex;
26236
26243
  }
26237
26244
  }
26238
- .snackbar__text__action {
26245
+ .wds-Snackbar__action {
26239
26246
  flex-shrink: 0;
26240
- margin-inline-start: 16px;
26241
- margin-inline-start: var(--size-16);
26242
26247
  }
26243
- .snackbar__text-container-enter,
26244
- .snackbar__text-container-exit {
26245
- transform: translateY(calc(100% + 10px));
26248
+ .wds-Snackbar__content {
26249
+ display: flex;
26250
+ align-items: flex-start;
26251
+ gap: 8px;
26252
+ gap: var(--size-8);
26253
+ flex: 1 0 0;
26254
+ min-block-size: 32px;
26255
+ min-block-size: var(--size-32);
26256
+ min-inline-size: 0;
26246
26257
  }
26247
- .snackbar__text-container-enter-active {
26248
- transform: translateY(-16px);
26249
- transform: translateY(calc(-16px - env(safe-area-inset-bottom)));
26258
+ .wds-Snackbar__message {
26259
+ display: flex;
26260
+ flex-direction: column;
26261
+ justify-content: center;
26262
+ inline-size: auto;
26263
+ flex: 1 0 0;
26264
+ min-inline-size: 0;
26265
+ align-self: stretch;
26250
26266
  }
26251
- @media (min-width: 600px) {
26252
- .snackbar__text-container-enter-active {
26253
- transform: translateY(-24px);
26267
+ .wds-Snackbar__body {
26268
+ display: block;
26269
+ font-weight: 500;
26270
+ font-weight: var(--font-weight-medium);
26271
+ }
26272
+ .wds-Snackbar-container-appear,
26273
+ .wds-Snackbar-container-enter {
26274
+ opacity: 0;
26275
+ transform: translateY(80px) scale(0.5);
26276
+ }
26277
+ .wds-Snackbar-container-appear-active,
26278
+ .wds-Snackbar-container-enter-active {
26279
+ opacity: 1;
26280
+ transform: translateY(0) scale(1);
26281
+ transition: opacity 150ms linear, transform var(--Snackbar-enter-duration) cubic-bezier(0, 0, 0, 1);
26282
+ }
26283
+ .wds-Snackbar-container-exit {
26284
+ opacity: 1;
26285
+ transform: translateY(0) scale(1);
26286
+ }
26287
+ .wds-Snackbar-container-exit-active {
26288
+ opacity: 0;
26289
+ transform: translateY(80px) scale(0.5);
26290
+ transition: opacity 50ms linear 50ms, transform var(--Snackbar-exit-duration) cubic-bezier(1, 0, 1, 1);
26291
+ }
26292
+ @media (prefers-reduced-motion: reduce) {
26293
+ .wds-Snackbar-container-appear,
26294
+ .wds-Snackbar-container-appear-active,
26295
+ .wds-Snackbar-container-enter,
26296
+ .wds-Snackbar-container-enter-active,
26297
+ .wds-Snackbar-container-exit {
26298
+ opacity: 1;
26299
+ transform: none;
26300
+ transition: none;
26301
+ }
26302
+ .wds-Snackbar-container-exit-active {
26303
+ opacity: 0;
26304
+ transform: none;
26305
+ transition: none;
26254
26306
  }
26255
26307
  }
26256
26308
  .status-circle.negative,
@@ -11,7 +11,7 @@ export type BodyProps = HTMLAttributes<HTMLSpanElement | HTMLParagraphElement> &
11
11
  */
12
12
  preserveNewlines?: boolean;
13
13
  };
14
- declare const Body: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement | HTMLParagraphElement> & {
14
+ declare const Body: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement | HTMLSpanElement> & {
15
15
  /** @default 'body-default' */
16
16
  type?: BodyTypes;
17
17
  /** @default 'div' */
@@ -21,6 +21,6 @@ declare const Body: import("react").ForwardRefExoticComponent<HTMLAttributes<HTM
21
21
  * @default false
22
22
  */
23
23
  preserveNewlines?: boolean;
24
- } & import("react").RefAttributes<HTMLDivElement | HTMLSpanElement | HTMLParagraphElement | null>>;
24
+ } & import("react").RefAttributes<HTMLDivElement | HTMLParagraphElement | HTMLSpanElement | null>>;
25
25
  export default Body;
26
26
  //# sourceMappingURL=Body.d.ts.map
@@ -16,6 +16,6 @@ declare const IconButton: import("react").ForwardRefExoticComponent<{
16
16
  /** @default 'default' */
17
17
  type?: "default" | "negative";
18
18
  'data-testid'?: string;
19
- } & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "target" | "href"> & Pick<ButtonHTMLAttributes<HTMLButtonElement>, "disabled" | "onClick"> & Pick<HTMLAttributes<HTMLDivElement>, "children" | "className" | "id" | "tabIndex" | "role" | "aria-label"> & import("react").RefAttributes<unknown>>;
19
+ } & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "target" | "href"> & Pick<ButtonHTMLAttributes<HTMLButtonElement>, "disabled" | "onClick"> & Pick<HTMLAttributes<HTMLDivElement>, "id" | "className" | "tabIndex" | "role" | "aria-label" | "children"> & import("react").RefAttributes<unknown>>;
20
20
  export default IconButton;
21
21
  //# sourceMappingURL=IconButton.d.ts.map
@@ -55,6 +55,7 @@ declare const _default: import("react").FC<{
55
55
  selectProps?: Partial<SelectInputProps<CurrencyOptionItem>> | undefined;
56
56
  amount: number | null;
57
57
  searchPlaceholder?: string | undefined;
58
+ decimals?: number | undefined;
58
59
  currencies: readonly CurrencyItem[];
59
60
  selectedCurrency: CurrencyOptionItem;
60
61
  onCurrencyChange?: ((value: CurrencyOptionItem) => void) | undefined;
@@ -66,7 +67,6 @@ declare const _default: import("react").FC<{
66
67
  }) => void) | undefined;
67
68
  customActionLabel?: import("react").ReactNode;
68
69
  onCustomAction?: (() => void) | undefined;
69
- decimals?: number | undefined;
70
70
  }>;
71
71
  export default _default;
72
72
  //# sourceMappingURL=MoneyInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MoneyInput.d.ts","sourceRoot":"","sources":["../../../src/MoneyInput/MoneyInput.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAGL,SAAS,EACT,UAAU,EACV,SAAS,EAEV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAuB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,EAKL,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAO/B,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAoDnE,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,SAAS,YAAY,EAAE,CAAC;IACpC,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,YAAY,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3F,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,kCAAkC,GAAG,eAAe,GAC9D,OAAO,CAAC,wBAAwB,CAAC,CAAC;;SA5B7B,MAAM;wBACS,MAAM;YAMnB,SAAS,GAAG,UAAU,GAAG,SAAS;kBAF3B,MAAM;iBAYP,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;kBACrB,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAZnD,MAAM,GAAG,IAAI;wBAID,MAAM;gBARd,SAAS,YAAY,EAAE;sBACjB,kBAAkB;wBACjB,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI;sBAIrC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;sBAM9B,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,YAAY,EAAE,CAAA;KAAE,KAAK,IAAI;;sBAEzE,MAAM,IAAI;eAQhB,MAAM;;AA0anB,wBAA2F"}
1
+ {"version":3,"file":"MoneyInput.d.ts","sourceRoot":"","sources":["../../../src/MoneyInput/MoneyInput.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAGL,SAAS,EACT,UAAU,EACV,SAAS,EAEV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAuB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,EAKL,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAO/B,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAoDnE,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,SAAS,YAAY,EAAE,CAAC;IACpC,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,YAAY,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3F,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,kCAAkC,GAAG,eAAe,GAC9D,OAAO,CAAC,wBAAwB,CAAC,CAAC;;SA5B7B,MAAM;wBACS,MAAM;YAMnB,SAAS,GAAG,UAAU,GAAG,SAAS;kBAF3B,MAAM;iBAYP,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;kBACrB,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAZnD,MAAM,GAAG,IAAI;wBAID,MAAM;eAcf,MAAM;gBAtBL,SAAS,YAAY,EAAE;sBACjB,kBAAkB;wBACjB,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI;sBAIrC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;sBAM9B,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,YAAY,EAAE,CAAA;KAAE,KAAK,IAAI;;sBAEzE,MAAM,IAAI;;AAkb7B,wBAA2F"}
@@ -1,16 +1,18 @@
1
1
  import type { ThemeDark, ThemeLight } from '../common';
2
+ import type { Sentiment } from '../SentimentSurface';
3
+ import type { SnackbarAction, SnackbarInternalProps } from './Snackbar.types';
2
4
  export interface SnackbarProps {
3
- action?: {
4
- label: string;
5
- onClick?: React.MouseEventHandler<HTMLButtonElement>;
6
- };
5
+ /** One optional action, supporting a callback or navigation through `href` and `target`. */
6
+ action?: SnackbarAction;
7
+ media?: React.ReactNode;
8
+ sentiment?: Sentiment;
7
9
  text: React.ReactNode;
8
10
  /** @deprecated Has no effect. Snackbar theming is based on ThemeProvider. */
9
11
  theme?: ThemeLight | ThemeDark;
10
12
  timeout: number;
11
- timestamp: number;
13
+ /** @deprecated Has no effect when using SnackbarProvider, which manages Snackbar identity. */
14
+ timestamp?: number;
12
15
  }
13
- export declare const Snackbar: (props: SnackbarProps) => import("react").JSX.Element;
14
- declare const _default: (props: SnackbarProps) => import("react").ReactPortal | null;
15
- export default _default;
16
+ export declare const Snackbar: ({ action, announcementKey, media, onDismissRequest, onExited, sentiment, text, timeout, visible, }: SnackbarInternalProps) => import("react").JSX.Element;
17
+ export default Snackbar;
16
18
  //# sourceMappingURL=Snackbar.d.ts.map