@transferwise/components 0.0.0-experimental-5c1f9a4 → 0.0.0-experimental-739bfcf

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 (108) hide show
  1. package/build/avatarLayout/AvatarLayout.js +9 -2
  2. package/build/avatarLayout/AvatarLayout.js.map +1 -1
  3. package/build/avatarLayout/AvatarLayout.mjs +9 -2
  4. package/build/avatarLayout/AvatarLayout.mjs.map +1 -1
  5. package/build/button/Button.js +78 -79
  6. package/build/button/Button.js.map +1 -1
  7. package/build/button/Button.mjs +79 -80
  8. package/build/button/Button.mjs.map +1 -1
  9. package/build/button/Button.resolver.js +78 -0
  10. package/build/button/Button.resolver.js.map +1 -0
  11. package/build/button/Button.resolver.mjs +76 -0
  12. package/build/button/Button.resolver.mjs.map +1 -0
  13. package/build/button/LegacyButton.js +114 -0
  14. package/build/button/LegacyButton.js.map +1 -0
  15. package/build/button/LegacyButton.mjs +112 -0
  16. package/build/button/LegacyButton.mjs.map +1 -0
  17. package/build/criticalBanner/CriticalCommsBanner.js +2 -2
  18. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  19. package/build/criticalBanner/CriticalCommsBanner.mjs +1 -1
  20. package/build/header/Header.js +2 -2
  21. package/build/header/Header.js.map +1 -1
  22. package/build/header/Header.mjs +1 -1
  23. package/build/index.js +2 -2
  24. package/build/index.mjs +1 -1
  25. package/build/link/Link.js +8 -3
  26. package/build/link/Link.js.map +1 -1
  27. package/build/link/Link.mjs +8 -3
  28. package/build/link/Link.mjs.map +1 -1
  29. package/build/main.css +250 -0
  30. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.js +1 -3
  31. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.js.map +1 -1
  32. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.mjs +1 -3
  33. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.mjs.map +1 -1
  34. package/build/primitives/PrimitiveButton/src/PrimitiveButton.js +1 -4
  35. package/build/primitives/PrimitiveButton/src/PrimitiveButton.js.map +1 -1
  36. package/build/primitives/PrimitiveButton/src/PrimitiveButton.mjs +1 -4
  37. package/build/primitives/PrimitiveButton/src/PrimitiveButton.mjs.map +1 -1
  38. package/build/select/Select.js +5 -3
  39. package/build/select/Select.js.map +1 -1
  40. package/build/select/Select.mjs +4 -2
  41. package/build/select/Select.mjs.map +1 -1
  42. package/build/styles/avatarLayout/AvatarLayout.css +11 -0
  43. package/build/styles/button/Button.css +231 -15
  44. package/build/styles/button/Button.vars.css +38 -0
  45. package/build/styles/button/LegacyButton.css +23 -0
  46. package/build/styles/main.css +250 -0
  47. package/build/types/avatarLayout/AvatarLayout.d.ts +1 -2
  48. package/build/types/avatarLayout/AvatarLayout.d.ts.map +1 -1
  49. package/build/types/avatarLayout/index.d.ts +1 -0
  50. package/build/types/avatarLayout/index.d.ts.map +1 -1
  51. package/build/types/button/Button.d.ts +1 -23
  52. package/build/types/button/Button.d.ts.map +1 -1
  53. package/build/types/button/Button.resolver.d.ts +31 -0
  54. package/build/types/button/Button.resolver.d.ts.map +1 -0
  55. package/build/types/button/Button.types.d.ts +65 -0
  56. package/build/types/button/Button.types.d.ts.map +1 -0
  57. package/build/types/button/LegacyButton.d.ts +30 -0
  58. package/build/types/button/LegacyButton.d.ts.map +1 -0
  59. package/build/types/button/index.d.ts +2 -2
  60. package/build/types/button/index.d.ts.map +1 -1
  61. package/build/types/link/Link.d.ts +2 -2
  62. package/build/types/link/Link.d.ts.map +1 -1
  63. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.d.ts.map +1 -1
  64. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.d.ts +5 -1
  65. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.d.ts.map +1 -1
  66. package/build/types/primitives/PrimitiveButton/src/PrimitiveButton.d.ts.map +1 -1
  67. package/build/types/select/Select.d.ts.map +1 -1
  68. package/build/upload/steps/completeStep/completeStep.js +2 -2
  69. package/build/upload/steps/completeStep/completeStep.js.map +1 -1
  70. package/build/upload/steps/completeStep/completeStep.mjs +1 -1
  71. package/build/upload/steps/processingStep/processingStep.js +2 -2
  72. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  73. package/build/upload/steps/processingStep/processingStep.mjs +1 -1
  74. package/build/uploadInput/UploadInput.js +3 -3
  75. package/build/uploadInput/UploadInput.js.map +1 -1
  76. package/build/uploadInput/UploadInput.mjs +1 -1
  77. package/package.json +3 -3
  78. package/src/avatarLayout/AvatarLayout.css +11 -0
  79. package/src/avatarLayout/AvatarLayout.less +18 -1
  80. package/src/avatarLayout/AvatarLayout.tsx +11 -3
  81. package/src/avatarLayout/index.ts +1 -0
  82. package/src/button/Button.css +231 -15
  83. package/src/button/Button.less +232 -14
  84. package/src/button/Button.resolver.tsx +120 -0
  85. package/src/button/Button.spec.tsx +54 -231
  86. package/src/button/Button.story.tsx +612 -137
  87. package/src/button/Button.tsx +88 -132
  88. package/src/button/Button.types.ts +86 -0
  89. package/src/button/Button.vars.css +38 -0
  90. package/src/button/Button.vars.less +46 -0
  91. package/src/button/LegacyButton.css +23 -0
  92. package/src/button/LegacyButton.less +24 -0
  93. package/src/button/LegacyButton.spec.tsx +146 -0
  94. package/src/button/LegacyButton.story.tsx +224 -0
  95. package/src/button/LegacyButton.tsx +161 -0
  96. package/src/button/index.ts +2 -3
  97. package/src/flowNavigation/__snapshots__/FlowNavigation.spec.js.snap +1 -1
  98. package/src/inputs/SelectInput.story.tsx +1 -1
  99. package/src/link/Link.tsx +15 -6
  100. package/src/main.css +250 -0
  101. package/src/main.less +1 -0
  102. package/src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx +1 -7
  103. package/src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.ts +6 -1
  104. package/src/primitives/PrimitiveAnchor/test/PrimitiveAnchor.spec.tsx +1 -3
  105. package/src/primitives/PrimitiveButton/src/PrimitiveButton.tsx +1 -8
  106. package/src/primitives/PrimitiveButton/test/PrimitiveButton.spec.tsx +2 -5
  107. package/src/select/Select.tsx +1 -0
  108. package/src/button/__snapshots__/Button.spec.tsx.snap +0 -309
