@transferwise/components 0.0.0-experimental-22586c3 → 0.0.0-experimental-bd6f8cc

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 (159) hide show
  1. package/build/avatarLayout/AvatarLayout.js +4 -10
  2. package/build/avatarLayout/AvatarLayout.js.map +1 -1
  3. package/build/avatarLayout/AvatarLayout.mjs +4 -10
  4. package/build/avatarLayout/AvatarLayout.mjs.map +1 -1
  5. package/build/button/Button.js +79 -86
  6. package/build/button/Button.js.map +1 -1
  7. package/build/button/Button.mjs +80 -87
  8. package/build/button/Button.mjs.map +1 -1
  9. package/build/criticalBanner/CriticalCommsBanner.js +2 -2
  10. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  11. package/build/criticalBanner/CriticalCommsBanner.mjs +1 -1
  12. package/build/header/Header.js +2 -2
  13. package/build/header/Header.js.map +1 -1
  14. package/build/header/Header.mjs +1 -1
  15. package/build/index.js +4 -2
  16. package/build/index.js.map +1 -1
  17. package/build/index.mjs +2 -1
  18. package/build/index.mjs.map +1 -1
  19. package/build/link/Link.js +3 -8
  20. package/build/link/Link.js.map +1 -1
  21. package/build/link/Link.mjs +3 -8
  22. package/build/link/Link.mjs.map +1 -1
  23. package/build/main.css +13 -227
  24. package/build/nudge/Nudge.js.map +1 -1
  25. package/build/nudge/Nudge.mjs.map +1 -1
  26. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.js +4 -2
  27. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.js.map +1 -1
  28. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.mjs +4 -2
  29. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.mjs.map +1 -1
  30. package/build/primitives/PrimitiveButton/src/PrimitiveButton.js +5 -3
  31. package/build/primitives/PrimitiveButton/src/PrimitiveButton.js.map +1 -1
  32. package/build/primitives/PrimitiveButton/src/PrimitiveButton.mjs +5 -3
  33. package/build/primitives/PrimitiveButton/src/PrimitiveButton.mjs.map +1 -1
  34. package/build/select/Select.js +2 -2
  35. package/build/select/Select.js.map +1 -1
  36. package/build/select/Select.mjs +1 -1
  37. package/build/styles/avatarLayout/AvatarLayout.css +2 -12
  38. package/build/styles/button/Button.css +15 -207
  39. package/build/styles/main.css +13 -227
  40. package/build/styles/nudge/Nudge.css +11 -0
  41. package/build/table/Table.js +166 -0
  42. package/build/table/Table.js.map +1 -0
  43. package/build/table/Table.messages.js +24 -0
  44. package/build/table/Table.messages.js.map +1 -0
  45. package/build/table/Table.messages.mjs +22 -0
  46. package/build/table/Table.messages.mjs.map +1 -0
  47. package/build/table/Table.mjs +164 -0
  48. package/build/table/Table.mjs.map +1 -0
  49. package/build/table/TableCell.js +86 -0
  50. package/build/table/TableCell.js.map +1 -0
  51. package/build/table/TableCell.mjs +84 -0
  52. package/build/table/TableCell.mjs.map +1 -0
  53. package/build/table/TableHeader.js +57 -0
  54. package/build/table/TableHeader.js.map +1 -0
  55. package/build/table/TableHeader.mjs +55 -0
  56. package/build/table/TableHeader.mjs.map +1 -0
  57. package/build/table/TableRow.js +85 -0
  58. package/build/table/TableRow.js.map +1 -0
  59. package/build/table/TableRow.mjs +83 -0
  60. package/build/table/TableRow.mjs.map +1 -0
  61. package/build/table/TableStatusText.js +54 -0
  62. package/build/table/TableStatusText.js.map +1 -0
  63. package/build/table/TableStatusText.mjs +52 -0
  64. package/build/table/TableStatusText.mjs.map +1 -0
  65. package/build/types/avatarLayout/AvatarLayout.d.ts.map +1 -1
  66. package/build/types/button/Button.d.ts +23 -2
  67. package/build/types/button/Button.d.ts.map +1 -1
  68. package/build/types/button/index.d.ts +2 -2
  69. package/build/types/button/index.d.ts.map +1 -1
  70. package/build/types/index.d.ts +2 -0
  71. package/build/types/index.d.ts.map +1 -1
  72. package/build/types/link/Link.d.ts +2 -2
  73. package/build/types/link/Link.d.ts.map +1 -1
  74. package/build/types/nudge/Nudge.d.ts +1 -1
  75. package/build/types/nudge/Nudge.d.ts.map +1 -1
  76. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.d.ts.map +1 -1
  77. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.d.ts +2 -6
  78. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.d.ts.map +1 -1
  79. package/build/types/primitives/PrimitiveButton/src/PrimitiveButton.d.ts.map +1 -1
  80. package/build/types/test-utils/story-config.d.ts +1 -1
  81. package/build/types/test-utils/story-config.d.ts.map +1 -1
  82. package/build/types/uploadInput/uploadButton/getAllowedFileTypes.d.ts.map +1 -1
  83. package/build/upload/steps/completeStep/completeStep.js +2 -2
  84. package/build/upload/steps/completeStep/completeStep.js.map +1 -1
  85. package/build/upload/steps/completeStep/completeStep.mjs +1 -1
  86. package/build/upload/steps/processingStep/processingStep.js +2 -2
  87. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  88. package/build/upload/steps/processingStep/processingStep.mjs +1 -1
  89. package/build/uploadInput/UploadInput.js +3 -3
  90. package/build/uploadInput/UploadInput.js.map +1 -1
  91. package/build/uploadInput/UploadInput.mjs +1 -1
  92. package/build/uploadInput/uploadButton/getAllowedFileTypes.js +23 -3
  93. package/build/uploadInput/uploadButton/getAllowedFileTypes.js.map +1 -1
  94. package/build/uploadInput/uploadButton/getAllowedFileTypes.mjs +23 -3
  95. package/build/uploadInput/uploadButton/getAllowedFileTypes.mjs.map +1 -1
  96. package/package.json +3 -3
  97. package/src/alert/Alert.tests.story.tsx +1 -1
  98. package/src/avatarLayout/AvatarLayout.css +2 -12
  99. package/src/avatarLayout/AvatarLayout.less +2 -19
  100. package/src/avatarLayout/AvatarLayout.tsx +3 -10
  101. package/src/button/Button.css +15 -207
  102. package/src/button/Button.less +14 -214
  103. package/src/button/Button.spec.tsx +224 -188
  104. package/src/button/Button.story.tsx +135 -701
  105. package/src/button/Button.tsx +131 -99
  106. package/src/button/__snapshots__/Button.spec.tsx.snap +309 -0
  107. package/src/button/index.ts +3 -2
  108. package/src/drawer/Drawer.spec.tsx +93 -0
  109. package/src/field/Field.story.tsx +1 -1
  110. package/src/flowNavigation/__snapshots__/FlowNavigation.spec.js.snap +2 -1
  111. package/src/index.ts +12 -0
  112. package/src/inputs/SelectInput.story.tsx +1 -1
  113. package/src/label/Label.story.tsx +1 -1
  114. package/src/link/Link.tsx +6 -15
  115. package/src/main.css +13 -227
  116. package/src/main.less +0 -1
  117. package/src/nudge/Nudge.css +11 -0
  118. package/src/nudge/Nudge.less +3 -0
  119. package/src/nudge/Nudge.story.tsx +10 -0
  120. package/src/nudge/Nudge.tsx +2 -1
  121. package/src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx +8 -2
  122. package/src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.ts +2 -7
  123. package/src/primitives/PrimitiveAnchor/test/PrimitiveAnchor.spec.tsx +3 -1
  124. package/src/primitives/PrimitiveButton/src/PrimitiveButton.tsx +12 -4
  125. package/src/primitives/PrimitiveButton/test/PrimitiveButton.spec.tsx +13 -16
  126. package/src/test-utils/Parameters.d.ts +1 -9
  127. package/src/test-utils/story-config.ts +1 -10
  128. package/src/uploadInput/UploadInput.tests.story.tsx +5 -5
  129. package/src/uploadInput/uploadButton/getAllowedFileTypes.spec.ts +12 -0
  130. package/src/uploadInput/uploadButton/getAllowedFileTypes.ts +33 -7
  131. package/build/button/Button.resolver.js +0 -74
  132. package/build/button/Button.resolver.js.map +0 -1
  133. package/build/button/Button.resolver.mjs +0 -72
  134. package/build/button/Button.resolver.mjs.map +0 -1
  135. package/build/button/LegacyButton.js +0 -114
  136. package/build/button/LegacyButton.js.map +0 -1
  137. package/build/button/LegacyButton.mjs +0 -112
  138. package/build/button/LegacyButton.mjs.map +0 -1
  139. package/build/styles/button/Button.vars.css +0 -46
  140. package/build/styles/button/LegacyButton.css +0 -23
  141. package/build/types/button/Button.resolver.d.ts +0 -33
  142. package/build/types/button/Button.resolver.d.ts.map +0 -1
  143. package/build/types/button/Button.types.d.ts +0 -67
  144. package/build/types/button/Button.types.d.ts.map +0 -1
  145. package/build/types/button/LegacyButton.d.ts +0 -30
  146. package/build/types/button/LegacyButton.d.ts.map +0 -1
  147. package/src/button/Button.resolver.tsx +0 -73
  148. package/src/button/Button.tests.story.tsx +0 -27
  149. package/src/button/Button.types.ts +0 -94
  150. package/src/button/Button.vars.css +0 -46
  151. package/src/button/Button.vars.less +0 -60
  152. package/src/button/LegacyButton.css +0 -23
  153. package/src/button/LegacyButton.less +0 -24
  154. package/src/button/LegacyButton.spec.tsx +0 -147
  155. package/src/button/LegacyButton.story.tsx +0 -220
  156. package/src/button/LegacyButton.tsx +0 -160
  157. package/src/drawer/Drawer.rtl.spec.tsx +0 -59
  158. package/src/drawer/Drawer.spec.js +0 -101
  159. package/src/drawer/__snapshots__/Drawer.rtl.spec.tsx.snap +0 -55
