@transferwise/neptune-css 0.0.0-experimental-1181467

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 (180) hide show
  1. package/LICENSE.md +13 -0
  2. package/README.md +45 -0
  3. package/dist/css/accordion.css +1 -0
  4. package/dist/css/alerts.css +1 -0
  5. package/dist/css/background.css +1 -0
  6. package/dist/css/badge.css +1 -0
  7. package/dist/css/border-radius.css +1 -0
  8. package/dist/css/breadcrumbs.css +1 -0
  9. package/dist/css/button-groups.css +1 -0
  10. package/dist/css/buttons.css +1 -0
  11. package/dist/css/chevron.css +1 -0
  12. package/dist/css/circles.css +1 -0
  13. package/dist/css/close.css +1 -0
  14. package/dist/css/column-layout.css +1 -0
  15. package/dist/css/currency-flags.css +1 -0
  16. package/dist/css/decision.css +1 -0
  17. package/dist/css/dropdowns.css +1 -0
  18. package/dist/css/droppable.css +1 -0
  19. package/dist/css/flex.css +1 -0
  20. package/dist/css/footer.css +1 -0
  21. package/dist/css/grid.css +1 -0
  22. package/dist/css/input-groups.css +1 -0
  23. package/dist/css/link-callout.css +1 -0
  24. package/dist/css/list-group.css +1 -0
  25. package/dist/css/loaders.css +1 -0
  26. package/dist/css/media.css +1 -0
  27. package/dist/css/modals.css +1 -0
  28. package/dist/css/navbar-base.css +1 -0
  29. package/dist/css/navbar.css +1 -0
  30. package/dist/css/navs.css +1 -0
  31. package/dist/css/neptune-addons.css +1 -0
  32. package/dist/css/neptune-core.css +1 -0
  33. package/dist/css/neptune-social-media.css +1 -0
  34. package/dist/css/neptune.css +1 -0
  35. package/dist/css/panels.css +1 -0
  36. package/dist/css/popovers.css +1 -0
  37. package/dist/css/process.css +1 -0
  38. package/dist/css/progress-bars.css +1 -0
  39. package/dist/css/ring.css +1 -0
  40. package/dist/css/select.css +1 -0
  41. package/dist/css/sequences.css +1 -0
  42. package/dist/css/table.css +1 -0
  43. package/dist/css/tick.css +1 -0
  44. package/dist/css/tooltip.css +1 -0
  45. package/dist/css/utilities.css +1 -0
  46. package/dist/css/wells.css +1 -0
  47. package/dist/fonts/TW-Averta-Bold.woff +0 -0
  48. package/dist/fonts/TW-Averta-Bold.woff2 +0 -0
  49. package/dist/fonts/TW-Averta-Regular.woff +0 -0
  50. package/dist/fonts/TW-Averta-Regular.woff2 +0 -0
  51. package/dist/fonts/TW-Averta-Semibold.woff +0 -0
  52. package/dist/fonts/TW-Averta-Semibold.woff2 +0 -0
  53. package/dist/fonts/TransferWise-IconFont.svg +81 -0
  54. package/dist/fonts/TransferWise-IconFont.woff +0 -0
  55. package/dist/fonts/WorldwiseSans-Heavy.woff2 +0 -0
  56. package/dist/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
  57. package/dist/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
  58. package/dist/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
  59. package/dist/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
  60. package/dist/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
  61. package/dist/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
  62. package/dist/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
  63. package/dist/img/bg-dark.svg +31 -0
  64. package/dist/img/bg-light.svg +26 -0
  65. package/dist/less/legacy-variables.less +1299 -0
  66. package/dist/less/neptune-tokens.less +272 -0
  67. package/dist/less/zindex.less +17 -0
  68. package/dist/props/custom-media.css +9 -0
  69. package/dist/props/legacy-custom-props.css +69 -0
  70. package/dist/props/neptune-tokens.css +150 -0
  71. package/package.json +59 -0
  72. package/scripts/neptune-css-upgrader.js +106 -0
  73. package/src/fonts/TW-Averta-Bold.woff +0 -0
  74. package/src/fonts/TW-Averta-Bold.woff2 +0 -0
  75. package/src/fonts/TW-Averta-Regular.woff +0 -0
  76. package/src/fonts/TW-Averta-Regular.woff2 +0 -0
  77. package/src/fonts/TW-Averta-Semibold.woff +0 -0
  78. package/src/fonts/TW-Averta-Semibold.woff2 +0 -0
  79. package/src/fonts/TransferWise-IconFont.svg +81 -0
  80. package/src/fonts/TransferWise-IconFont.woff +0 -0
  81. package/src/fonts/WorldwiseSans-Heavy.woff2 +0 -0
  82. package/src/fonts/inter-cyrillic-ext-variable-wghtOnly-normal.woff2 +0 -0
  83. package/src/fonts/inter-cyrillic-variable-wghtOnly-normal.woff2 +0 -0
  84. package/src/fonts/inter-greek-ext-variable-wghtOnly-normal.woff2 +0 -0
  85. package/src/fonts/inter-greek-variable-wghtOnly-normal.woff2 +0 -0
  86. package/src/fonts/inter-latin-ext-variable-wghtOnly-normal.woff2 +0 -0
  87. package/src/fonts/inter-latin-variable-wghtOnly-normal.woff2 +0 -0
  88. package/src/fonts/inter-vietnamese-variable-wghtOnly-normal.woff2 +0 -0
  89. package/src/img/bg-dark.svg +31 -0
  90. package/src/img/bg-light.svg +26 -0
  91. package/src/less/accordion.less +15 -0
  92. package/src/less/addons/_background-utilities.less +82 -0
  93. package/src/less/addons/_border.less +3 -0
  94. package/src/less/addons/_display-utilities.less +159 -0
  95. package/src/less/addons/_spacing-utilities.less +49 -0
  96. package/src/less/addons/_utilities.less +147 -0
  97. package/src/less/alerts.less +253 -0
  98. package/src/less/background.less +24 -0
  99. package/src/less/badge.less +85 -0
  100. package/src/less/border-radius.less +3 -0
  101. package/src/less/breadcrumbs.less +27 -0
  102. package/src/less/button-groups.less +424 -0
  103. package/src/less/buttons.less +714 -0
  104. package/src/less/chevron.less +39 -0
  105. package/src/less/circles.less +223 -0
  106. package/src/less/close.less +48 -0
  107. package/src/less/column-layout.less +167 -0
  108. package/src/less/components/_component-animations.less +43 -0
  109. package/src/less/core/_fonts.less +97 -0
  110. package/src/less/core/_scaffolding.less +473 -0
  111. package/src/less/core/_typography-utilities.less +269 -0
  112. package/src/less/core/_typography.less +794 -0
  113. package/src/less/currency-flags.less +41 -0
  114. package/src/less/decision.less +98 -0
  115. package/src/less/dropdowns.less +374 -0
  116. package/src/less/droppable.less +280 -0
  117. package/src/less/flex.less +113 -0
  118. package/src/less/footer.less +113 -0
  119. package/src/less/forms/bootstrap-forms.less +1227 -0
  120. package/src/less/forms/checkbox-radio.less +303 -0
  121. package/src/less/grid.less +187 -0
  122. package/src/less/input-groups.less +299 -0
  123. package/src/less/link-callout.less +17 -0
  124. package/src/less/list-group.less +260 -0
  125. package/src/less/loaders.less +91 -0
  126. package/src/less/media.less +61 -0
  127. package/src/less/mixins/_alerts.less +35 -0
  128. package/src/less/mixins/_arrows.less +52 -0
  129. package/src/less/mixins/_border-radius.less +11 -0
  130. package/src/less/mixins/_buttons.less +82 -0
  131. package/src/less/mixins/_center-block.less +7 -0
  132. package/src/less/mixins/_circle.less +11 -0
  133. package/src/less/mixins/_clearfix.less +23 -0
  134. package/src/less/mixins/_flex.less +105 -0
  135. package/src/less/mixins/_forms.less +128 -0
  136. package/src/less/mixins/_grid-framework.less +104 -0
  137. package/src/less/mixins/_grid.less +158 -0
  138. package/src/less/mixins/_hide-text.less +20 -0
  139. package/src/less/mixins/_links.less +7 -0
  140. package/src/less/mixins/_list-group.less +23 -0
  141. package/src/less/mixins/_logical-properties-IE-friendly.less +381 -0
  142. package/src/less/mixins/_logical-properties-modern-browsers.less +226 -0
  143. package/src/less/mixins/_logical-properties.less +5 -0
  144. package/src/less/mixins/_nav-vertical-align.less +10 -0
  145. package/src/less/mixins/_panels.less +23 -0
  146. package/src/less/mixins/_physical-properties.less +110 -0
  147. package/src/less/mixins/_reset-text.less +22 -0
  148. package/src/less/mixins/_sequence.less +203 -0
  149. package/src/less/mixins/_spacing.less +122 -0
  150. package/src/less/mixins/_tab-focus.less +5 -0
  151. package/src/less/mixins/_table-row.less +47 -0
  152. package/src/less/mixins/_text-emphasis.less +39 -0
  153. package/src/less/mixins/_theming.less +7 -0
  154. package/src/less/modals.less +239 -0
  155. package/src/less/navbar-base.less +1333 -0
  156. package/src/less/navbar.less +106 -0
  157. package/src/less/navs.less +341 -0
  158. package/src/less/neptune-addons.less +4 -0
  159. package/src/less/neptune-core.less +4 -0
  160. package/src/less/neptune-social-media.less +57 -0
  161. package/src/less/neptune.bundle.less +44 -0
  162. package/src/less/panels.less +410 -0
  163. package/src/less/popovers.less +381 -0
  164. package/src/less/process.less +395 -0
  165. package/src/less/progress-bars.less +70 -0
  166. package/src/less/ring.less +51 -0
  167. package/src/less/select.less +88 -0
  168. package/src/less/sequences.less +515 -0
  169. package/src/less/table.less +385 -0
  170. package/src/less/tick.less +37 -0
  171. package/src/less/tooltip.less +132 -0
  172. package/src/less/utilities.less +153 -0
  173. package/src/less/wells.less +37 -0
  174. package/src/props/custom-media.css +9 -0
  175. package/src/props/legacy-custom-props.css +69 -0
  176. package/src/props/neptune-tokens.css +11 -0
  177. package/src/variables/legacy-variables.less +1299 -0
  178. package/src/variables/neptune-tokens.less +12 -0
  179. package/src/variables/zindex.less +17 -0
  180. package/upgrades/scripts/2021-11-v11-v12.js +61 -0