@@ -1,23 +1,239 @@
1
- .np-btn {
1
+ .wds-Button {
2
+ --Button-background: var(--color-interactive-accent);
3
+ --Button-background-hover: var(--color-interactive-accent-hover);
4
+ --Button-background-active: var(--color-interactive-accent-active);
5
+ --Button-color: var(--color-interactive-control);
6
+ --Button-padding: var(--size-8) var(--size-12);
7
+ --Button-border-radius: var(--radius-full);
8
+ --Button-size-small-padding: 5px var(--size-12);
9
+ --Button-size-medium-padding: var(--size-8) var(--size-12);
10
+ --Button-size-large-padding: var(--size-12) var(--size-16);
11
+ --Button-transition-duration: 150ms;
12
+ --Button-transition-easing: ease-in-out;
13
+ --Button-secondary-background: var(--color-interactive-neutral);
14
+ --Button-secondary-background-hover: var(--color-interactive-neutral-hover);
15
+ --Button-secondary-background-active: var(--color-interactive-neutral-active);
16
+ --Button-secondary-color: var(--color-interactive-primary);
17
+ --Button-tertiary-background: var(--color-background-neutral);
18
+ --Button-tertiary-background-hover: var(--color-background-neutral-hover);
19
+ --Button-tertiary-background-active: var(--color-background-neutral-active);
20
+ --Button-tertiary-color: var(--color-content-primary);
21
+ --Button-minimal-background: transparent;
22
+ --Button-minimal-background-hover: var(--color-background-screen-hover);
23
+ --Button-minimal-background-active: var(--color-background-screen-active);
24
+ --Button-minimal-color: var(--color-interactive-primary);
25
+ --Button-primary-negative-background: var(--color-sentiment-negative-primary);
26
+ --Button-primary-negative-background-hover: var(--color-sentiment-negative-primary-hover);
27
+ --Button-primary-negative-background-active: var(--color-sentiment-negative-primary-active);
28
+ --Button-primary-negative-color: var(--color-contrast);
29
+ --Button-secondary-negative-background: var(--color-sentiment-negative-secondary);
30
+ --Button-secondary-negative-background-hover: var(--color-sentiment-negative-secondary-hover);
31
+ --Button-secondary-negative-background-active: var(--color-sentiment-negative-secondary-active);
32
+ --Button-secondary-negative-color: var(--color-sentiment-negative-primary);
33
+ }
34
+ .np-theme-personal--bright-green .wds-Button {
35
+ --color-contrast: #FFFFFF;
36
+ --Button-secondary-color: var(--color-interactive-control);
37
+ --Button-secondary-negative-color: var(--color-contrast);
38
+ }
39
+ /* Button Styles */
40
+ .wds-Button {
41
+ display: inline-flex;
42
+ flex: none;
43
+ width: auto;
44
+ align-items: center;
45
+ justify-content: center;
46
+ vertical-align: middle;
47
+ text-align: center;
48
+ -webkit-text-decoration: none;
49
+ text-decoration: none;
50
+ white-space: nowrap;
51
+ word-wrap: break-word;
52
+ -webkit-appearance: none;
53
+ -moz-appearance: none;
54
+ appearance: none;
55
+ background-color: var(--Button-background);
56
+ border: none;
57
+ border-radius: var(--Button-border-radius);
58
+ color: var(--Button-color);
59
+ cursor: pointer;
60
+ padding: var(--Button-padding);
61
+ transition: color, background-color var(--Button-transition-duration) var(--Button-transition-easing);
62
+ }
63
+ .wds-Button:focus {
64
+ -webkit-text-decoration: none;
65
+ text-decoration: none;
66
+ }
67
+ .wds-Button:hover {
68
+ background-color: var(--Button-background-hover);
69
+ -webkit-text-decoration: none;
70
+ text-decoration: none;
71
+ }
72
+ .wds-Button:active {
73
+ background-color: var(--Button-background-active);
74
+ -webkit-text-decoration: none;
75
+ text-decoration: none;
76
+ }
77
+ .wds-Button.wds-Button--disabled,
78
+ .wds-Button:disabled {
79
+ mix-blend-mode: luminosity;
80
+ opacity: 0.45;
81
+ cursor: not-allowed;
82
+ }
83
+ .wds-Button.wds-Button--disabled:hover,
84
+ .wds-Button:disabled:hover,
85
+ .wds-Button.wds-Button--disabled:active,
86
+ .wds-Button:disabled:active {
87
+ background-color: var(--Button-background);
88
+ }
89
+ .wds-Button--secondary {
90
+ --Button-background: var(--Button-secondary-background);
91
+ --Button-background-hover: var(--Button-secondary-background-hover);
92
+ --Button-background-active: var(--Button-secondary-background-active);
93
+ --Button-color: var(--Button-secondary-color);
94
+ }
95
+ .wds-Button--tertiary {
96
+ --Button-background: var(--Button-tertiary-background);
97
+ --Button-background-hover: var(--Button-tertiary-background-hover);
98
+ --Button-background-active: var(--Button-tertiary-background-active);
99
+ --Button-color: var(--Button-tertiary-color);
100
+ }
101
+ .wds-Button--tertiary .wds-Button-icon--end {
102
+ color: var(--color-interactive-primary);
103
+ }
104
+ .wds-Button--minimal {
105
+ --Button-background: var(--Button-minimal-background);
106
+ --Button-background-hover: var(--Button-minimal-background-hover);
107
+ --Button-background-active: var(--Button-minimal-background-active);
108
+ --Button-color: var(--Button-minimal-color);
109
+ -webkit-text-decoration: underline;
110
+ text-decoration: underline;
111
+ text-underline-offset: 3px;
112
+ text-decoration-thickness: 1px;
113
+ }
114
+ .wds-Button--minimal:hover,
115
+ .wds-Button--minimal:hover:active {
116
+ -webkit-text-decoration: underline;
117
+ text-decoration: underline;
118
+ }
119
+ .wds-Button--negative.wds-Button--primary {
120
+ --Button-background: var(--Button-primary-negative-background);
121
+ --Button-background-hover: var(--Button-primary-negative-background-hover);
122
+ --Button-background-active: var(--Button-primary-negative-background-active);
123
+ --Button-color: var(--Button-primary-negative-color);
124
+ }
125
+ .wds-Button--negative.wds-Button--secondary {
126
+ --Button-background: var(--Button-secondary-negative-background);
127
+ --Button-background-hover: var(--Button-secondary-negative-background-hover);
128
+ --Button-background-active: var(--Button-secondary-negative-background-active);
129
+ --Button-color: var(--Button-secondary-negative-color);
130
+ }
131
+ .wds-Button--small {
132
+ --Button-padding: var(--Button-size-small-padding);
133
+ }
134
+ .wds-Button--small .wds-Button-icon--start {
135
+ margin-right: 4px;
136
+ margin-right: var(--size-4);
137
+ }
138
+ [dir="rtl"] .wds-Button--small .wds-Button-icon--start {
139
+ margin-right: 0;
140
+ margin-left: 4px;
141
+ margin-left: var(--size-4);
142
+ }
143
+ .wds-Button--medium {
144
+ --Button-padding: var(--Button-size-medium-padding);
145
+ }
146
+ .wds-Button--large {
147
+ --Button-padding: var(--Button-size-large-padding);
148
+ }
149
+ .wds-Button--block {
150
+ width: 100%;
151
+ }
152
+ .wds-Button-avatars {
153
+ display: inline-flex;
154
+ margin-right: 5px;
155
+ margin-left: calc(4px * -1);
156
+ margin-left: calc(var(--size-4) * -1);
157
+ }
158
+ [dir="rtl"] .wds-Button-avatars {
159
+ margin-right: 0;
160
+ margin-left: 5px;
161
+ }
162
+ .wds-Button-avatars .np-avatar-view .np-avatar-view-content {
163
+ color: var(--Button-color);
164
+ }
165
+ .wds-Button-icon {
166
+ display: inline-block;
167
+ }
168
+ .wds-Button-icon--start {
169
+ margin-right: 8px;
170
+ margin-right: var(--size-8);
171
+ }
172
+ [dir="rtl"] .wds-Button-icon--start {
173
+ margin-right: 0;
174
+ margin-left: 8px;
175
+ margin-left: var(--size-8);
176
+ }
177
+ .wds-Button-icon--end {
178
+ margin-left: 4px;
179
+ margin-left: var(--size-4);
180
+ }
181
+ [dir="rtl"] .wds-Button-icon--end {
182
+ margin-left: 0;
183
+ margin-right: 4px;
184
+ margin-right: var(--size-4);
185
+ }
186
+ .wds-Button-content {
187
+ position: relative;
188
+ }
189
+ .wds-Button-content--loading .wds-Button-label,
190
+ .wds-Button-content--loading .wds-Button-media,
191
+ .wds-Button-content--loading .wds-Button-icon {
192
+ visibility: hidden;
193
+ opacity: 0;
194
+ }
195
+ .wds-Button-label {
196
+ display: flex;
197
+ justify-content: center;
198
+ align-items: center;
2
199
  position: relative;
3
200
  }
4
- .np-btn.np-btn-block > span.btn-loader {
201
+ .wds-Button-loader {
5
202
  position: absolute;
6
- left: 24px;
7
- left: var(--size-24);
203
+ display: flex;
204
+ justify-content: center;
205
+ align-items: center;
206
+ width: 100%;
207
+ height: 100%;
208
+ }
209
+ .wds-Button-loader .process-circle {
210
+ stroke: var(--Button-color);
211
+ }
212
+ /* RTL Styles */
213
+ [dir="rtl"] .wds-Button .tw-icon-chevron-right,[dir="rtl"] .wds-Button .tw-icon-arrow-right {
214
+ transform: rotate(180deg);
215
+ }
216
+ [dir="rtl"] .wds-Button .tw-icon-chevron-left,[dir="rtl"] .wds-Button .tw-icon-arrow-left {
217
+ transform: rotate(180deg);
8
218
  }
9
- [dir="rtl"] .np-btn.np-btn-block > span.btn-loader {
10
- right: 24px;
11
- right: var(--size-24);
12
- left: auto;
13
- left: initial;
219
+ /* Avatar border transparency */
220
+ /* dark buttons get 20% transparency, light buttons get 12% */
221
+ .wds-Button-avatars .np-circle {
222
+ --circle-border-color: color-mix(in srgb, var(--Button-color) 20%, transparent);
14
223
  }
15
- .np-btn.np-btn-xs > span.btn-loader {
16
- background-size: 16px 16px;
224
+ .np-theme-personal:not(.np-theme-personal--dark):not(.np-theme-personal--forest-green):not(.np-theme-personal--bright-green) .wds-Button--secondary.wds-Button--negative .wds-Button-avatars .np-circle,
225
+ .np-theme-personal:not(.np-theme-personal--dark):not(.np-theme-personal--forest-green):not(.np-theme-personal--bright-green) .wds-Button--secondary .wds-Button-avatars .np-circle,
226
+ .np-theme-personal:not(.np-theme-personal--dark):not(.np-theme-personal--forest-green):not(.np-theme-personal--bright-green) .wds-Button--tertiary .wds-Button-avatars .np-circle,
227
+ .np-theme-personal:not(.np-theme-personal--dark):not(.np-theme-personal--forest-green):not(.np-theme-personal--bright-green) .wds-Button--minimal .wds-Button-avatars .np-circle {
228
+ --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
17
229
  }
18
- .np-btn.np-btn-xs.btn-block > span.btn-loader {
19
- top: 0;
230
+ .np-theme-personal--dark .wds-Button--primary .wds-Button-avatars .np-circle,
231
+ .np-theme-personal--dark .wds-Button--primary.wds-Button--negative .wds-Button-avatars .np-circle,
232
+ .np-theme-personal--forest-green .wds-Button--primary .wds-Button-avatars .np-circle,
233
+ .np-theme-personal--forest-green .wds-Button--primary.wds-Button--negative .wds-Button-avatars .np-circle {
234
+ --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
20
235
  }
21
- .np-btn.disabled[class] {
22
- pointer-events: auto;
236
+ .np-theme-personal--bright-green .wds-Button--tertiary .wds-Button-avatars .np-circle,
237
+ .np-theme-personal--bright-green .wds-Button--minimal .wds-Button-avatars .np-circle {
238
+ --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
23
239
  }
@@ -0,0 +1,38 @@
1
+ .wds-Button {
2
+ --Button-background: var(--color-interactive-accent);
3
+ --Button-background-hover: var(--color-interactive-accent-hover);
4
+ --Button-background-active: var(--color-interactive-accent-active);
5
+ --Button-color: var(--color-interactive-control);
6
+ --Button-padding: var(--size-8) var(--size-12);
7
+ --Button-border-radius: var(--radius-full);
8
+ --Button-size-small-padding: 5px var(--size-12);
9
+ --Button-size-medium-padding: var(--size-8) var(--size-12);
10
+ --Button-size-large-padding: var(--size-12) var(--size-16);
11
+ --Button-transition-duration: 150ms;
12
+ --Button-transition-easing: ease-in-out;
13
+ --Button-secondary-background: var(--color-interactive-neutral);
14
+ --Button-secondary-background-hover: var(--color-interactive-neutral-hover);
15
+ --Button-secondary-background-active: var(--color-interactive-neutral-active);
16
+ --Button-secondary-color: var(--color-interactive-primary);
17
+ --Button-tertiary-background: var(--color-background-neutral);
18
+ --Button-tertiary-background-hover: var(--color-background-neutral-hover);
19
+ --Button-tertiary-background-active: var(--color-background-neutral-active);
20
+ --Button-tertiary-color: var(--color-content-primary);
21
+ --Button-minimal-background: transparent;
22
+ --Button-minimal-background-hover: var(--color-background-screen-hover);
23
+ --Button-minimal-background-active: var(--color-background-screen-active);
24
+ --Button-minimal-color: var(--color-interactive-primary);
25
+ --Button-primary-negative-background: var(--color-sentiment-negative-primary);
26
+ --Button-primary-negative-background-hover: var(--color-sentiment-negative-primary-hover);
27
+ --Button-primary-negative-background-active: var(--color-sentiment-negative-primary-active);
28
+ --Button-primary-negative-color: var(--color-contrast);
29
+ --Button-secondary-negative-background: var(--color-sentiment-negative-secondary);
30
+ --Button-secondary-negative-background-hover: var(--color-sentiment-negative-secondary-hover);
31
+ --Button-secondary-negative-background-active: var(--color-sentiment-negative-secondary-active);
32
+ --Button-secondary-negative-color: var(--color-sentiment-negative-primary);
33
+ }
34
+ .np-theme-personal--bright-green .wds-Button {
35
+ --color-contrast: #FFFFFF;
36
+ --Button-secondary-color: var(--color-interactive-control);
37
+ --Button-secondary-negative-color: var(--color-contrast);
38
+ }
@@ -0,0 +1,23 @@
1
+ .np-btn {
2
+ position: relative;
3
+ }
4
+ .np-btn.np-btn-block > span.btn-loader {
5
+ position: absolute;
6
+ left: 24px;
7
+ left: var(--size-24);
8
+ }
9
+ [dir="rtl"] .np-btn.np-btn-block > span.btn-loader {
10
+ right: 24px;
11
+ right: var(--size-24);
12
+ left: auto;
13
+ left: initial;
14
+ }
15
+ .np-btn.np-btn-xs > span.btn-loader {
16
+ background-size: 16px 16px;
17
+ }
18
+ .np-btn.np-btn-xs.btn-block > span.btn-loader {
19
+ top: 0;
20
+ }
21
+ .np-btn.disabled[class] {
22
+ pointer-events: auto;
23
+ }
@@ -518,10 +518,18 @@ div.critical-comms .critical-comms-body {
518
518
  -webkit-mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) right calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
519
519
  mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) right calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
520
520
  }
521
+ [dir="rtl"] .np-avatar-layout-diagonal-mask {
522
+ -webkit-mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) left calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
523
+ mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) left calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
524
+ }
521
525
  .np-avatar-layout-diagonal-child {
522
526
  margin-left: calc(var(--np-avatar-layout-size) - var(--np-avatar-size) * 2);
523
527
  margin-top: calc(var(--np-avatar-layout-size) - var(--np-avatar-size));
524
528
  }
529
+ [dir="rtl"] .np-avatar-layout-diagonal-child {
530
+ margin-left: 0;
531
+ margin-right: calc(var(--np-avatar-layout-size) - var(--np-avatar-size) * 2);
532
+ }
525
533
  .np-avatar-layout-horizontal {
526
534
  width: calc(var(--np-avatar-size) * 2 - var(--np-avatar-offset));
527
535
  height: var(--np-avatar-layout-size);
@@ -535,6 +543,9 @@ div.critical-comms .critical-comms-body {
535
543
  .np-avatar-layout-horizontal-child {
536
544
  margin-left: calc(var(--np-avatar-offset) * -1);
537
545
  }
546
+ [dir="rtl"] .np-avatar-layout-horizontal-child {
547
+ margin-right: calc(var(--np-avatar-offset) * -1);
548
+ }
538
549
  .np-icon-button {
539
550
  border: none;
540
551
  }
@@ -705,6 +716,245 @@ div.critical-comms .critical-comms-body {
705
716
  .np-btn.disabled[class] {
706
717
  pointer-events: auto;
707
718
  }
719
+ .wds-Button {
720
+ --Button-background: var(--color-interactive-accent);
721
+ --Button-background-hover: var(--color-interactive-accent-hover);
722
+ --Button-background-active: var(--color-interactive-accent-active);
723
+ --Button-color: var(--color-interactive-control);
724
+ --Button-padding: var(--size-8) var(--size-12);
725
+ --Button-border-radius: var(--radius-full);
726
+ --Button-size-small-padding: 5px var(--size-12);
727
+ --Button-size-medium-padding: var(--size-8) var(--size-12);
728
+ --Button-size-large-padding: var(--size-12) var(--size-16);
729
+ --Button-transition-duration: 150ms;
730
+ --Button-transition-easing: ease-in-out;
731
+ --Button-secondary-background: var(--color-interactive-neutral);
732
+ --Button-secondary-background-hover: var(--color-interactive-neutral-hover);
733
+ --Button-secondary-background-active: var(--color-interactive-neutral-active);
734
+ --Button-secondary-color: var(--color-interactive-primary);
735
+ --Button-tertiary-background: var(--color-background-neutral);
736
+ --Button-tertiary-background-hover: var(--color-background-neutral-hover);
737
+ --Button-tertiary-background-active: var(--color-background-neutral-active);
738
+ --Button-tertiary-color: var(--color-content-primary);
739
+ --Button-minimal-background: transparent;
740
+ --Button-minimal-background-hover: var(--color-background-screen-hover);
741
+ --Button-minimal-background-active: var(--color-background-screen-active);
742
+ --Button-minimal-color: var(--color-interactive-primary);
743
+ --Button-primary-negative-background: var(--color-sentiment-negative-primary);
744
+ --Button-primary-negative-background-hover: var(--color-sentiment-negative-primary-hover);
745
+ --Button-primary-negative-background-active: var(--color-sentiment-negative-primary-active);
746
+ --Button-primary-negative-color: var(--color-contrast);
747
+ --Button-secondary-negative-background: var(--color-sentiment-negative-secondary);
748
+ --Button-secondary-negative-background-hover: var(--color-sentiment-negative-secondary-hover);
749
+ --Button-secondary-negative-background-active: var(--color-sentiment-negative-secondary-active);
750
+ --Button-secondary-negative-color: var(--color-sentiment-negative-primary);
751
+ }
752
+ .np-theme-personal--bright-green .wds-Button {
753
+ --color-contrast: #FFFFFF;
754
+ --Button-secondary-color: var(--color-interactive-control);
755
+ --Button-secondary-negative-color: var(--color-contrast);
756
+ }
757
+ /* Button Styles */
758
+ .wds-Button {
759
+ display: inline-flex;
760
+ flex: none;
761
+ width: auto;
762
+ align-items: center;
763
+ justify-content: center;
764
+ vertical-align: middle;
765
+ text-align: center;
766
+ -webkit-text-decoration: none;
767
+ text-decoration: none;
768
+ white-space: nowrap;
769
+ word-wrap: break-word;
770
+ -webkit-appearance: none;
771
+ -moz-appearance: none;
772
+ appearance: none;
773
+ background-color: var(--Button-background);
774
+ border: none;
775
+ border-radius: var(--Button-border-radius);
776
+ color: var(--Button-color);
777
+ cursor: pointer;
778
+ padding: var(--Button-padding);
779
+ transition: color, background-color var(--Button-transition-duration) var(--Button-transition-easing);
780
+ }
781
+ .wds-Button:focus {
782
+ -webkit-text-decoration: none;
783
+ text-decoration: none;
784
+ }
785
+ .wds-Button:hover {
786
+ background-color: var(--Button-background-hover);
787
+ -webkit-text-decoration: none;
788
+ text-decoration: none;
789
+ }
790
+ .wds-Button:active {
791
+ background-color: var(--Button-background-active);
792
+ -webkit-text-decoration: none;
793
+ text-decoration: none;
794
+ }
795
+ .wds-Button.wds-Button--disabled,
796
+ .wds-Button:disabled {
797
+ mix-blend-mode: luminosity;
798
+ opacity: 0.45;
799
+ cursor: not-allowed;
800
+ }
801
+ .wds-Button.wds-Button--disabled:hover,
802
+ .wds-Button:disabled:hover,
803
+ .wds-Button.wds-Button--disabled:active,
804
+ .wds-Button:disabled:active {
805
+ background-color: var(--Button-background);
806
+ }
807
+ .wds-Button--secondary {
808
+ --Button-background: var(--Button-secondary-background);
809
+ --Button-background-hover: var(--Button-secondary-background-hover);
810
+ --Button-background-active: var(--Button-secondary-background-active);
811
+ --Button-color: var(--Button-secondary-color);
812
+ }
813
+ .wds-Button--tertiary {
814
+ --Button-background: var(--Button-tertiary-background);
815
+ --Button-background-hover: var(--Button-tertiary-background-hover);
816
+ --Button-background-active: var(--Button-tertiary-background-active);
817
+ --Button-color: var(--Button-tertiary-color);
818
+ }
819
+ .wds-Button--tertiary .wds-Button-icon--end {
820
+ color: var(--color-interactive-primary);
821
+ }
822
+ .wds-Button--minimal {
823
+ --Button-background: var(--Button-minimal-background);
824
+ --Button-background-hover: var(--Button-minimal-background-hover);
825
+ --Button-background-active: var(--Button-minimal-background-active);
826
+ --Button-color: var(--Button-minimal-color);
827
+ -webkit-text-decoration: underline;
828
+ text-decoration: underline;
829
+ text-underline-offset: 3px;
830
+ text-decoration-thickness: 1px;
831
+ }
832
+ .wds-Button--minimal:hover,
833
+ .wds-Button--minimal:hover:active {
834
+ -webkit-text-decoration: underline;
835
+ text-decoration: underline;
836
+ }
837
+ .wds-Button--negative.wds-Button--primary {
838
+ --Button-background: var(--Button-primary-negative-background);
839
+ --Button-background-hover: var(--Button-primary-negative-background-hover);
840
+ --Button-background-active: var(--Button-primary-negative-background-active);
841
+ --Button-color: var(--Button-primary-negative-color);
842
+ }
843
+ .wds-Button--negative.wds-Button--secondary {
844
+ --Button-background: var(--Button-secondary-negative-background);
845
+ --Button-background-hover: var(--Button-secondary-negative-background-hover);
846
+ --Button-background-active: var(--Button-secondary-negative-background-active);
847
+ --Button-color: var(--Button-secondary-negative-color);
848
+ }
849
+ .wds-Button--small {
850
+ --Button-padding: var(--Button-size-small-padding);
851
+ }
852
+ .wds-Button--small .wds-Button-icon--start {
853
+ margin-right: 4px;
854
+ margin-right: var(--size-4);
855
+ }
856
+ [dir="rtl"] .wds-Button--small .wds-Button-icon--start {
857
+ margin-right: 0;
858
+ margin-left: 4px;
859
+ margin-left: var(--size-4);
860
+ }
861
+ .wds-Button--medium {
862
+ --Button-padding: var(--Button-size-medium-padding);
863
+ }
864
+ .wds-Button--large {
865
+ --Button-padding: var(--Button-size-large-padding);
866
+ }
867
+ .wds-Button--block {
868
+ width: 100%;
869
+ }
870
+ .wds-Button-avatars {
871
+ display: inline-flex;
872
+ margin-right: 5px;
873
+ margin-left: calc(4px * -1);
874
+ margin-left: calc(var(--size-4) * -1);
875
+ }
876
+ [dir="rtl"] .wds-Button-avatars {
877
+ margin-right: 0;
878
+ margin-left: 5px;
879
+ }
880
+ .wds-Button-avatars .np-avatar-view .np-avatar-view-content {
881
+ color: var(--Button-color);
882
+ }
883
+ .wds-Button-icon {
884
+ display: inline-block;
885
+ }
886
+ .wds-Button-icon--start {
887
+ margin-right: 8px;
888
+ margin-right: var(--size-8);
889
+ }
890
+ [dir="rtl"] .wds-Button-icon--start {
891
+ margin-right: 0;
892
+ margin-left: 8px;
893
+ margin-left: var(--size-8);
894
+ }
895
+ .wds-Button-icon--end {
896
+ margin-left: 4px;
897
+ margin-left: var(--size-4);
898
+ }
899
+ [dir="rtl"] .wds-Button-icon--end {
900
+ margin-left: 0;
901
+ margin-right: 4px;
902
+ margin-right: var(--size-4);
903
+ }
904
+ .wds-Button-content {
905
+ position: relative;
906
+ }
907
+ .wds-Button-content--loading .wds-Button-label,
908
+ .wds-Button-content--loading .wds-Button-media,
909
+ .wds-Button-content--loading .wds-Button-icon {
910
+ visibility: hidden;
911
+ opacity: 0;
912
+ }
913
+ .wds-Button-label {
914
+ display: flex;
915
+ justify-content: center;
916
+ align-items: center;
917
+ position: relative;
918
+ }
919
+ .wds-Button-loader {
920
+ position: absolute;
921
+ display: flex;
922
+ justify-content: center;
923
+ align-items: center;
924
+ width: 100%;
925
+ height: 100%;
926
+ }
927
+ .wds-Button-loader .process-circle {
928
+ stroke: var(--Button-color);
929
+ }
930
+ /* RTL Styles */
931
+ [dir="rtl"] .wds-Button .tw-icon-chevron-right,[dir="rtl"] .wds-Button .tw-icon-arrow-right {
932
+ transform: rotate(180deg);
933
+ }
934
+ [dir="rtl"] .wds-Button .tw-icon-chevron-left,[dir="rtl"] .wds-Button .tw-icon-arrow-left {
935
+ transform: rotate(180deg);
936
+ }
937
+ /* Avatar border transparency */
938
+ /* dark buttons get 20% transparency, light buttons get 12% */
939
+ .wds-Button-avatars .np-circle {
940
+ --circle-border-color: color-mix(in srgb, var(--Button-color) 20%, transparent);
941
+ }
942
+ .np-theme-personal:not(.np-theme-personal--dark):not(.np-theme-personal--forest-green):not(.np-theme-personal--bright-green) .wds-Button--secondary.wds-Button--negative .wds-Button-avatars .np-circle,
943
+ .np-theme-personal:not(.np-theme-personal--dark):not(.np-theme-personal--forest-green):not(.np-theme-personal--bright-green) .wds-Button--secondary .wds-Button-avatars .np-circle,
944
+ .np-theme-personal:not(.np-theme-personal--dark):not(.np-theme-personal--forest-green):not(.np-theme-personal--bright-green) .wds-Button--tertiary .wds-Button-avatars .np-circle,
945
+ .np-theme-personal:not(.np-theme-personal--dark):not(.np-theme-personal--forest-green):not(.np-theme-personal--bright-green) .wds-Button--minimal .wds-Button-avatars .np-circle {
946
+ --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
947
+ }
948
+ .np-theme-personal--dark .wds-Button--primary .wds-Button-avatars .np-circle,
949
+ .np-theme-personal--dark .wds-Button--primary.wds-Button--negative .wds-Button-avatars .np-circle,
950
+ .np-theme-personal--forest-green .wds-Button--primary .wds-Button-avatars .np-circle,
951
+ .np-theme-personal--forest-green .wds-Button--primary.wds-Button--negative .wds-Button-avatars .np-circle {
952
+ --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
953
+ }
954
+ .np-theme-personal--bright-green .wds-Button--tertiary .wds-Button-avatars .np-circle,
955
+ .np-theme-personal--bright-green .wds-Button--minimal .wds-Button-avatars .np-circle {
956
+ --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
957
+ }
708
958
  .np-card {
709
959
  overflow: hidden;
710
960
  transition-property: transform, box-shadow;
@@ -1,5 +1,5 @@
1
1
  import { AvatarViewProps } from '../avatarView';
2
- type SingleAvatarType = {
2
+ export type SingleAvatarType = {
3
3
  asset?: AvatarViewProps['children'];
4
4
  } & Omit<AvatarViewProps, 'notification' | 'selected' | 'size' | 'badge' | 'children' | 'interactive'>;
5
5
  export type Props = {
@@ -7,5 +7,4 @@ export type Props = {
7
7
  orientation?: 'horizontal' | 'diagonal';
8
8
  } & Pick<AvatarViewProps, 'size' | 'interactive' | 'className' | 'role' | 'aria-label' | 'aria-labelledby' | 'aria-hidden'>;
9
9
  export default function AvatarLayout({ avatars, orientation: orientationProp, size, className, interactive, ...restProps }: Props): import("react").JSX.Element | null;
10
- export {};
11
10
  //# sourceMappingURL=AvatarLayout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarLayout.d.ts","sourceRoot":"","sources":["../../../src/avatarLayout/AvatarLayout.tsx"],"names":[],"mappings":"AACA,OAAmB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE5D,KAAK,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;CAAE,GAAG,IAAI,CACpE,eAAe,EACf,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,CAC5E,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC,GAAG,IAAI,CACN,eAAe,EACf,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,YAAY,GAAG,iBAAiB,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,OAAY,EACZ,WAAW,EAAE,eAA8B,EAC3C,IAAS,EACT,SAAS,EACT,WAAW,EACX,GAAG,SAAS,EACb,EAAE,KAAK,sCAgDP"}
1
+ {"version":3,"file":"AvatarLayout.d.ts","sourceRoot":"","sources":["../../../src/avatarLayout/AvatarLayout.tsx"],"names":[],"mappings":"AACA,OAAmB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;CAAE,GAAG,IAAI,CAC3E,eAAe,EACf,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,CAC5E,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC,GAAG,IAAI,CACN,eAAe,EACf,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,YAAY,GAAG,iBAAiB,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,OAAY,EACZ,WAAW,EAAE,eAA8B,EAC3C,IAAS,EACT,SAAS,EACT,WAAW,EACX,GAAG,SAAS,EACb,EAAE,KAAK,sCAuDP"}
@@ -1,3 +1,4 @@
1
1
  export type { Props as AvatarLayoutProps } from './AvatarLayout';
2
+ export type { SingleAvatarType } from './AvatarLayout';
2
3
  export { default } from './AvatarLayout';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/avatarLayout/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/avatarLayout/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,25 +1,3 @@
1
- import { ControlTypeAccent, ControlTypeNegative, ControlTypePositive, PriorityPrimary, PrioritySecondary, PriorityTertiary, SizeExtraSmall, SizeSmall, SizeMedium, SizeLarge } from '../common';
2
- /** @deprecated */
3
- type DeprecatedTypes = 'primary' | 'pay' | 'secondary' | 'danger' | 'link';
4
- /** @deprecated */
5
- type DeprecatedSizes = SizeExtraSmall;
6
- type CommonProps = {
7
- block?: boolean;
8
- disabled?: boolean;
9
- loading?: boolean;
10
- type?: ControlTypeAccent | ControlTypeNegative | ControlTypePositive | DeprecatedTypes | null;
11
- priority?: PriorityPrimary | PrioritySecondary | PriorityTertiary | null;
12
- size?: SizeSmall | SizeMedium | SizeLarge | DeprecatedSizes;
13
- };
14
- type ButtonProps = CommonProps & Omit<React.ComponentPropsWithRef<'button'>, 'type'> & {
15
- as?: 'button';
16
- htmlType?: 'submit' | 'reset' | 'button';
17
- };
18
- type AnchorProps = CommonProps & Omit<React.ComponentPropsWithRef<'a'>, 'type'> & {
19
- as?: 'a';
20
- };
21
- export type Props = ButtonProps | AnchorProps;
22
- export type ButtonReferenceType = HTMLButtonElement | HTMLAnchorElement;
23
- declare const Button: import("react").ForwardRefExoticComponent<(Omit<ButtonProps, "ref"> | Omit<AnchorProps, "ref">) & import("react").RefAttributes<ButtonReferenceType>>;
1
+ declare const Button: import("react").ForwardRefExoticComponent<(Omit<import("./Button.types").ButtonElementProps, "ref"> | Omit<import("./Button.types").AnchorElementProps, "ref">) & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
24
2
  export default Button;
25
3
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/button/Button.tsx"],"names":[],"mappings":"AAIA,OAAO,EAIL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACV,MAAM,WAAW,CAAC;AAOnB,kBAAkB;AAClB,KAAK,eAAe,GAAG,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3E,kBAAkB;AAClB,KAAK,eAAe,GAAG,cAAc,CAAC;AAEtC,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,eAAe,GAAG,IAAI,CAAC;IAC9F,QAAQ,CAAC,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACzE,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,CAAC;CAC7D,CAAC;AAEF,KAAK,WAAW,GAAG,WAAW,GAC5B,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG;IACpD,EAAE,CAAC,EAAE,QAAQ,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC1C,CAAC;AAEJ,KAAK,WAAW,GAAG,WAAW,GAC5B,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG;IAC/C,EAAE,CAAC,EAAE,GAAG,CAAC;CACV,CAAC;AAEJ,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAExE,QAAA,MAAM,MAAM,uJAkGX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/button/Button.tsx"],"names":[],"mappings":"AAUA,QAAA,MAAM,MAAM,yOAmGX,CAAC;AAEF,eAAe,MAAM,CAAC"}