@transferwise/neptune-css 12.1.3 → 12.1.4-beta-ef9e9fd33f.2

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 (52) hide show
  1. package/CHANGELOG.md +101 -3
  2. package/dist/css/accordion.css +1 -1
  3. package/dist/css/alerts.css +1 -1
  4. package/dist/css/buttons.css +1 -1
  5. package/dist/css/chevron.css +1 -1
  6. package/dist/css/circles.css +1 -1
  7. package/dist/css/decision.css +1 -1
  8. package/dist/css/dropdowns.css +1 -1
  9. package/dist/css/footer.css +1 -1
  10. package/dist/css/forms.css +1 -1
  11. package/dist/css/input-groups.css +1 -1
  12. package/dist/css/list-group.css +1 -1
  13. package/dist/css/navbar-base.css +1 -1
  14. package/dist/css/navbar.css +1 -1
  15. package/dist/css/navs.css +1 -1
  16. package/dist/css/neptune-core.css +1 -1
  17. package/dist/css/neptune-social-media.css +1 -1
  18. package/dist/css/neptune.css +1 -1
  19. package/dist/css/popovers.css +1 -1
  20. package/dist/css/process.css +1 -1
  21. package/dist/css/table.css +1 -1
  22. package/dist/css/tick.css +1 -1
  23. package/dist/css/tooltip.css +1 -1
  24. package/dist/less/neptune-tokens.less +2 -8
  25. package/dist/props/neptune-tokens.css +1 -3
  26. package/package.json +3 -3
  27. package/src/less/addons/_background-utilities.less +1 -0
  28. package/src/less/alerts.less +6 -2
  29. package/src/less/background.less +2 -0
  30. package/src/less/buttons.less +25 -44
  31. package/src/less/chevron.less +0 -4
  32. package/src/less/circles.less +0 -1
  33. package/src/less/core/_scaffolding.less +9 -9
  34. package/src/less/core/_typography-utilities.less +6 -1
  35. package/src/less/decision.less +0 -5
  36. package/src/less/dropdowns.less +0 -20
  37. package/src/less/footer.less +0 -38
  38. package/src/less/forms/bootstrap-forms.less +15 -73
  39. package/src/less/forms/checkbox-radio.less +18 -60
  40. package/src/less/input-groups.less +3 -14
  41. package/src/less/list-group.less +2 -16
  42. package/src/less/mixins/_alerts.less +3 -45
  43. package/src/less/mixins/_buttons.less +9 -31
  44. package/src/less/mixins/_forms.less +7 -7
  45. package/src/less/navbar-base.less +9 -52
  46. package/src/less/navs.less +0 -4
  47. package/src/less/neptune.bundle.less +3 -0
  48. package/src/less/popovers.less +1 -0
  49. package/src/less/process.less +0 -4
  50. package/src/less/table.less +1 -1
  51. package/src/less/tick.less +0 -9
  52. package/src/less/tooltip.less +1 -0
@@ -70,44 +70,6 @@
70
70
  }
71
71
  }
72
72
 
73
- &.footer-inverse {
74
- background: @color-navy-background-elevated;
75
-
76
- .footer-link,
77
- .link-icon {
78
- color: @color-navy-content-primary;
79
-
80
- &:hover,
81
- &:active,
82
- &:focus {
83
- color: @color-navy-content-primary;
84
- }
85
-
86
- svg {
87
- fill: @color-navy-content-primary;
88
-
89
- &:hover,
90
- &:active,
91
- &:focus {
92
- fill: @color-navy-content-primary;
93
- }
94
- }
95
- }
96
-
97
- .footer-title {
98
- color: @color-navy-content-primary;
99
- }
100
-
101
- hr {
102
- opacity: 0.1;
103
- }
104
-
105
- .tiny,
106
- .body-3 {
107
- color: @color-navy-content-primary;
108
- }
109
- }
110
-
111
73
  @media (--screen-xs-max) {
112
74
  position: relative;
113
75
  }
@@ -54,10 +54,6 @@ label,
54
54
  transition: color ease-in-out 0.15s;
55
55
  }
56
56
 
57
- .disabled > label {
58
- color: var(--color-content-disabled);
59
- }
60
-
61
57
  // Normalize form controls
62
58
  //
63
59
  // While most of our form styles require extra classes, some basic normalization