@@ -0,0 +1,424 @@
1
+ @import (reference) "../variables/legacy-variables.less";
2
+ @import (reference) "./mixins/_logical-properties.less";
3
+ @import (reference) "./mixins/_border-radius.less";
4
+ @import (reference) "./mixins/_clearfix.less";
5
+ @import (reference) "./mixins/_tab-focus.less";
6
+ @import (reference) "./core/_typography.less";
7
+
8
+ // Make the div behave like a button
9
+ .btn-group,
10
+ .btn-group-vertical {
11
+ position: relative;
12
+ display: inline-block;
13
+ vertical-align: middle;
14
+
15
+ > .btn {
16
+ position: relative;
17
+ .float(left);
18
+ }
19
+ }
20
+
21
+ // Prevent double borders when buttons are next to each other
22
+ .btn-group {
23
+ .btn + .btn,
24
+ .btn + .btn-group,
25
+ .btn-group + .btn,
26
+ .btn-group + .btn-group {
27
+ .margin(left, -1px);
28
+ }
29
+ }
30
+
31
+ .expand-toolbar() {
32
+ margin-left: -4px; // Offset the first child's margin
33
+ margin-right: -4px; // Offset the first child's margin
34
+ .btn,
35
+ .btn-group,
36
+ .input-group {
37
+ width: auto;
38
+ margin-bottom: 0;
39
+ .float(left);
40
+
41
+ margin-left: 4px;
42
+ margin-right: 4px;
43
+ }
44
+ }
45
+
46
+ // Optional: Group multiple button groups together for a toolbar
47
+ .btn-toolbar {
48
+ .clearfix();
49
+
50
+ .btn,
51
+ .btn-group,
52
+ .input-group {
53
+ width: 100%;
54
+ margin-bottom: 16px;
55
+ }
56
+
57
+ .btn-group .btn,
58
+ .input-group .btn {
59
+ width: auto;
60
+ margin: 0;
61
+ .margin(left, -1px);
62
+ }
63
+
64
+ @media (min-width: @screen-lg-min) {
65
+ &:not(.btn-toolbar-xl) {
66
+ // Default behaviour collapses on lg, over-ruled by modifiers
67
+ .expand-toolbar();
68
+ }
69
+ }
70
+
71
+ &.btn-toolbar-xs {
72
+ .expand-toolbar();
73
+ }
74
+
75
+ @media (min-width: @screen-sm-min) {
76
+ &.btn-toolbar-sm {
77
+ .expand-toolbar();
78
+ }
79
+ }
80
+
81
+ @media (min-width: @screen-md-min) {
82
+ &.btn-toolbar-md {
83
+ .expand-toolbar();
84
+ }
85
+ }
86
+
87
+ @media (min-width: @screen-lg-min) {
88
+ &.btn-toolbar-lg {
89
+ .expand-toolbar();
90
+ }
91
+ }
92
+
93
+ @media (min-width: @screen-xl-min) {
94
+ &.btn-toolbar-xl {
95
+ .expand-toolbar();
96
+ }
97
+ }
98
+ }
99
+
100
+ .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
101
+ border-radius: 0;
102
+ }
103
+
104
+ // Set corners individual because sometimes a single button can be in a .btn-group
105
+ // and we need :first-child and :last-child to both match
106
+ .btn-group > .btn:first-child {
107
+ .margin(left, 0);
108
+
109
+ &:not(:last-child):not(.dropdown-toggle) {
110
+ .border-radius(right, 0);
111
+ }
112
+ }
113
+ // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
114
+ .btn-group > .btn:last-child:not(:first-child),
115
+ .btn-group > .dropdown-toggle:not(:first-child) {
116
+ .border-radius(left, 0);
117
+ }
118
+
119
+ // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
120
+ .btn-group > .btn-group {
121
+ .float(left);
122
+ }
123
+
124
+ .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
125
+ border-radius: 0;
126
+ }
127
+
128
+ .btn-group > .btn-group:first-child:not(:last-child) {
129
+ > .btn:last-child,
130
+ > .dropdown-toggle {
131
+ .border-radius(right, 0);
132
+ }
133
+ }
134
+
135
+ .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
136
+ .border-radius(left, 0);
137
+ }
138
+
139
+ // On active and open, don't show outline
140
+ .btn-group .dropdown-toggle:active,
141
+ .btn-group.open .dropdown-toggle {
142
+ outline: 0;
143
+ }
144
+
145
+ // Sizing
146
+ //
147
+ // Remix the default button sizing classes into new ones for easier manipulation.
148
+
149
+ .btn-group-xs > .btn {
150
+ &:extend(.btn-xs);
151
+ }
152
+
153
+ .btn-group-sm > .btn {
154
+ &:extend(.btn-sm);
155
+ }
156
+
157
+ .btn-group-lg > .btn {
158
+ &:extend(.btn-lg);
159
+ }
160
+
161
+ // Split button dropdowns
162
+ // ----------------------
163
+
164
+ // Give the line between buttons some depth
165
+ .btn-group > .btn + .dropdown-toggle {
166
+ .padding(left, 12px);
167
+
168
+ .padding(right, 12px);
169
+ }
170
+
171
+ .btn-group > .btn-lg + .dropdown-toggle {
172
+ .padding(left, 12px);
173
+
174
+ .padding(right, 12px);
175
+ }
176
+
177
+ // The clickable button for toggling the menu
178
+ // Remove the gradient and set the same inset shadow as the :active state
179
+ .btn-group.open .dropdown-toggle {
180
+ box-shadow: none;
181
+
182
+ // Show no shadow for `.btn-link` since it has no other button styles.
183
+ &.btn-link {
184
+ box-shadow: none;
185
+ }
186
+ }
187
+
188
+ // Carets in other button sizes
189
+ .btn-lg .caret {
190
+ border-width: @caret-width-large @caret-width-large 0;
191
+ border-bottom-width: 0;
192
+ }
193
+
194
+ .btn-sm .caret,
195
+ .input-group-sm .btn .caret {
196
+ top: 8px !important;
197
+ }
198
+
199
+ .btn-lg .caret,
200
+ .input-group-lg .btn .caret {
201
+ top: 27px !important;
202
+ }
203
+ // Upside down carets for .dropup
204
+ .dropup .btn-lg .caret {
205
+ border-width: 0 @caret-width-large @caret-width-large;
206
+ }
207
+
208
+ // Vertical button groups
209
+ // ----------------------
210
+
211
+ // @TODO Deprecate / Remove
212
+ .btn-group-vertical {
213
+ > .btn,
214
+ > .btn-group,
215
+ > .btn-group > .btn {
216
+ display: block;
217
+ float: none;
218
+ width: 100%;
219
+ max-width: 100%;
220
+ }
221
+
222
+ // Clear floats so dropdown menus can be properly placed
223
+ > .btn-group {
224
+ &:extend(.clearfix all);
225
+
226
+ > .btn {
227
+ float: none;
228
+ }
229
+ }
230
+
231
+ > .btn + .btn,
232
+ > .btn + .btn-group,
233
+ > .btn-group + .btn,
234
+ > .btn-group + .btn-group {
235
+ margin-top: -1px;
236
+ .margin(left, 0);
237
+ }
238
+ }
239
+
240
+ .btn-group-vertical > .btn {
241
+ &:not(:first-child):not(:last-child) {
242
+ border-radius: 0;
243
+ }
244
+
245
+ &:first-child:not(:last-child) {
246
+ border-top-right-radius: @border-radius-base;
247
+ .border-bottom-radius(0);
248
+ }
249
+
250
+ &:last-child:not(:first-child) {
251
+ border-bottom-left-radius: @border-radius-base;
252
+ .border-top-radius(0);
253
+ }
254
+ }
255
+
256
+ .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
257
+ border-radius: 0;
258
+ }
259
+
260
+ .btn-group-vertical > .btn-group:first-child:not(:last-child) {
261
+ > .btn:last-child,
262
+ > .dropdown-toggle {
263
+ .border-bottom-radius(0);
264
+ }
265
+ }
266
+
267
+ .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
268
+ .border-top-radius(0);
269
+ }
270
+
271
+ // Justified button groups
272
+ // ----------------------
273
+
274
+ // @TODO Deprecate / Remove
275
+ .btn-group-justified {
276
+ display: table;
277
+ width: 100%;
278
+ table-layout: fixed;
279
+ border-collapse: separate;
280
+
281
+ > .btn,
282
+ > .btn-group {
283
+ float: none;
284
+ display: table-cell;
285
+ width: 1%;
286
+ }
287
+
288
+ > .btn-group .btn {
289
+ width: 100%;
290
+ }
291
+
292
+ > .btn-group .dropdown-menu {
293
+ .left(auto);
294
+ }
295
+ }
296
+
297
+ // Checkbox and radio options
298
+ //
299
+ // In order to support the browser's form validation feedback, powered by the
300
+ // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
301
+ // `display: none;` or `visibility: hidden;` as that also hides the popover.
302
+ // Simply visually hiding the inputs via `opacity` would leave them clickable in
303
+ // certain cases which is prevented by using `clip` and `pointer-events`.
304
+ // This way, we ensure a DOM element is visible to position the popover from.
305
+ //
306
+ // See https://github.com/twbs/bootstrap/pull/12794 and
307
+ // https://github.com/twbs/bootstrap/pull/14559 for more information.
308
+
309
+ [data-toggle="buttons"] {
310
+ > .btn,
311
+ > .btn-group > .btn {
312
+ input[type="radio"],
313
+ input[type="checkbox"] {
314
+ position: absolute;
315
+ clip: rect(0, 0, 0, 0);
316
+ pointer-events: none;
317
+ }
318
+ }
319
+ }
320
+
321
+ .btn-group .btn {
322
+ + .btn-success {
323
+ .border(left, 1px, solid, var(--color-content-positive));
324
+ }
325
+
326
+ + .btn-primary {
327
+ .border(left, 1px, solid, var(--color-content-accent));
328
+ }
329
+ }
330
+
331
+ .btn-group.btn-block {
332
+ display: inline-flex;
333
+ .clearfix();
334
+
335
+ .btn {
336
+ display: block;
337
+ width: 100%;
338
+ }
339
+
340
+ .btn-input.btn {
341
+ .text-align(left);
342
+
343
+ .caret {
344
+ position: absolute;
345
+ .right(16px);
346
+
347
+ top: 16px;
348
+ }
349
+
350
+ &.btn-sm .caret {
351
+ .right(8px);
352
+ }
353
+
354
+ &.dropdown-toggle {
355
+ .padding(right, 40px, 16px);
356
+
357
+ overflow: hidden;
358
+ text-overflow: ellipsis;
359
+
360
+ @media (min-width: @screen-sm-min) {
361
+ .padding(right, 48px, 16px);
362
+ }
363
+ }
364
+
365
+ &.btn-sm.dropdown-toggle {
366
+ .padding(right, 33px);
367
+ }
368
+ }
369
+
370
+ .btn + .dropdown-toggle {
371
+ flex: 0;
372
+
373
+ .caret {
374
+ position: relative;
375
+ top: 0;
376
+ .right(0);
377
+ }
378
+ }
379
+ }
380
+
381
+ .btn-block {
382
+ .dropdown-menu {
383
+ width: 100%;
384
+
385
+ > li > a {
386
+ overflow: hidden;
387
+ width: 100%;
388
+ text-overflow: ellipsis;
389
+ }
390
+ }
391
+ }
392
+
393
+ .btn-group {
394
+ .dropdown-menu {
395
+ max-height: 90vh;
396
+ max-height: 90svh;
397
+ overflow: auto;
398
+ }
399
+
400
+ // allow select input options to wrap into multiple lines
401
+ .btn-input + .dropdown-menu {
402
+ > li > a {
403
+ white-space: normal;
404
+ }
405
+ }
406
+
407
+ .np-text-body-default,
408
+ .body-2,
409
+ .small {
410
+ color: var(--color-content-secondary);
411
+ }
412
+ }
413
+
414
+ @media (min-height: 592px) {
415
+ .btn-group .dropdown-menu {
416
+ max-height: 592px; // (12 * 48) + 16 = 592
417
+ }
418
+ }
419
+
420
+ .btn-group .secondary {
421
+ .np-text-body-default;
422
+
423
+ color: var(--color-content-secondary);
424
+ }