@@ -1,215 +1,23 @@
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-border-radius: var(--radius-full);
7
- --Button-label-gap: var(--size-4);
8
- --Button-large-padding: var(--size-12) var(--size-16);
9
- --Button-medium-padding: var(--size-8) var(--size-12);
10
- --Button-small-padding: calc(var(--size-10) * 0.5) var(--size-12);
11
- --Button-avatar-border-color: var(--color-border-neutral);
12
- --Button-transition-duration: 150ms;
13
- --Button-transition-easing: ease-in-out;
14
- --Button-secondary-background: var(--color-interactive-neutral);
15
- --Button-secondary-background-hover: var(--color-interactive-neutral-hover);
16
- --Button-secondary-background-active: var(--color-interactive-neutral-active);
17
- --Button-secondary-color: var(--color-interactive-primary);
18
- --Button-tertiary-background: var(--color-background-neutral);
19
- --Button-tertiary-background-hover: var(--color-background-neutral-hover);
20
- --Button-tertiary-background-active: var(--color-background-neutral-active);
21
- --Button-tertiary-color: var(--color-content-primary);
22
- --Button-minimal-background: transparent;
23
- --Button-minimal-background-hover: var(--color-background-screen-hover);
24
- --Button-minimal-background-active: var(--color-background-screen-active);
25
- --Button-minimal-color: var(--color-interactive-primary);
26
- --Button-primary-negative-background: var(--color-sentiment-negative-primary);
27
- --Button-primary-negative-background-hover: var(--color-sentiment-negative-primary-hover);
28
- --Button-primary-negative-background-active: var(--color-sentiment-negative-primary-active);
29
- --Button-primary-negative-color: var(--color-contrast-overlay);
30
- --Button-secondary-negative-background: var(--color-sentiment-negative-secondary);
31
- --Button-secondary-negative-background-hover: var(--color-sentiment-negative-secondary-hover);
32
- --Button-secondary-negative-background-active: var(--color-sentiment-negative-secondary-active);
33
- --Button-secondary-negative-color: var(--color-sentiment-negative-primary);
34
- }
35
- .np-theme-personal--bright-green .wds-Button {
36
- --Button-primary-negative-color: var(--color-white);
37
- --Button-secondary-color: var(--color-interactive-control);
38
- --Button-secondary-negative-color: var(--color-white);
39
- }
40
- .np-theme-personal--forest-green .wds-Button {
41
- --Button-secondary-background: var(--color-interactive-neutral);
42
- --Button-secondary-negative-background: var(--color-sentiment-negative-primary);
43
- --Button-secondary-negative-background-hover: var(--color-sentiment-negative-primary-hover);
44
- --Button-secondary-negative-background-active: var(--color-sentiment-negative-primary-active);
45
- --Button-secondary-negative-color: var(--color-contrast-overlay);
46
- }
47
- /* Button Styles */
48
- .wds-Button {
49
- display: inline-flex;
50
- flex: none;
51
- width: auto;
52
- align-items: center;
53
- justify-content: center;
54
- vertical-align: middle;
55
- text-align: center;
56
- -webkit-text-decoration: none;
57
- text-decoration: none;
58
- white-space: nowrap;
59
- word-wrap: break-word;
60
- -webkit-appearance: none;
61
- -moz-appearance: none;
62
- appearance: none;
63
- background-color: var(--Button-background);
64
- border: none;
65
- border-radius: var(--Button-border-radius);
66
- color: var(--Button-color);
67
- cursor: pointer;
68
- transition: color, background-color var(--Button-transition-duration) var(--Button-transition-easing);
69
- }
70
- .wds-Button:hover {
71
- background-color: var(--Button-background-hover);
72
- }
73
- .wds-Button:active {
74
- background-color: var(--Button-background-active);
75
- }
76
- .wds-Button.wds-Button--disabled,
77
- .wds-Button:disabled {
78
- filter: none;
79
- mix-blend-mode: luminosity;
80
- opacity: 0.45;
81
- cursor: not-allowed;
82
- }
83
- .wds-Button.wds-Button--disabled,
84
- .wds-Button:disabled,
85
- .wds-Button.wds-Button--disabled:hover,
86
- .wds-Button:disabled:hover,
87
- .wds-Button.wds-Button--disabled:active,
88
- .wds-Button:disabled:active {
89
- background-color: var(--Button-background);
90
- }
91
- .wds-Button--secondary {
92
- --Button-background: var(--Button-secondary-background);
93
- --Button-background-hover: var(--Button-secondary-background-hover);
94
- --Button-background-active: var(--Button-secondary-background-active);
95
- --Button-color: var(--Button-secondary-color);
96
- }
97
- .wds-Button--tertiary {
98
- --Button-background: var(--Button-tertiary-background);
99
- --Button-background-hover: var(--Button-tertiary-background-hover);
100
- --Button-background-active: var(--Button-tertiary-background-active);
101
- --Button-color: var(--Button-tertiary-color);
102
- }
103
- .wds-Button--tertiary .wds-Button-icon--end {
104
- color: var(--color-interactive-primary);
105
- }
106
- .wds-Button--minimal {
107
- --Button-background: var(--Button-minimal-background);
108
- --Button-background-hover: var(--Button-minimal-background-hover);
109
- --Button-background-active: var(--Button-minimal-background-active);
110
- --Button-color: var(--Button-minimal-color);
111
- -webkit-text-decoration: underline;
112
- text-decoration: underline;
113
- text-underline-offset: 3px;
114
- text-decoration-thickness: 1px;
115
- }
116
- .wds-Button--negative.wds-Button--primary {
117
- --Button-background: var(--Button-primary-negative-background);
118
- --Button-background-hover: var(--Button-primary-negative-background-hover);
119
- --Button-background-active: var(--Button-primary-negative-background-active);
120
- --Button-color: var(--Button-primary-negative-color);
121
- }
122
- .wds-Button--negative.wds-Button--secondary {
123
- --Button-background: var(--Button-secondary-negative-background);
124
- --Button-background-hover: var(--Button-secondary-negative-background-hover);
125
- --Button-background-active: var(--Button-secondary-negative-background-active);
126
- --Button-color: var(--Button-secondary-negative-color);
127
- }
128
- .wds-Button--large {
129
- padding: var(--Button-large-padding);
130
- }
131
- .wds-Button--medium {
132
- padding: var(--Button-medium-padding);
133
- }
134
- .wds-Button--medium:has(.wds-Button-avatars) {
135
- padding-inline-start: 8px;
136
- padding-inline-start: var(--size-8);
137
- }
138
- .wds-Button--medium:has(.wds-Button-icon--end) {
139
- padding-inline-end: 8px;
140
- padding-inline-end: var(--size-8);
141
- }
142
- .wds-Button--medium .wds-Button-icon--start {
143
- margin-inline-end: var(--Button-label-gap);
144
- }
145
- .wds-Button--small {
146
- padding: var(--Button-small-padding);
147
- }
148
- .wds-Button--small:has(.wds-Button-icon--start) {
149
- padding-inline-start: 8px;
150
- padding-inline-start: var(--size-8);
151
- }
152
- .wds-Button--small:has(.wds-Button-icon--end) {
153
- padding-inline-end: 8px;
154
- padding-inline-end: var(--size-8);
155
- }
156
- .wds-Button--block {
157
- width: 100%;
158
- }
159
- .wds-Button-avatars {
160
- display: inline-flex;
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-content {
1
+ .np-btn {
169
2
  position: relative;
170
3
  }
171
- .wds-Button-content--loading .wds-Button-label,
172
- .wds-Button-content--loading .wds-Button-media,
173
- .wds-Button-content--loading .wds-Button-icon {
174
- visibility: hidden;
175
- opacity: 0;
176
- }
177
- .wds-Button-label {
178
- display: flex;
179
- justify-content: center;
180
- align-items: center;
181
- gap: var(--Button-label-gap);
182
- position: relative;
183
- }
184
- .wds-Button-loader {
4
+ .np-btn.np-btn-block > span.btn-loader {
185
5
  position: absolute;
186
- width: 100%;
187
- height: 100%;
188
- }
189
- .wds-Button-loader .process-circle {
190
- stroke: var(--Button-color);
191
- }
192
- /* Avatar border transparency */
193
- /* dark buttons get 20% transparency, light buttons get 12% */
194
- .wds-Button-avatars .np-circle {
195
- --circle-border-color: color-mix(in srgb, var(--Button-color) 20%, transparent);
6
+ left: 24px;
7
+ left: var(--size-24);
196
8
  }
197
- .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,
198
- .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,
199
- .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,
200
- .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 {
201
- --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
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;
202
14
  }
203
- .np-theme-personal--dark .wds-Button--primary .wds-Button-avatars .np-circle,
204
- .np-theme-personal--dark .wds-Button--primary.wds-Button--negative .wds-Button-avatars .np-circle,
205
- .np-theme-personal--forest-green .wds-Button--primary .wds-Button-avatars .np-circle,
206
- .np-theme-personal--forest-green .wds-Button--primary.wds-Button--negative .wds-Button-avatars .np-circle {
207
- --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
15
+ .np-btn.np-btn-xs > span.btn-loader {
16
+ background-size: 16px 16px;
208
17
  }
209
- .np-theme-personal--bright-green .wds-Button--tertiary .wds-Button-avatars .np-circle,
210
- .np-theme-personal--bright-green .wds-Button--minimal .wds-Button-avatars .np-circle {
211
- --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
18
+ .np-btn.np-btn-xs.btn-block > span.btn-loader {
19
+ top: 0;
212
20
  }
213
- [dir="rtl"] .wds-Button .tw-icon-chevron-right,[dir="rtl"] .wds-Button .tw-icon-arrow-right,[dir="rtl"] .wds-Button .tw-icon-chevron-left,[dir="rtl"] .wds-Button .tw-icon-arrow-left,[dir="rtl"] .wds-Button .tw-icon-arrow-diagonal-down,[dir="rtl"] .wds-Button .tw-icon-arrow-diagonal-up,[dir="rtl"] .wds-Button .tw-icon-list,[dir="rtl"] .wds-Button .tw-icon-activity {
214
- scale: -1 1;
21
+ .np-btn.disabled[class] {
22
+ pointer-events: auto;
215
23
  }
@@ -1,224 +1,24 @@
1
- @import './Button.vars.less';
1
+ @import (reference) "../../node_modules/@transferwise/neptune-css/src/less/mixins/_logical-properties.less";
2
2
 
3
- /* Button Styles */
4
- .wds-Button {
5
- display: inline-flex;
6
- flex: none;
7
- width: auto;
8
- align-items: center;
9
- justify-content: center;
10
- vertical-align: middle;
11
- text-align: center;
12
- text-decoration: none;
13
- white-space: nowrap;
14
- word-wrap: break-word;
15
- appearance: none;
16
- background-color: var(--Button-background);
17
- border: none;
18
- border-radius: var(--Button-border-radius);
19
- color: var(--Button-color);
20
- cursor: pointer;
21
- transition: color, background-color var(--Button-transition-duration) var(--Button-transition-easing);
3
+ .np-btn {
4
+ position: relative;
22
5
 
23
- &:hover {
24
- background-color: var(--Button-background-hover);
25
- }
26
-
27
- &:active {
28
- background-color: var(--Button-background-active);
29
- }
30
-
31
- &.wds-Button--disabled,
32
- &:disabled {
33
- // The declarations below are necessary as design specs for
34
- // the button's disabled state have changed. This is to be
35
- // further investigated at a later stage.
36
- // @see https://transferwise.atlassian.net/browse/DS-7386
37
- filter: none;
38
- mix-blend-mode: luminosity;
39
- opacity: 0.45;
40
- cursor: not-allowed;
41
-
42
- &,
43
- &:hover,
44
- &:active {
45
- background-color: var(--Button-background);
46
- }
47
- }
48
-
49
- // Priority modifiers
50
- &--secondary {
51
- --Button-background: var(--Button-secondary-background);
52
- --Button-background-hover: var(--Button-secondary-background-hover);
53
- --Button-background-active: var(--Button-secondary-background-active);
54
- --Button-color: var(--Button-secondary-color);
55
- }
56
-
57
- &--tertiary {
58
- --Button-background: var(--Button-tertiary-background);
59
- --Button-background-hover: var(--Button-tertiary-background-hover);
60
- --Button-background-active: var(--Button-tertiary-background-active);
61
- --Button-color: var(--Button-tertiary-color);
62
-
63
- .wds-Button-icon--end {
64
- color: var(--color-interactive-primary);
65
- }
66
- }
67
-
68
- &--minimal {
69
- --Button-background: var(--Button-minimal-background);
70
- --Button-background-hover: var(--Button-minimal-background-hover);
71
- --Button-background-active: var(--Button-minimal-background-active);
72
- --Button-color: var(--Button-minimal-color);
73
-
74
- text-decoration: underline;
75
- text-underline-offset: 3px;
76
- text-decoration-thickness: 1px;
77
- }
78
-
79
- // Negative styles
80
- &--negative {
81
- &.wds-Button--primary {
82
- --Button-background: var(--Button-primary-negative-background);
83
- --Button-background-hover: var(--Button-primary-negative-background-hover);
84
- --Button-background-active: var(--Button-primary-negative-background-active);
85
- --Button-color: var(--Button-primary-negative-color);
86
- }
87
-
88
- &.wds-Button--secondary {
89
- --Button-background: var(--Button-secondary-negative-background);
90
- --Button-background-hover: var(--Button-secondary-negative-background-hover);
91
- --Button-background-active: var(--Button-secondary-negative-background-active);
92
- --Button-color: var(--Button-secondary-negative-color);
93
- }
94
- }
95
-
96
- // Size modifiers
97
- &--large {
98
- padding: var(--Button-large-padding);
99
- }
100
-
101
- &--medium {
102
- padding: var(--Button-medium-padding);
103
-
104
- &:has(.wds-Button-avatars){
105
- padding-inline-start: var(--size-8);
106
- }
107
-
108
- &:has(.wds-Button-icon--end){
109
- padding-inline-end: var(--size-8);
110
- }
111
-
112
- .wds-Button-icon--start{
113
- margin-inline-end: var(--Button-label-gap);
114
- }
115
- }
116
-
117
- &--small {
118
- padding: var(--Button-small-padding);
119
-
120
- &:has(.wds-Button-icon--start){
121
- padding-inline-start: var(--size-8);
122
- }
123
-
124
- &:has(.wds-Button-icon--end){
125
- padding-inline-end: var(--size-8);
126
- }
127
- }
128
-
129
-
130
-
131
- // Width modifiers
132
- &--block {
133
- width: 100%;
134
- }
135
-
136
- &-avatars {
137
- display: inline-flex;
138
-
139
- .np-avatar-view .np-avatar-view-content {
140
- color: var(--Button-color);
141
- }
142
- }
143
-
144
- // Icon styles
145
- &-icon {
146
- display: inline-block;
6
+ &.np-btn-block > span.btn-loader {
7
+ position: absolute;
8
+ .left(var(--size-24));
147
9
  }
148
10
 
149
- &-content {
150
- position: relative;
151
-
152
- &--loading {
153
- .wds-Button-label,
154
- .wds-Button-media,
155
- .wds-Button-icon {
156
- visibility: hidden;
157
- opacity: 0;
158
- }
159
- }
11
+ &.np-btn-xs > span.btn-loader {
12
+ background-size: 16px 16px;
160
13
  }
161
14
 
162
- &-label {
163
- display: flex;
164
- justify-content: center;
165
- align-items: center;
166
- gap: var(--Button-label-gap);
167
- position: relative;
15
+ &.np-btn-xs.btn-block > span.btn-loader {
16
+ top: 0;
168
17
  }
169
18
 
170
- &-loader {
171
- position: absolute;
172
- width: 100%;
173
- height: 100%;
174
-
175
- .process-circle {
176
- stroke: var(--Button-color);
177
- }
19
+ // we do not want pointer events disabled as that
20
+ // prevents the custom cursor to be shown
21
+ &.disabled[class] {
22
+ pointer-events: auto;
178
23
  }
179
24
  }
180
-
181
- /* Avatar border transparency */
182
- /* dark buttons get 20% transparency, light buttons get 12% */
183
- .wds-Button-avatars {
184
- .np-circle {
185
- --circle-border-color: color-mix(in srgb, var(--Button-color) 20%, transparent);
186
-
187
- .wds-Button--secondary.wds-Button--negative &,
188
- .wds-Button--secondary &,
189
- .wds-Button--tertiary &,
190
- .wds-Button--minimal & {
191
- .np-theme-personal:not(.np-theme-personal--dark, .np-theme-personal--forest-green, .np-theme-personal--bright-green) & {
192
- --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
193
- }
194
- }
195
- .wds-Button--primary &,
196
- .wds-Button--primary.wds-Button--negative & {
197
- .np-theme-personal--dark &,
198
- .np-theme-personal--forest-green & {
199
- --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
200
- }
201
- }
202
- .wds-Button--tertiary &,
203
- .wds-Button--minimal & {
204
- .np-theme-personal--bright-green & {
205
- --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
206
- }
207
- }
208
- }
209
- }
210
-
211
- :dir(rtl) {
212
- .wds-Button {
213
- .tw-icon-chevron-right,
214
- .tw-icon-arrow-right,
215
- .tw-icon-chevron-left,
216
- .tw-icon-arrow-left,
217
- .tw-icon-arrow-diagonal-down,
218
- .tw-icon-arrow-diagonal-up,
219
- .tw-icon-list,
220
- .tw-icon-activity {
221
- scale: -1 1;
222
- }
223
- }
224
- }