@transferwise/neptune-css 0.0.0-experimental-5cb94bb → 0.0.0-experimental-ee9e70d

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@transferwise/neptune-css",
3
3
  "description": "Neptune CSS library",
4
- "version": "0.0.0-experimental-5cb94bb",
4
+ "version": "0.0.0-experimental-ee9e70d",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -37,7 +37,7 @@
37
37
  }
38
38
 
39
39
  .np-theme-personal {
40
- font-family: var(--wds-font-family-regular);
40
+ font-family: var(--font-family-regular);
41
41
  font-feature-settings: "calt";
42
42
 
43
43
  --input-group-addon-padding: @padding-large-vertical @padding-base-horizontal;
@@ -68,7 +68,7 @@
68
68
 
69
69
  html {
70
70
  font-size: var(--base-font-size);
71
- font-family: var(--wds-font-family-regular);
71
+ font-family: var(--font-family-regular);
72
72
  color: var(--color-content-secondary);
73
73
  background-color: var(--color-background-screen);
74
74
  -webkit-font-smoothing: antialiased;
@@ -221,11 +221,11 @@ ul {
221
221
 
222
222
  dt,
223
223
  dd {
224
- line-height: var(--wds-line-height-body-large);
224
+ line-height: var(--line-height-body);
225
225
  }
226
226
 
227
227
  dt {
228
- font-size: var(--wds-font-size-body);
228
+ font-size: var(--font-size-14);
229
229
  }
230
230
 
231
231
  dd {
@@ -145,15 +145,15 @@
145
145
  }
146
146
 
147
147
  .font-weight-bold {
148
- font-weight: var(--wds-font-weight-title-screen) !important;
148
+ font-weight: var(--font-weight-bold) !important;
149
149
  }
150
150
 
151
151
  .font-weight-semi-bold {
152
- font-weight: var(--wds-font-weight-title-group) !important;
152
+ font-weight: var(--font-weight-semi-bold) !important;
153
153
  }
154
154
 
155
155
  .font-weight-normal {
156
- font-weight: var(--wds-font-weight-body-regular) !important;
156
+ font-weight: var(--font-weight-regular) !important;
157
157
  }
158
158
 
159
159
  .font-italic {
@@ -6,7 +6,7 @@
6
6
 
7
7
  // TITLE
8
8
 
9
- /* DEPRECATED: use `.wds-text-*` instead */
9
+ /* DEPRECATED: use .np-text-*-title instead */
10
10
  /* stylelint-disable-next-line selector-list-comma-newline-after */
11
11
  .h1,
12
12
  .h2,
@@ -32,6 +32,8 @@ h6,
32
32
  .np-text-title-group {
33
33
  margin: 0;
34
34
  color: var(--color-content-primary);
35
+ line-height: var(--line-height-title);
36
+ letter-spacing: 0;
35
37
  .np-text-hyphenated;
36
38
 
37
39
  + p,
@@ -41,76 +43,86 @@ h6,
41
43
  }
42
44
  }
43
45
 
44
- /* DEPRECATED: use `.wds-text-title-screen` instead */
46
+ /* DEPRECATED: use .np-text-title-screen instead */
45
47
  /* stylelint-disable-next-line selector-list-comma-newline-after */
46
48
  .h1,
47
49
  .title-1,
48
50
  h1,
49
- .np-text-title-screen,
50
- .wds-text-title-screen {
51
- &:extend(.wds-text-title-screen);
51
+ .np-text-title-screen {
52
52
  margin-bottom: initial;
53
+ font-size: var(--font-size-30);
54
+ font-weight: var(--font-weight-semi-bold);
55
+ letter-spacing: -0.021em;
56
+ line-height: 115%;
53
57
  }
54
58
 
55
- /* DEPRECATED: use `.wds-text-title-section` instead */
59
+ /* DEPRECATED: use .np-text-title-section instead */
56
60
  /* stylelint-disable-next-line selector-list-comma-newline-after */
57
61
  .h2,
58
62
  .title-2,
59
63
  h2,
60
- .np-text-title-section,
61
- .wds-text-title-section {
62
- &:extend(.wds-text-title-section);
64
+ .np-text-title-section {
63
65
  margin-bottom: initial;
66
+ font-weight: var(--font-weight-semi-bold);
67
+ font-size: var(--font-size-26);
68
+ letter-spacing: -0.02em;
69
+ line-height: 122%;
64
70
  }
65
71
 
66
- /* DEPRECATED: use `.wds-text-title-subsection` instead */
72
+ /* DEPRECATED: use .np-text-title-subsection instead */
67
73
  /* stylelint-disable-next-line selector-list-comma-newline-after */
68
74
  .h3,
69
75
  .title-3,
70
76
  h3,
71
- .np-text-title-subsection,
72
- .wds-text-title-subsection {
73
- &:extend(.wds-text-title-subsection);
77
+ .np-text-title-subsection {
74
78
  margin-bottom: initial;
79
+ font-size: var(--font-size-22);
80
+ font-weight: var(--font-weight-semi-bold);
81
+ letter-spacing: -0.018em;
82
+ line-height: 125%;
75
83
  }
76
84
 
77
- /* DEPRECATED: use `.wds-text-title-body` instead */
85
+ /* DEPRECATED: use .np-text-title-body instead */
78
86
  /* stylelint-disable-next-line selector-list-comma-newline-after */
79
87
  .h4,
80
88
  .title-4,
81
89
  h4,
82
- .np-text-title-body,
83
- .wds-text-title-body {
84
- &:extend(.wds-text-title-body);
90
+ .np-text-title-body {
91
+ font-size: var(--font-size-18);
92
+ font-weight: var(--font-weight-semi-bold);
93
+ letter-spacing: -0.014em;
94
+ line-height: 135%;
85
95
  }
86
96
 
87
- /* DEPRECATED: use `.wds-text-title-group` instead */
97
+ /* DEPRECATED: use .np-text-title-group instead */
88
98
  /* stylelint-disable-next-line selector-list-comma-newline-after */
89
99
  .h5,
90
100
  .h6,
91
101
  .title-5,
92
102
  h5,
93
103
  h6,
94
- .np-text-title-group,
95
- .wds-text-title-group {
96
- &:extend(.wds-text-title-group);
104
+ .np-text-title-group {
105
+ font-weight: var(--font-weight-medium);
106
+ font-size: var(--font-size-14);
107
+ letter-spacing: -0.006em;
108
+ line-height: 140%;
97
109
  }
98
110
 
99
- /* DEPRECATED: use `.wds-text-title-body` instead */
111
+ /* DEPRECATED: use .np-text-title-body instead */
100
112
  .lead {
101
113
  margin-bottom: var(--size-24);
102
- font-size: var(--wds-font-size-title-body);
103
- line-height: var(--wds-line-height-title-body);
114
+ font-size: var(--font-size-20);
115
+ line-height: var(--line-height-title);
104
116
  }
105
117
 
106
- // DEPRECATED: use `.wds-text-body-default` instead
118
+ // DEPRECATED: use .np-text-body-default instead
107
119
  .tiny {
108
120
  color: var(--color-content-secondary);
109
121
  }
110
122
 
111
123
  // BODY
112
124
 
113
- /* DEPRECATED: use `.wds-text-body-default` instead */
125
+ /* DEPRECATED: use .np-text-body-default instead */
114
126
  /* stylelint-disable-next-line selector-list-comma-newline-after */
115
127
  .body-2,
116
128
  .body-3,
@@ -118,41 +130,49 @@ h6,
118
130
  .tiny,
119
131
  body,
120
132
  small,
121
- .np-text-body-default,
122
- .wds-text-body-default {
123
- &:extend(.wds-text-body-default);
133
+ .np-text-body-default {
134
+ font-size: var(--font-size-14);
135
+ line-height: 155%;
136
+ letter-spacing: -0.006em;
137
+ font-weight: var(--font-weight-regular);
124
138
  .np-text-hyphenated;
125
139
  }
126
140
 
127
- /* DEPRECATED: use `.wds-text-body-default-bold` instead */
141
+ /* DEPRECATED: use .np-text-body-default-bold instead */
128
142
  /* stylelint-disable-next-line selector-list-comma-newline-after */
129
143
  .control-2,
130
144
 
131
145
  // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
132
146
  .label, .control-label,
133
147
 
134
- .np-text-body-default-bold,
135
- .wds-text-body-default-bold {
136
- &:extend(.wds-text-body-default-bold);
148
+ .np-text-body-default-bold {
149
+ font-size: var(--font-size-14);
150
+ line-height: 155%;
151
+ letter-spacing: -0.006em;
152
+ font-weight: var(--font-weight-semi-bold);
137
153
  .np-text-hyphenated;
138
154
  }
139
155
 
140
- /* DEPRECATED: use `.wds-text-body-large` instead */
156
+ /* DEPRECATED: use .np-text-body-large instead */
141
157
  /* stylelint-disable-next-line selector-list-comma-newline-after */
142
158
  .body-1,
143
159
  .value,
144
- .np-text-body-large,
145
- .wds-text-body-large {
146
- &:extend(.wds-text-body-large);
160
+ .np-text-body-large {
161
+ font-weight: var(--font-weight-regular);
162
+ font-size: var(--font-size-16);
163
+ line-height: 150%;
164
+ letter-spacing: -0.011em;
147
165
  .np-text-hyphenated;
148
166
  }
149
167
 
150
- /* DEPRECATED: use `.wds-text-body-large-bold` instead */
168
+ /* DEPRECATED: use np-text-body-large-bold instead */
151
169
  /* stylelint-disable-next-line selector-list-comma-newline-after */
152
170
  .control-1,
153
- .np-text-body-large-bold,
154
- .wds-text-body-large-bold {
155
- &:extend(.wds-text-body-large-bold);
171
+ .np-text-body-large-bold {
172
+ font-weight: var(--font-weight-semi-bold);
173
+ font-size: var(--font-size-16);
174
+ line-height: 150%;
175
+ letter-spacing: -0.011em;
156
176
  .np-text-hyphenated;
157
177
  }
158
178
 
@@ -161,43 +181,37 @@ small,
161
181
  a,
162
182
  .np-text-link-default,
163
183
  .np-text-link-large {
164
- font-weight: var(--wds-font-weight-title-body);
184
+ font-weight: var(--font-weight-semi-bold);
165
185
  .link-underline();
166
186
  }
167
187
 
168
188
  .np-text-link-large {
169
- font-size: var(--wds-font-size-body-large);
189
+ font-size: var(--font-size-16);
170
190
  letter-spacing: -0.011em;
171
191
  line-height: 150%;
172
192
  }
173
193
 
174
194
  .np-text-link-default {
175
- font-size: var(--wds-font-size-body);
195
+ font-size: var(--font-size-14);
176
196
  letter-spacing: -0.006em;
177
197
  line-height: 155%;
178
198
  }
179
199
 
180
200
  // DISPLAY
181
201
 
182
- /* DEPRECATED: use .wds-text-display-number-small instead */
183
- .np-text-display-number,
184
- .wds-text-display-number {
185
- &:extend(.wds-text-display-number);
186
- }
187
-
188
- .np-text-display-number-small,
189
- .wds-text-display-number-small {
190
- &:extend(.wds-text-display-number-small);
191
- }
192
-
193
- .np-text-display-number-medium,
194
- .wds-text-display-number-medium {
195
- &:extend(.wds-text-display-number-medium);
202
+ .np-text-display-number {
203
+ font-weight: var(--font-weight-semi-bold);
204
+ font-size: 40px;
205
+ line-height: 110%;
196
206
  }
197
207
 
198
- .np-text-display-number-large,
199
- .wds-text-display-number-large {
200
- &:extend(.wds-text-display-number-large);
208
+ .display-formatting(
209
+ @font-size;
210
+ @line-height;
211
+ @font-weight: var(--font-weight-regular)) {
212
+ font-size: @font-size;
213
+ line-height: @line-height;
214
+ font-weight: @font-weight;
201
215
  }
202
216
 
203
217
  .display-1,
@@ -209,12 +223,28 @@ a,
209
223
  .np-text-display-large,
210
224
  .np-text-display-medium,
211
225
  .np-text-display-small {
212
- font-synthesis: none;
213
-
226
+ &,
214
227
  &--forced {
215
- font-family: var(--wds-font-family-display);
228
+ font-family: var(--font-family-display);
216
229
  font-synthesis: none;
217
230
  }
231
+
232
+ :lang(ja) &,
233
+ :lang(th) &,
234
+ :lang(zh-CN) &,
235
+ :lang(zh-HK) & {
236
+ /**
237
+ * Wise Sans covers extended Latin glyphs for logged-in experiences and a small subset
238
+ * of Japanese ones for the logged out ones (exposed by the Editorial DS). Unfortunately,
239
+ * font files are browser-cached and we carried over to launchpad, where it causes issues
240
+ * for unsupported locales, especially those that share glyphs, like Japanese and Chinese.
241
+ * There are exceptions for small UI parts where Wise Sans is fine or expected — e.g. the
242
+ * numeric input of ExpressiveMoneyInput.
243
+ * Add `--forced` BEM modifier to the original class name to guarantee it.
244
+ */
245
+ font-family: var(--font-family-regular);
246
+ line-height: var(--line-height-title);
247
+ }
218
248
  }
219
249
 
220
250
  /* DEPRECATED(.np-text-display-extra-large): use .np-text-display-large instead */
@@ -222,23 +252,36 @@ a,
222
252
  .np-text-display-large,
223
253
  .np-text-display-medium,
224
254
  .np-text-display-small {
255
+ letter-spacing: normal;
225
256
  .np-text-hyphenated;
226
257
  }
227
258
 
228
259
  .np-text-display-extra-large,
229
- .np-text-display-large,
230
- .wds-text-display-large {
231
- &:extend(.wds-text-display-large);
260
+ .np-text-display-large {
261
+ .display-formatting(var(--size-64), normal, var(--font-weight-bold));
232
262
  }
233
263
 
234
- .np-text-display-medium,
235
- .wds-text-display-medium {
236
- &:extend(.wds-text-display-medium);
264
+ .np-text-display-medium {
265
+ .display-formatting(var(--size-52), normal, var(--font-weight-bold));
237
266
  }
238
267
 
239
- .np-text-display-small,
240
- .wds-text-display-small {
241
- &:extend(.wds-text-display-small);
268
+ .np-text-display-small {
269
+ .display-formatting(var(--size-40), normal, var(--font-weight-bold));
270
+ }
271
+
272
+ :lang(en) {
273
+ > .np-text-display-extra-large,
274
+ > .np-text-display-large {
275
+ .display-formatting(var(--size-64), 0.85);
276
+ }
277
+
278
+ > .np-text-display-medium {
279
+ .display-formatting(var(--size-52), 0.85);
280
+ }
281
+
282
+ > .np-text-display-small {
283
+ .display-formatting(var(--size-40), 0.85);
284
+ }
242
285
  }
243
286
 
244
287
  /* Disable hyphenation for English
@@ -251,6 +294,117 @@ a,
251
294
  hyphens: none;
252
295
  }
253
296
 
297
+ :lang(af),
298
+ :lang(sq),
299
+ :lang(eu),
300
+ :lang(bs),
301
+ :lang(ca),
302
+ :lang(kw),
303
+ :lang(hr),
304
+ :lang(cs),
305
+ :lang(da),
306
+ :lang(nl),
307
+ :lang(eo),
308
+ :lang(et),
309
+ :lang(fo),
310
+ :lang(fi),
311
+ :lang(fr),
312
+ :lang(gl),
313
+ :lang(lg),
314
+ :lang(de),
315
+ :lang(hu),
316
+ :lang(is),
317
+ :lang(se),
318
+ :lang(id),
319
+ :lang(in),
320
+ :lang(ga),
321
+ :lang(it),
322
+ :lang(kl),
323
+ :lang(ki),
324
+ :lang(rw),
325
+ :lang(lv),
326
+ :lang(lt),
327
+ :lang(lb),
328
+ :lang(mg),
329
+ :lang(ms),
330
+ :lang(mt),
331
+ :lang(gv),
332
+ :lang(mi),
333
+ :lang(nd),
334
+ :lang(nb),
335
+ :lang(nn),
336
+ :lang(om),
337
+ :lang(pl),
338
+ :lang(pt),
339
+ :lang(ro),
340
+ :lang(rm),
341
+ :lang(rn),
342
+ :lang(sg),
343
+ :lang(gd),
344
+ :lang(sr),
345
+ :lang(sn),
346
+ :lang(sk),
347
+ :lang(sl),
348
+ :lang(so),
349
+ :lang(es),
350
+ :lang(sw),
351
+ :lang(sv),
352
+ :lang(tr),
353
+ :lang(cy),
354
+ :lang(fy),
355
+ :lang(wo),
356
+ :lang(zu),
357
+ :lang(hsb),
358
+ :lang(gsw),
359
+ :lang(dsb),
360
+ :lang(fil) {
361
+ .np-text-display-extra-large,
362
+ .np-text-display-large {
363
+ .display-formatting(var(--size-64), 1.05);
364
+ }
365
+
366
+ .np-text-display-medium {
367
+ .display-formatting(var(--size-52), 1.05);
368
+ }
369
+
370
+ .np-text-display-small {
371
+ .display-formatting(var(--size-40), 1.05);
372
+ }
373
+ }
374
+
375
+ :lang(el),
376
+ :lang(az),
377
+ :lang(be),
378
+ :lang(bs),
379
+ :lang(bg),
380
+ :lang(ce),
381
+ :lang(mk),
382
+ :lang(os),
383
+ :lang(ru),
384
+ :lang(sr),
385
+ :lang(uk),
386
+ :lang(uz),
387
+ :lang(sah) {
388
+ .np-text-display-extra-large,
389
+ .np-text-display-large {
390
+ .display-formatting(var(--size-60),
391
+ 120%,
392
+ var(--font-weight-semi-bold));
393
+ }
394
+
395
+ .np-text-display-medium {
396
+ .display-formatting(var(--size-48),
397
+ 120%,
398
+ var(--font-weight-semi-bold));
399
+ }
400
+
401
+ .np-text-display-small {
402
+ .display-formatting(var(--size-40),
403
+ 120%,
404
+ var(--font-weight-semi-bold));
405
+ }
406
+ }
407
+
254
408
  /* DEPRECATED: use `.np-text-display-*` instead */
255
409
  .display-1 {
256
410
  margin-bottom: var(--size-24);
@@ -347,7 +501,7 @@ p {
347
501
 
348
502
  strong,
349
503
  b {
350
- font-weight: var(--wds-font-weight-title-body);
504
+ font-weight: var(--font-weight-semi-bold);
351
505
  color: var(--color-content-primary);
352
506
  }
353
507
 
@@ -365,7 +519,7 @@ address {
365
519
  blockquote {
366
520
  margin: var(--size-16) 0;
367
521
  padding: 0 var(--size-16) 0 calc(var(--size-16) - 2px);
368
- font-size: var(--wds-font-size-body-large);
522
+ font-size: var(--font-size-16);
369
523
  .border(left, 2px, solid, var(--color-content-accent));
370
524
 
371
525
  p {
@@ -383,8 +537,8 @@ blockquote {
383
537
  footer {
384
538
  display: block;
385
539
  color: var(--color-content-secondary);
386
- font-size: var(--wds-font-size-body);
387
- line-height: var(--wds-line-height-body-large);
540
+ font-size: var(--font-size-14);
541
+ line-height: var(--line-height-body);
388
542
 
389
543
  &::before {
390
544
  content: "\2014 \00A0"; // em dash, nbsp
@@ -397,7 +551,7 @@ blockquote {
397
551
 
398
552
  @media (--screen-lg) {
399
553
  margin: var(--size-32);
400
- font-size: var(--wds-font-size-body-large);
554
+ font-size: var(--font-size-16);
401
555
  }
402
556
  }
403
557
 
@@ -434,8 +588,8 @@ pre {
434
588
  padding: var(--size-16);
435
589
  overflow: auto;
436
590
  color: var(--color-content-secondary);
437
- font-size: var(--wds-font-size-body);
438
- line-height: var(--wds-line-height-body-large);
591
+ font-size: var(--font-size-14);
592
+ line-height: var(--line-height-body);
439
593
  word-wrap: break-word;
440
594
  word-break: break-all;
441
595
  background-color: var(--color-background-neutral);
@@ -464,7 +618,7 @@ kbd {
464
618
 
465
619
  kbd {
466
620
  padding: 0;
467
- font-weight: var(--wds-font-weight-title-body);
621
+ font-weight: var(--font-weight-bold);
468
622
  font-size: 100%;
469
623
  }
470
624
  }
@@ -1,11 +1,11 @@
1
- @import (reference) "../../variables/legacy-variables.less";
2
- @import (reference) "../../variables/neptune-tokens.less";
3
- @import (reference) "../mixins/_arrows.less";
4
- @import (reference) "../mixins/_grid.less";
5
- @import (reference) "../mixins/_forms.less";
6
- @import (reference) "../mixins/_tab-focus.less";
7
- @import (reference) "../mixins/_logical-properties.less";
8
- @import (reference) "../core/_typography.less";
1
+ @import (reference) '../../variables/legacy-variables.less';
2
+ @import (reference) '../../variables/neptune-tokens.less';
3
+ @import (reference) '../mixins/_arrows.less';
4
+ @import (reference) '../mixins/_grid.less';
5
+ @import (reference) '../mixins/_forms.less';
6
+ @import (reference) '../mixins/_tab-focus.less';
7
+ @import (reference) '../mixins/_logical-properties.less';
8
+ @import (reference) '../core/_typography.less';
9
9
 
10
10
  //
11
11
  // Forms
@@ -43,7 +43,7 @@ label,
43
43
  .secondary {
44
44
  color: var(--color-content-secondary);
45
45
  transition: color ease-in-out 0.15s;
46
- font-size: var(--wds-font-size-body);
46
+ font-size: var(--font-size-14);
47
47
  line-height: 20px;
48
48
  }
49
49
 
@@ -54,34 +54,34 @@ label,
54
54
  // address browser inconsistencies.
55
55
 
56
56
  // Override content-box in Normalize (* isn't specific enough)
57
- input[type="search"] {
57
+ input[type='search'] {
58
58
  box-sizing: border-box;
59
59
  }
60
60
 
61
- input[type="number"] {
61
+ input[type='number'] {
62
62
  appearance: textfield;
63
63
  }
64
64
 
65
- input[type="number"]::-webkit-outer-spin-button,
66
- input[type="number"]::-webkit-inner-spin-button {
65
+ input[type='number']::-webkit-outer-spin-button,
66
+ input[type='number']::-webkit-inner-spin-button {
67
67
  appearance: none;
68
68
  margin: 0;
69
69
  }
70
70
 
71
71
  // Position radios and checkboxes better
72
- input[type="radio"],
73
- input[type="checkbox"] {
72
+ input[type='radio'],
73
+ input[type='checkbox'] {
74
74
  margin: 4px 0 0;
75
75
  margin-top: 1px;
76
76
  line-height: normal;
77
77
  }
78
78
 
79
- input[type="file"] {
79
+ input[type='file'] {
80
80
  display: block;
81
81
  }
82
82
 
83
83
  // Make range inputs behave like textual form controls
84
- input[type="range"] {
84
+ input[type='range'] {
85
85
  display: block;
86
86
  width: 100%;
87
87
  }
@@ -93,9 +93,9 @@ select[size] {
93
93
  }
94
94
 
95
95
  // Focus for file, radio, and checkbox
96
- input[type="file"]:focus,
97
- input[type="radio"]:focus,
98
- input[type="checkbox"]:focus {
96
+ input[type='file']:focus,
97
+ input[type='radio']:focus,
98
+ input[type='checkbox']:focus {
99
99
  .tab-focus();
100
100
  }
101
101
 
@@ -103,8 +103,8 @@ input[type="checkbox"]:focus {
103
103
  output {
104
104
  display: block;
105
105
  padding-top: (@padding-base-vertical + 1);
106
- font-size: var(--wds-font-size-body-large);
107
- line-height: var(--wds-line-height-title-section);
106
+ font-size: var(--font-size-16);
107
+ line-height: var(--line-height-control);
108
108
  color: var(--color-content-primary);
109
109
  }
110
110
 
@@ -138,14 +138,14 @@ output {
138
138
  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
139
139
  border: 1px solid var(--color-interactive-secondary);
140
140
  transition: border-color ease-in-out 0.15s;
141
- font-size: var(--wds-font-size-body-large);
141
+ font-size: var(--font-size-16);
142
142
 
143
143
  .input-size(
144
144
  var(--input-height-base),
145
145
  var(--input-padding),
146
146
  @input-border-radius
147
147
  );
148
- .wds-text-body-large;
148
+ .np-text-body-large;
149
149
 
150
150
  // Remove iOS drop shadow
151
151
  background-clip: padding-box;
@@ -197,7 +197,7 @@ output {
197
197
  // be added to `.form-control` as it's not specific enough. For details, see
198
198
  // https://github.com/twbs/bootstrap/issues/11586.
199
199
 
200
- input[type="search"] {
200
+ input[type='search'] {
201
201
  appearance: none;
202
202
  }
203
203
 
@@ -209,10 +209,10 @@ input[type="search"] {
209
209
  // for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
210
210
 
211
211
  @media screen and (min-device-pixel-ratio: 0) {
212
- input[type="date"],
213
- input[type="time"],
214
- input[type="datetime-local"],
215
- input[type="month"] {
212
+ input[type='date'],
213
+ input[type='time'],
214
+ input[type='datetime-local'],
215
+ input[type='month'] {
216
216
  line-height: var(--input-height-base);
217
217
 
218
218
  &.input-sm,
@@ -222,7 +222,7 @@ input[type="search"] {
222
222
 
223
223
  &.input-lg,
224
224
  .input-group-lg & {
225
- line-height: calc(var(--input-height-large) - var(--wds-line-height-body-large));
225
+ line-height: calc(var(--input-height-large) - var(--line-height-body));
226
226
  }
227
227
  }
228
228
  }
@@ -248,7 +248,7 @@ input[type="search"] {
248
248
  }
249
249
  }
250
250
 
251
- .row-equal-height > [class*="col-"] > .form-group {
251
+ .row-equal-height > [class*='col-'] > .form-group {
252
252
  width: 100%;
253
253
  }
254
254
 
@@ -275,10 +275,10 @@ input[type="search"] {
275
275
  margin-top: (@padding-base-vertical * 1.5);
276
276
  }
277
277
 
278
- .radio input[type="radio"],
279
- .radio-inline input[type="radio"],
280
- .checkbox input[type="checkbox"],
281
- .checkbox-inline input[type="checkbox"] {
278
+ .radio input[type='radio'],
279
+ .radio-inline input[type='radio'],
280
+ .checkbox input[type='checkbox'],
281
+ .checkbox-inline input[type='checkbox'] {
282
282
  position: absolute;
283
283
  .margin(left, -20px);
284
284
 
@@ -313,8 +313,8 @@ input[type="search"] {
313
313
  // Some special care is needed because <label>s don't inherit their parent's `cursor`.
314
314
  //
315
315
  // Note: Neither radios nor checkboxes can be readonly.
316
- input[type="radio"],
317
- input[type="checkbox"] {
316
+ input[type='radio'],
317
+ input[type='checkbox'] {
318
318
  &[disabled],
319
319
  &.disabled,
320
320
  fieldset[disabled] & {
@@ -349,7 +349,7 @@ input[type="password"] {
349
349
  .form-control-static {
350
350
  // Remove default margin from `p`
351
351
  margin-bottom: 0;
352
- min-height: calc(var(--wds-line-height-title-section) * 2);
352
+ min-height: calc(var(--line-height-control) * 2);
353
353
  color: var(--color-content-secondary);
354
354
  background-color: var(--color-background-neutral);
355
355
  border: 1px solid var(--color-interactive-secondary);
@@ -380,7 +380,7 @@ input[type="password"] {
380
380
  );
381
381
  font-size: 14px;
382
382
  line-height: 24px;
383
- .wds-text-body-default();
383
+ .np-text-body-default();
384
384
  }
385
385
 
386
386
  .form-group-sm,
@@ -388,7 +388,7 @@ input[type="password"] {
388
388
  .form-control {
389
389
  height: @input-height-small;
390
390
  padding: var(--input-padding-small);
391
- font-size: var(--wds-font-size-body);
391
+ font-size: var(--font-size-14);
392
392
  line-height: @input-line-height-small;
393
393
  border-radius: @input-border-radius-small;
394
394
  }
@@ -405,9 +405,9 @@ input[type="password"] {
405
405
 
406
406
  .form-control-static {
407
407
  height: @input-height-small;
408
- min-height: calc(var(--wds-line-height-title-section) + @input-font-size-small);
408
+ min-height: calc(var(--line-height-control) + @input-font-size-small);
409
409
  padding: var(--input-padding-small);
410
- font-size: var(--wds-font-size-body);
410
+ font-size: var(--font-size-14);
411
411
  line-height: @input-line-height-small;
412
412
  }
413
413
  }
@@ -418,7 +418,7 @@ input[type="password"] {
418
418
  var(--input-padding-large);
419
419
  @input-border-radius-large
420
420
  );
421
- .wds-text-body-large;
421
+ .np-text-body-large;
422
422
  }
423
423
 
424
424
  .form-group-lg {
@@ -445,7 +445,7 @@ input[type="password"] {
445
445
 
446
446
  .form-control-static {
447
447
  height: var(--input-height-large);
448
- min-height: calc(var(--wds-line-height-title-section) + @input-font-size-large);
448
+ min-height: calc(var(--line-height-control) + @input-font-size-large);
449
449
  padding: var(--input-padding-large);
450
450
  font-size: @input-font-size-large;
451
451
  line-height: @input-line-height-large;
@@ -533,9 +533,7 @@ input[type="password"] {
533
533
  border-style: solid;
534
534
  border-radius: var(--radius-small);
535
535
  padding: 4px 16px 3px;
536
- transition:
537
- border-color 0.15s ease-in-out,
538
- background-color 0.15s ease-in-out;
536
+ transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
539
537
 
540
538
  a {
541
539
  color: inherit;
@@ -626,7 +624,7 @@ input[type="password"] {
626
624
  // Reposition feedback icon if input has visible label above
627
625
  .has-feedback label {
628
626
  & ~ .form-control-feedback {
629
- top: var(--wds-line-height-title-section); // Height of the `label` and its margin
627
+ top: var(--line-height-control); // Height of the `label` and its margin
630
628
  }
631
629
 
632
630
  &.sr-only ~ .form-control-feedback {
@@ -703,8 +701,8 @@ input[type="password"] {
703
701
  }
704
702
  }
705
703
 
706
- .radio input[type="radio"],
707
- .checkbox input[type="checkbox"] {
704
+ .radio input[type='radio'],
705
+ .checkbox input[type='checkbox'] {
708
706
  position: relative;
709
707
  .margin(left, 0);
710
708
  }
@@ -737,7 +735,7 @@ input[type="password"] {
737
735
  // and other content below items
738
736
  .radio,
739
737
  .checkbox {
740
- min-height: calc(var(--wds-line-height-title-section) + (@padding-base-vertical + 1));
738
+ min-height: calc(var(--line-height-control) + (@padding-base-vertical + 1));
741
739
  }
742
740
 
743
741
  // Make form groups behave like rows
@@ -774,7 +772,7 @@ input[type="password"] {
774
772
  // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
775
773
  .control-label {
776
774
  padding-top: 17px;
777
- font-size: var(--wds-font-size-title-body);
775
+ font-size: var(--font-size-20);
778
776
  }
779
777
  }
780
778
  }
@@ -784,13 +782,13 @@ input[type="password"] {
784
782
  // DEPRECATED: use `Field` component (or in some edge cases `Label` component) instead
785
783
  .control-label {
786
784
  padding-top: 8px;
787
- font-size: var(--wds-font-size-body);
785
+ font-size: var(--font-size-14);
788
786
  }
789
787
  }
790
788
  }
791
789
  }
792
790
 
793
- @import "checkbox-radio.less";
791
+ @import 'checkbox-radio.less';
794
792
 
795
793
  .input-group .input-group-btn + input {
796
794
  .border(left, 0, solid, transparent);
@@ -820,7 +818,7 @@ input[type="password"] {
820
818
 
821
819
  .form-group {
822
820
  position: relative;
823
- font-size: var(--wds-font-size-body);
821
+ font-size: var(--font-size-14);
824
822
  }
825
823
 
826
824
  .form-group .row {
@@ -828,7 +826,7 @@ input[type="password"] {
828
826
 
829
827
  .margin(right, -6px);
830
828
 
831
- [class*="col-"] {
829
+ [class*='col-'] {
832
830
  .padding(left, 6px);
833
831
 
834
832
  .padding(right, 6px);
@@ -836,7 +834,7 @@ input[type="password"] {
836
834
  }
837
835
 
838
836
  @media (max-width: @screen-xs-max) {
839
- .form-group .row [class*="col-sm-"] {
837
+ .form-group .row [class*='col-sm-'] {
840
838
  margin-bottom: 0;
841
839
 
842
840
  .btn-input {
@@ -846,7 +844,7 @@ input[type="password"] {
846
844
  }
847
845
 
848
846
  @media (max-width: @screen-sm-max) {
849
- .form-group .row [class*="col-md-"] {
847
+ .form-group .row [class*='col-md-'] {
850
848
  margin-bottom: 0;
851
849
 
852
850
  .form-control,
@@ -857,7 +855,7 @@ input[type="password"] {
857
855
  }
858
856
 
859
857
  @media (max-width: @screen-md-max) {
860
- .form-group .row [class*="col-lg-"] {
858
+ .form-group .row [class*='col-lg-'] {
861
859
  margin-bottom: 0;
862
860
 
863
861
  .form-control,
@@ -868,7 +866,7 @@ input[type="password"] {
868
866
  }
869
867
 
870
868
  @media (max-width: @screen-lg-max) {
871
- .form-group .row [class*="col-xl-"] {
869
+ .form-group .row [class*='col-xl-'] {
872
870
  margin-bottom: 0;
873
871
 
874
872
  .form-control,
@@ -897,9 +895,7 @@ input[type="password"] {
897
895
  background-color: var(--color-background-screen);
898
896
  border: 1px solid var(--color-interactive-secondary);
899
897
  border-radius: @border-radius-base;
900
- transition:
901
- border 0.15s ease-in-out,
902
- background-color 0.15s ease-in-out;
898
+ transition: border 0.15s ease-in-out, background-color 0.15s ease-in-out;
903
899
 
904
900
  .np-theme-personal & {
905
901
  border-radius: var(--radius-small);
@@ -930,8 +926,7 @@ input[type="password"] {
930
926
  small,
931
927
  .small,
932
928
  .body-2,
933
- .np-text-body-default,
934
- .wds-text-body-default {
929
+ .np-text-body-default {
935
930
  display: block;
936
931
  color: var(--color-content-secondary);
937
932
  }
@@ -1026,7 +1021,7 @@ input[type="password"] {
1026
1021
  .form-control-placeholder {
1027
1022
  text-overflow: ellipsis;
1028
1023
  overflow: hidden;
1029
- .wds-text-body-large;
1024
+ .np-text-body-large;
1030
1025
  display: block;
1031
1026
  width: 100%;
1032
1027
  color: var(--color-content-tertiary);
@@ -1130,32 +1125,26 @@ input[type="password"] {
1130
1125
 
1131
1126
  .checkbox:hover .tw-checkbox-button,
1132
1127
  .radio:not(.disabled):hover .tw-radio-button,
1133
- .tw-checkbox-button:not(.disabled, :disabled):hover,
1134
- input[type="checkbox"]:hover + .tw-checkbox-button,
1135
- input[type="radio"]:not(.disabled, :disabled):hover + .tw-radio-button,
1136
- input[type="checkbox"]:not(.disabled, :disabled):hover + .tw-checkbox-button {
1128
+ .tw-checkbox-button:not(.disabled,:disabled):hover,
1129
+ input[type=checkbox]:hover+.tw-checkbox-button,
1130
+ input[type=radio]:not(.disabled,:disabled):hover+.tw-radio-button,
1131
+ input[type=checkbox]:not(.disabled,:disabled):hover+.tw-checkbox-button {
1137
1132
  box-shadow: inset 0 0 0 2px var(--color-sentiment-negative-hover);
1138
1133
  }
1139
1134
 
1140
1135
  .tw-checkbox-button.checked,
1141
1136
  .tw-checkbox-button:checked,
1142
- input[type="checkbox"]:checked + .tw-checkbox-button,
1137
+ input[type=checkbox]:checked+.tw-checkbox-button,
1143
1138
  .tw-checkbox-button.checked:hover,
1144
1139
  .tw-checkbox-button:checked:hover,
1145
- input[type="checkbox"]:not(.disabled, :disabled):checked:hover + .tw-checkbox-button {
1140
+ input[type=checkbox]:not(.disabled,:disabled):checked:hover+.tw-checkbox-button {
1146
1141
  box-shadow: inset 0 0 0 3px var(--color-sentiment-negative);
1147
1142
  background: var(--color-sentiment-negative);
1148
1143
  }
1149
1144
 
1150
- .checkbox > label:not(.disabled, :disabled):active input[type="checkbox"] + .tw-checkbox-button,
1151
- .checkbox
1152
- > label:not(.disabled, :disabled):focus-visible
1153
- input[type="checkbox"]
1154
- + .tw-checkbox-button,
1155
- .checkbox
1156
- > label:not(.disabled, :disabled):has(:focus-visible)
1157
- input[type="checkbox"]
1158
- + .tw-checkbox-button {
1145
+ .checkbox>label:not(.disabled,:disabled):active input[type=checkbox]+.tw-checkbox-button,
1146
+ .checkbox>label:not(.disabled,:disabled):focus-visible input[type=checkbox]+.tw-checkbox-button,
1147
+ .checkbox>label:not(.disabled,:disabled):has(:focus-visible) input[type=checkbox]+.tw-checkbox-button {
1159
1148
  box-shadow: inset 0 0 0 2px var(--color-sentiment-negative-active);
1160
1149
  }
1161
1150
  }
@@ -1164,9 +1153,7 @@ input[type="password"] {
1164
1153
  .tw-checkbox-button {
1165
1154
  background-color: unset;
1166
1155
  color: unset;
1167
- transition:
1168
- background-color 0.3s ease-in-out,
1169
- box-shadow 0.3s ease-in-out;
1156
+ transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
1170
1157
  }
1171
1158
 
1172
1159
  .btn-input:hover,
@@ -1183,7 +1170,7 @@ input[type="password"] {
1183
1170
  }
1184
1171
 
1185
1172
  .form-group .np-upload-input label {
1186
- margin-bottom: 0;
1173
+ margin-bottom: 0;
1187
1174
  }
1188
1175
 
1189
1176
  .form-group .alert:before,
@@ -309,9 +309,9 @@
309
309
  padding-top: 1px; // `0` would look off due to checkbox misalignment
310
310
 
311
311
  :not(.np-theme-personal) & {
312
- font-weight: var(--wds-font-weight-body-regular);
313
- font-size: var(--wds-font-size-body-large);
314
- line-height: var(--wds-line-height-title-subsection);
312
+ font-weight: var(--font-weight-regular);
313
+ font-size: var(--font-size-16);
314
+ line-height: var(--line-height-20);
315
315
  // Account for our funky font baseline
316
316
  padding-top: 3px;
317
317
  }
@@ -1,7 +1,7 @@
1
1
  @import (reference) "_logical-properties.less";
2
2
 
3
3
  .reset-text() {
4
- font-family: var(--wds-font-family-regular);
4
+ font-family: var(--font-family-regular);
5
5
 
6
6
  // We deliberately do NOT reset font-size.
7
7
 
@@ -22,9 +22,6 @@
22
22
  &.np-text-title-screen,
23
23
  &.np-text-title-section,
24
24
  &.np-text-title-subsection,
25
- &.wds-text-title-screen,
26
- &.wds-text-title-section,
27
- &.wds-text-title-subsection,
28
25
  h1,
29
26
  h2,
30
27
  h3,
@@ -36,10 +33,7 @@
36
33
  .title-3,
37
34
  .np-text-title-screen,
38
35
  .np-text-title-section,
39
- .np-text-title-subsection,
40
- .wds-text-title-screen,
41
- .wds-text-title-section,
42
- .wds-text-title-subsection {
36
+ .np-text-title-subsection {
43
37
  color: @large-color !important;
44
38
  }
45
39
  }