@@ -161,7 +157,7 @@ output {
161
157
  // Remove iOS drop shadow
162
158
  background-clip: padding-box;
163
159
 
164
- &:hover {
160
+ &:not(.disabled, :disabled):hover {
165
161
  border-color: var(--color-interactive-secondary-hover);
166
162
  }
167
163
 
@@ -172,31 +168,6 @@ output {
172
168
  color: var(--color-content-tertiary);
173
169
  }
174
170
 
175
- // Disabled and read-only inputs
176
- //
177
- // HTML5 says that controls under a fieldset > legend:first-child won't be
178
- // disabled if the fieldset is disabled. Due to implementation difficulty, we
179
- // don't honor that edge case; we style them as disabled anyway.
180
- &[disabled],
181
- &[readonly],
182
- fieldset[disabled] & {
183
- background-color: var(--color-background-neutral);
184
- color: var(--color-content-disabled);
185
- border-color: var(--color-interactive-disabled);
186
-
187
- &::placeholder {
188
- color: var(--color-content-disabled);
189
- }
190
-
191
- // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
192
- opacity: 1;
193
- }
194
-
195
- &[disabled],
196
- fieldset[disabled] & {
197
- cursor: @cursor-disabled;
198
- }
199
-
200
171
  // Reset height for `textarea`s
201
172
  textarea& {
202
173
  height: 144px;
@@ -376,9 +347,9 @@ input[type='checkbox'] {
376
347
  line-height: var(--line-height-control);
377
348
  min-height: calc(var(--line-height-control) * 2);
378
349
  font-size: var(--font-size-16);
379
- color: var(--color-content-disabled);
350
+ color: var(--color-content-secondary);
380
351
  background-color: var(--color-background-neutral);
381
- border: 1px solid var(--color-interactive-disabled);
352
+ border: 1px solid var(--color-interactive-secondary);
382
353
  border-radius: @input-border-radius;
383
354
  padding: @input-padding;
384
355
 
@@ -590,24 +561,24 @@ input[type='checkbox'] {
590
561
  .has-success {
591
562
  .form-control-validation(
592
563
  var(--color-content-positive);
593
- var(--color-interactive-secondary);
594
- var(--color-interactive-secondary-hover);
564
+ var(--color-interactive-positive);
565
+ var(--color-interactive-positive-hover);
595
566
  );
596
567
  }
597
568
 
598
569
  .has-info {
599
570
  .form-control-validation(
600
571
  var(--color-content-accent);
601
- var(--color-interactive-secondary);
602
- var(--color-interactive-secondary-hover);
572
+ var(--color-interactive-accent);
573
+ var(--color-interactive-accent-hover);
603
574
  );
604
575
  }
605
576
 
606
577
  .has-warning {
607
578
  .form-control-validation(
608
579
  var(--color-content-warning);
609
- var(--color-interactive-secondary);
610
- var(--color-interactive-secondary-hover);
580
+ var(--color-interactive-warning);
581
+ var(--color-interactive-warning-hover);
611
582
  );
612
583
  }
613
584
 
@@ -901,31 +872,19 @@ input[type='checkbox'] {
901
872
  border-radius: @border-radius-base;
902
873
  transition: border 0.15s ease-in-out, background-color 0.15s ease-in-out;
903
874
 
904
- &:hover {
875
+ &:not(.disabled, :disabled):hover {
905
876
  border-color: var(--color-interactive-accent-hover);
906
877
  }
907
878
 
908
- &.focus,
909
- &.focus:hover,
910
- &.has-focus,
911
- &.has-focus:hover,
912
- &:focus-within {
879
+ &:not(.disabled, :disabled).focus,
880
+ &:not(.disabled, :disabled).focus:hover,
881
+ &:not(.disabled, :disabled).has-focus,
882
+ &:not(.disabled, :disabled).has-focus:hover,
883
+ &:not(.disabled, :disabled):focus-within {
913
884
  border-color: var(--color-interactive-accent-active);
914
885
  }
915
886
  }
916
887
 
917
- &[disabled],
918
- &[readonly],
919
- fieldset[disabled] &,
920
- &.disabled,
921
- &.readonly {
922
- label {
923
- color: var(--color-content-disabled);
924
- border-color: var(--color-interactive-disabled);
925
- background-color: var(--color-background-neutral);
926
- }
927
- }
928
-
929
888
  &.checkbox-lg,
930
889
  &.radio-lg {
931
890
  > label {
@@ -942,23 +901,6 @@ input[type='checkbox'] {
942
901
  }
943
902
  }
944
903
 
945
- .disabled .checkbox,
946
- .checkbox.disabled,
947
- .disabled .radio,
948
- .radio.disabled {
949
- > label,
950
- > label:hover {
951
- border-color: var(--color-interactive-disabled);
952
- color: var(--color-content-disabled);
953
-
954
- small,
955
- .small,
956
- .body-2 {
957
- color: var(--color-content-disabled);
958
- }
959
- }
960
- }
961
-
962
904
  .error-messages {
963
905
  display: none;
964
906
  color: var(--color-content-negative);
@@ -41,19 +41,19 @@
41
41
  color: var(--color-background-screen);
42
42
  }
43
43
 
44
- &:hover,
44
+ &:not(.disabled, :disabled):hover,
45
45
  input[type='checkbox']:hover + &,
46
46
  .checkbox:hover & {
47
47
  border-color: var(--color-interactive-secondary);
48
48
  }
49
49
 
50
- &:focus,
51
- &.focus,
52
- &:focus:hover,
53
- &.focus:hover,
50
+ &:not(.disabled, :disabled):focus,
51
+ &:not(.disabled, :disabled).focus,
52
+ &:not(.disabled, :disabled):focus:hover,
53
+ &:not(.disabled, :disabled).focus:hover,
54
54
  input[type='checkbox']:focus + &,
55
- &:active,
56
- &.active,
55
+ &:not(.disabled, :disabled):active,
56
+ &:not(.disabled, :disabled).active,
57
57
  input[type='checkbox']:active + & {
58
58
  border-color: var(--color-interactive-secondary);
59
59
  outline: none;
@@ -72,29 +72,18 @@
72
72
 
73
73
  &[checked]:hover,
74
74
  &.checked:hover,
75
- input[type='checkbox']:not(:disabled):checked:hover + & {
75
+ input[type='checkbox']:not(.disabled, :disabled):checked:hover + & {
76
76
  border-color: var(--color-interactive-accent-hover) !important;
77
77
  background-color: var(--color-interactive-accent-hover);
78
78
  }
79
79
 
80
80
  &[checked]:active,
81
81
  &.checked:active,
82
- input[type='checkbox']:not(:disabled):checked:active + & {
82
+ input[type='checkbox']:not(.disabled, :disabled):checked:active + & {
83
83
  border-color: var(--color-interactive-accent-active) !important;
84
84
  background-color: var(--color-interactive-accent-active);
85
85
  }
86
86
 
87
- &[disabled],
88
- input[type='checkbox']:disabled + & {
89
- background-color: var(--color-background-neutral);
90
- border-color: var(--color-interactive-disabled) !important;
91
- cursor: @cursor-disabled;
92
-
93
- .tw-checkbox-check {
94
- color: var(--color-content-disabled);
95
- }
96
- }
97
-
98
87
  .checkbox.has-error &,
99
88
  &.has-error {
100
89
  border-color: var(--color-interactive-negative) !important;
@@ -103,23 +92,19 @@
103
92
  &.checked {
104
93
  background-color: var(--color-interactive-negative);
105
94
  }
106
-
107
- &[disabled] {
108
- background-color: var(--color-background-neutral);
109
- }
110
95
  }
111
96
 
112
- .checkbox.has-error input[type='checkbox']:checked + & {
97
+ .checkbox.has-error input[type='checkbox']:not(.disabled, :disabled):checked + & {
113
98
  border-color: var(--color-interactive-negative) !important;
114
99
  background-color: var(--color-interactive-negative);
115
100
  }
116
101
 
117
- .checkbox.has-error input[type='checkbox']:checked:hover + & {
102
+ .checkbox.has-error input[type='checkbox']:not(.disabled, :disabled):checked:hover + & {
118
103
  border-color: var(--color-interactive-negative-hover) !important;
119
104
  background-color: var(--color-interactive-negative-hover);
120
105
  }
121
106
 
122
- .checkbox.has-error input[type='checkbox']:checked:active + & {
107
+ .checkbox.has-error input[type='checkbox']:not(.disabled, :disabled):checked:active + & {
123
108
  border-color: var(--color-interactive-negative-active) !important;
124
109
  background-color: var(--color-interactive-negative-active);
125
110
  }
@@ -147,15 +132,15 @@
147
132
  transition: all 0.15s ease-in-out;
148
133
  }
149
134
 
150
- .radio:hover &,
151
- &:hover {
135
+ .radio:not(.disabled, :disabled):hover &,
136
+ &:not(.disabled, :disabled):hover {
152
137
  border-color: var(--color-interactive-secondary-hover);
153
138
  }
154
139
 
155
- &:focus,
156
- &.focus,
157
- &:active,
158
- &.active {
140
+ &:not(.disabled, :disabled):focus,
141
+ &:not(.disabled, :disabled).focus,
142
+ &:not(.disabled, :disabled):active,
143
+ &:not(.disabled, :disabled).active {
159
144
  border-color: var(--color-interactive-secondary-active);
160
145
  outline: none;
161
146
  }
@@ -178,17 +163,6 @@
178
163
  }
179
164
  }
180
165
 
181
- &[disabled],
182
- &.disabled {
183
- background-color: var(--color-background-neutral);
184
- border-color: var(--color-interactive-disabled) !important;
185
- cursor: @cursor-disabled;
186
-
187
- .tw-radio-check {
188
- background-color: var(--color-interactive-disabled);
189
- }
190
- }
191
-
192
166
  .radio.has-error &,
193
167
  &.has-error {
194
168
  border-color: var(--color-interactive-negative) !important;
@@ -197,18 +171,6 @@
197
171
  &.checked .tw-radio-check {
198
172
  background-color: var(--color-interactive-negative);
199
173
  }
200
-
201
- &[disabled] .tw-radio-check {
202
- background-color: var(--color-interactive-disabled);
203
- }
204
- }
205
- }
206
-
207
- .checkbox {
208
- &.disabled label,
209
- &.disabled label:hover {
210
- border-color: var(--color-interactive-disabled);
211
- color: var(--color-content-disabled) !important;
212
174
  }
213
175
  }
214
176
 
@@ -277,8 +239,4 @@
277
239
  .np-radio__avatar {
278
240
  pointer-events: none;
279
241
  }
280
-
281
- &[disabled] .np-radio__avatar {
282
- opacity: 0.5;
283
- }
284
242
  }
@@ -49,12 +49,12 @@
49
49
 
50
50
  border-color: var(--color-interactive-secondary);
51
51
 
52
- :hover& {
52
+ :not(.disabled, :disabled):hover& {
53
53
  border-color: var(--color-interactive-secondary-hover);
54
54
  }
55
55
 
56
- &:active,
57
- &:focus {
56
+ &:not(.disabled, :disabled):active,
57
+ &:not(.disabled, :disabled):focus {
58
58
  border-color: var(--color-interactive-accent-active);
59
59
  }
60
60
  }
@@ -77,17 +77,6 @@
77
77
  border-color: var(--color-interactive-accent-active);
78
78
  }
79
79
  }
80
-
81
- &.disabled {
82
- .input-group-addon {
83
- background-color: var(--color-background-neutral);
84
- border-color: var(--color-interactive-disabled);
85
- }
86
-
87
- &:active .input-group-addon {
88
- border-color: var(--color-interactive-secondary-active);
89
- }
90
- }
91
80
  }
92
81
 
93
82
  // Sizing options
@@ -86,8 +86,8 @@ a.list-group-item {
86
86
  }
87
87
 
88
88
  // Hover state
89
- &:hover,
90
- &:focus {
89
+ &:not(.disabled, :disabled):hover,
90
+ &:not(.disabled, :disabled):focus {
91
91
  text-decoration: none;
92
92
  color: var(--color-content-accent-hover);
93
93
  background-color: var(--color-background-neutral);
@@ -106,20 +106,6 @@ a.list-group-item {
106
106
  }
107
107
  }
108
108
 
109
- // Disabled state
110
- &.disabled {
111
- color: var(--color-content-disabled);
112
-
113
- .list-group-item-heading,
114
- .list-group-item-text,
115
- b,
116
- strong,
117
- .circle,
118
- .icon {
119
- color: var(--color-content-disabled);
120
- }
121
- }
122
-
123
109
  // Active class on item itself, not parent
124
110
  &.active {
125
111
  z-index: 2; // Place active items above their siblings for proper border styling
@@ -1,4 +1,5 @@
1
1
  @import (reference) '../mixins/_logical-properties.less';
2
+ @import (reference) '../mixins/_arrows.less';
2
3
 
3
4
  .alert-variant(@background; @text-color; @text-hover) {
4
5
  background-color: @background;
@@ -23,55 +24,12 @@
23
24
  }
24
25
  }
25
26
 
26
- .arrow(@size: 10px) {
27
+ .alert-arrow(@size: 10px) {
27
28
  position: relative;
28
29
  .arrow-pointer(@size);
29
- .arrow-positions(@size);
30
- }
31
30
 
32
- .arrow-pointer(@size: 10px) {
33
31
  &::before {
34
- content: ' ';
35
- position: absolute;
36
- display: block;
37
- width: @size;
38
- height: @size;
39
- .left((2 * @size));
40
-
41
- top: (@size / -2);
42
- transform: rotate(45deg);
43
32
  clip-path: polygon(0% 0%, 0 100%, 100% 0);
44
- background-color: inherit;
45
- }
46
- }
47
-
48
- .arrow-positions(@size: 10px) {
49
- &.arrow-center::before {
50
- .left(50%);
51
-
52
- .margin(left, (@size / -2));
53
- }
54
-
55
- &.arrow-top::before {
56
- top: (@size / -2);
57
- bottom: auto;
58
- }
59
-
60
- &.arrow-left::before {
61
- .left((2 * @size));
62
-
63
- .right(auto);
64
- }
65
-
66
- &.arrow-right::before {
67
- .left(auto);
68
-
69
- .right((2 * @size));
70
- }
71
-
72
- &.arrow-bottom::before {
73
- top: auto;
74
- bottom: (@size / -2);
75
- transform: rotate(225deg);
76
33
  }
34
+ .arrow-positions(@size);
77
35
  }
@@ -14,63 +14,41 @@
14
14
  background-color: @background;
15
15
  border-color: @border;
16
16
  transition: all 0.15s ease-in-out;
17
- transition-property: color, border-color, background-color;
18
17
 
19
- &:focus,
20
- &.focus {
18
+ &:not(.disabled, :disabled):focus,
19
+ &:not(.disabled, :disabled).focus {
21
20
  color: @color-hover;
22
21
  background-color: @background-hover;
23
22
  border-color: @border-hover;
24
23
  }
25
24
 
26
- &:hover {
25
+ &:not(.disabled, :disabled):hover {
27
26
  color: @color-hover;
28
27
  background-color: @background-hover;
29
28
  border-color: @border-hover;
30
29
  }
31
30
 
32
- &:active,
33
- &.active,
31
+ &:not(.disabled, :disabled):active,
32
+ &:not(.disabled, :disabled).active,
34
33
  .open > .dropdown-toggle& {
35
34
  color: @color-active;
36
35
  background-color: @background-active;
37
36
  border-color: @border-active;
38
37
 
39
- &:hover,
40
- &:focus,
41
- &.focus {
38
+ &:not(.disabled, :disabled):hover,
39
+ &:not(.disabled, :disabled):focus,
40
+ &:not(.disabled, :disabled).focus {
42
41
  color: @color-active;
43
42
  background-color: @background-active;
44
43
  border-color: @border-active;
45
44
  }
46
45
  }
47
46
 
48
- &.active,
47
+ &:not(.disabled, :disabled).active,
49
48
  .open > .dropdown-toggle& {
50
49
  background-image: none;
51
50
  }
52
51
 
53
- &.disabled,
54
- &[disabled],
55
- fieldset[disabled] & {
56
- &,
57
- &:hover,
58
- &:focus,
59
- &.focus,
60
- &:active,
61
- &.active {
62
- background-color: var(--color-background-neutral);
63
- border-color: var(--color-interactive-disabled);
64
- color: var(--color-content-disabled);
65
-
66
- &.btn-priority-2 {
67
- background-color: @background;
68
- border-color: var(--color-interactive-disabled);
69
- color: var(--color-content-disabled);
70
- }
71
- }
72
- }
73
-
74
52
  .badge {
75
53
  color: @background;
76
54
  background-color: @color;
@@ -28,11 +28,11 @@
28
28
  // Set the border and box shadow on specific inputs to match
29
29
  .form-control,
30
30
  .btn-input,
31
- .btn-input:focus,
32
- .btn-input:hover,
31
+ .btn-input:not(.disabled, :disabled):focus,
32
+ .btn-input:not(.disabled, :disabled):hover,
33
33
  .input-group-addon,
34
34
  .alert {
35
- border-color: @border-color;
35
+ border-color: @border-color !important;
36
36
  }
37
37
 
38
38
  &:active,
@@ -49,7 +49,7 @@
49
49
  }
50
50
  }
51
51
 
52
- &:hover {
52
+ &:not(.disabled, :disabled):hover {
53
53
  &.radio label,
54
54
  &.checkbox label,
55
55
  .btn-input,
@@ -66,12 +66,12 @@
66
66
  .radio,
67
67
  &.checkbox {
68
68
  > label {
69
- &:not(.disabled) {
69
+ &:not(.disabled, :disabled) {
70
70
  border-color: @border-color;
71
71
  color: var(--color-content-primary);
72
72
  }
73
73
 
74
- &:hover,
74
+ &:not(.disabled, :disabled):hover,
75
75
  &:focus-within {
76
76
  border-color: @border-hover !important;
77
77
 
@@ -102,7 +102,7 @@
102
102
  // Example usage: change the default blue border and shadow to white for better
103
103
  // contrast against a dark gray background.
104
104
  .form-control-focus(@color: var(--color-interactive-accent-active)) {
105
- &:focus {
105
+ &:not(.disabled, :disabled):focus {
106
106
  border-color: @color;
107
107
  outline: 0;
108
108
  }