@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,41 @@
1
+ @import (reference) "./mixins/_logical-properties.less";
2
+
3
+ .currency-flag {
4
+ box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.6);
5
+
6
+ .np-theme-personal & {
7
+ box-shadow: inset 0 0 0 1px var(--color-border-neutral);
8
+ border-radius: 50%;
9
+ }
10
+
11
+ .btn &,
12
+ .dropdown-menu li & {
13
+ vertical-align: -3px;
14
+ line-height: 16px;
15
+ }
16
+
17
+ .btn-sm &,
18
+ .form-group-sm .btn &,
19
+ .input-group-sm .btn & {
20
+ vertical-align: -4px;
21
+ }
22
+
23
+ .btn-lg &,
24
+ .form-group-lg .btn &,
25
+ .input-group-lg .btn & {
26
+ vertical-align: -1px;
27
+ }
28
+ }
29
+
30
+ li,
31
+ li > a {
32
+ > .currency-flag:first-child {
33
+ .margin(right, var(--size-8));
34
+ }
35
+ }
36
+
37
+ .btn {
38
+ .currency-flag:first-child {
39
+ .margin(right, var(--size-8));
40
+ }
41
+ }
@@ -0,0 +1,98 @@
1
+ @import (reference) "../variables/neptune-tokens.less";
2
+ @import (reference) "./core/_typography.less";
3
+ @import (reference) "./ring.less";
4
+
5
+ .decision {
6
+ cursor: pointer;
7
+ margin-bottom: 0 !important;
8
+ border: 0;
9
+ align-items: center;
10
+ transition: background-color ease 350ms;
11
+ background-color: transparent;
12
+ display: block;
13
+
14
+ &:not(.np-option):focus-visible,
15
+ &:not(.np-option):has(:focus-visible) {
16
+ .ring();
17
+ .ring-offset-0();
18
+ }
19
+
20
+ &__title {
21
+ .np-text-title-body();
22
+ }
23
+
24
+ &__content {
25
+ .np-text-body-default;
26
+
27
+ margin-top: var(--size-4);
28
+ }
29
+
30
+ + .decision {
31
+ margin-top: -1px;
32
+ }
33
+
34
+ dd:last-child {
35
+ margin-bottom: 0;
36
+ }
37
+
38
+ dl {
39
+ margin-top: var(--size-8);
40
+ }
41
+
42
+ .media,
43
+ &.media {
44
+ width: 100%;
45
+ padding: var(--size-16) var(--size-12);
46
+
47
+ .np-theme-personal & {
48
+ padding: var(--size-16);
49
+ }
50
+
51
+ .media-left {
52
+ display: none;
53
+ }
54
+
55
+ .media-body {
56
+ color: var(--color-content-secondary);
57
+ }
58
+
59
+ @media (--screen-xs) {
60
+ .media-left {
61
+ display: block;
62
+ }
63
+ }
64
+ }
65
+
66
+ &:not(.disabled):hover {
67
+ // TODO: Replace this color on rebrand.
68
+ // Custom hover color added to distinct decision hover color from product page backgrounds.
69
+ background-color: #86a7bd12;
70
+
71
+ .circle-inverse {
72
+ background-color: var(--color-background-screen);
73
+
74
+ .np-theme-personal & {
75
+ background-color: var(--color-background-neutral);
76
+ }
77
+ }
78
+
79
+ .tw-checkbox-button,
80
+ .tw-radio-button {
81
+ border-color: var(--color-interactive-accent);
82
+
83
+ .np-theme-personal & {
84
+ border-color: transparent;
85
+ }
86
+ }
87
+ }
88
+
89
+ &.decision-complex {
90
+ align-items: initial;
91
+ }
92
+
93
+ .np-theme-personal & {
94
+ &:not(.disabled):hover {
95
+ background-color: var(--color-background-screen-hover);
96
+ }
97
+ }
98
+ }
@@ -0,0 +1,374 @@
1
+ @import (reference) "../variables/neptune-tokens.less";
2
+ @import (reference) "../variables/legacy-variables.less";
3
+ @import (reference) "../less/core/_typography.less";
4
+ @import (reference) "./mixins/_border-radius.less";
5
+ @import (reference) "./mixins/_logical-properties.less";
6
+ @import (reference) "./mixins/_theming.less";
7
+ @import (reference) "bootstrap/less/mixins/nav-divider.less";
8
+
9
+ //
10
+ // Dropdown menus
11
+ // @deprecated use ResponsivePanel / Panel components
12
+ // --------------------------------------------------
13
+
14
+ // The dropdown wrapper (div)
15
+ .dropup,
16
+ .dropdown {
17
+ position: relative;
18
+ }
19
+
20
+ // The dropdown menu (ul)
21
+ .dropdown-menu {
22
+ position: absolute;
23
+ top: 0; //100%;
24
+ .left(0);
25
+
26
+ z-index: @zindex-dropdown;
27
+ .float(left);
28
+
29
+ .padding-shorthand(@padding-base-vertical);
30
+
31
+ margin: 0; // override default ul
32
+ list-style: none;
33
+ .np-text-body-default;
34
+ .text-align(left); // Ensures proper alignment if parent has it changed (e.g., modal footer)
35
+
36
+ background-color: var(--color-background-screen);
37
+ border: 0 solid var(--color-border-neutral);
38
+ border-radius: @border-radius-base;
39
+ box-shadow: 0 20px 66px 0 rgba(34, 48, 73, 0.2);
40
+ background-clip: padding-box;
41
+
42
+ // Bit of a hack for our calculators to make the two controls the same width.
43
+ min-width: 104px;
44
+
45
+ .np-theme-personal &,
46
+ .np-theme-personal--forest-green &,
47
+ .np-theme-personal--dark & {
48
+ background-color: var(--color-background-elevated);
49
+ border-radius: var(--radius-medium);
50
+ box-shadow: 0 0 40px rgb(69 71 69 / 20%);
51
+ }
52
+
53
+ @media (min-width: @screen-sm-min) {
54
+ min-width: 160px;
55
+ }
56
+
57
+ .remove-dark-themes-box-shadows();
58
+
59
+ // Dividers (basically an hr) within the dropdown
60
+ .divider {
61
+ .nav-divider(var(--color-border-neutral));
62
+ }
63
+
64
+ //Force color to text-primary because the dropdowns are white regardless the context
65
+ .text-primary {
66
+ color: var(--color-content-primary) !important;
67
+ }
68
+
69
+ .dropdown-menu-closed();
70
+
71
+ // Links within the dropdown menu
72
+ > li > a {
73
+ display: block;
74
+ padding: var(--dropdown-link-padding);
75
+ clear: both;
76
+ border-radius: @border-radius-base;
77
+ .np-text-body-default;
78
+
79
+ color: var(--color-content-primary);
80
+ white-space: nowrap; // prevent links from randomly breaking onto new lines
81
+
82
+ .secondary {
83
+ display: block;
84
+ white-space: normal;
85
+ }
86
+
87
+ .np-theme-personal &,
88
+ .np-theme-personal--forest-green &,
89
+ .np-theme-personal--dark & {
90
+ border-radius: var(--radius-small);
91
+ }
92
+ }
93
+
94
+ .np-theme-light & {
95
+ > li:first-child > a {
96
+ .border-top-radius((@border-radius-base - 1px));
97
+ }
98
+
99
+ > li:last-child > a {
100
+ .border-bottom-radius((@border-radius-base - 1px));
101
+ }
102
+ }
103
+
104
+ > .overlay-back-button,
105
+ > .overlay-title {
106
+ display: none;
107
+ }
108
+ }
109
+
110
+ .dropdown-menu-open() {
111
+ transition:
112
+ opacity 0.2s cubic-bezier(0.6, 0.2, 0.1, 1),
113
+ transform 0.2s cubic-bezier(0.6, 0.2, 0.1, 1),
114
+ visibility 0s linear 0s;
115
+ visibility: visible;
116
+ opacity: 1;
117
+ transform: none;
118
+ }
119
+
120
+ .dropdown-menu-closed() {
121
+ // the visibility transition here allows us to wait
122
+ // for the opacity/transform animation to finish before we make it hidden.
123
+ transition:
124
+ opacity 0.2s cubic-bezier(0.6, 0.2, 0.1, 1),
125
+ transform 0.2s cubic-bezier(0.6, 0.2, 0.1, 1),
126
+ visibility 0s linear 0.2s;
127
+ opacity: 0;
128
+ transform: translateY(-10px) scale(0.95, 0.95);
129
+ visibility: hidden;
130
+ }
131
+
132
+ .dropdown-menu,
133
+ .btn-group .dropdown-menu {
134
+ max-width: ~"calc(100vw - 32px)";
135
+
136
+ &.dropdown-menu-sm {
137
+ width: 220px;
138
+ }
139
+
140
+ &.dropdown-menu-md {
141
+ width: 300px;
142
+ }
143
+
144
+ &.dropdown-menu-lg {
145
+ width: 420px;
146
+ }
147
+ }
148
+
149
+ // Hover/Focus/Active state
150
+ .dropdown-menu > li:not(.active):not(.selected) > a:not([disabled]):not(.disabled) {
151
+ &:hover,
152
+ &:focus {
153
+ text-decoration: none;
154
+ color: var(--color-content-primary);
155
+ background-color: var(--color-background-neutral);
156
+ outline: 0;
157
+ }
158
+
159
+ &:active {
160
+ color: @color-navy-content-primary;
161
+ background-color: @color-navy-background-elevated;
162
+
163
+ .np-theme-personal & {
164
+ color: var(--color-interactive-primary);
165
+ background-color: var(--color-background-neutral-active);
166
+ }
167
+ }
168
+ }
169
+
170
+ // Active state
171
+ .dropdown-menu > .active > a,
172
+ .dropdown-menu > .selected > a {
173
+ &,
174
+ &:hover,
175
+ &:focus {
176
+ color: @color-navy-content-primary;
177
+ text-decoration: none;
178
+ outline: 0;
179
+ background-color: @color-navy-background-elevated;
180
+ }
181
+
182
+ strong {
183
+ color: inherit;
184
+ }
185
+
186
+ .np-text-body-default,
187
+ .small,
188
+ .secondary {
189
+ color: @color-navy-content-secondary;
190
+ }
191
+ }
192
+
193
+ // Disabled state
194
+ //
195
+ // Gray out text and ensure the hover/focus state remains gray
196
+
197
+ .dropdown-menu > .disabled > a {
198
+ // Nuke hover/focus effects
199
+ &:hover,
200
+ &:focus {
201
+ text-decoration: none;
202
+ background-color: transparent;
203
+ background-image: none; // Remove CSS gradient
204
+ }
205
+ }
206
+
207
+ // Open state for the dropdown
208
+ .open {
209
+ > .dropdown-menu {
210
+ .dropdown-menu-open();
211
+ }
212
+
213
+ @media (--screen-xs-max) {
214
+ > .dropdown-menu-overlay {
215
+ position: fixed;
216
+ top: 0;
217
+ .left(0);
218
+
219
+ width: 100vw;
220
+ height: 100vh;
221
+ height: 100dvh;
222
+ border: 0;
223
+ border-radius: 0;
224
+ box-shadow: none;
225
+ max-width: none;
226
+ overflow-y: auto;
227
+ animation: listSlideOver 0.15s ease-out forwards;
228
+
229
+ > .overlay-back-button,
230
+ > .overlay-title {
231
+ display: block;
232
+ }
233
+ }
234
+ }
235
+
236
+ // Remove the outline when :focus is triggered
237
+ > a {
238
+ outline: 0;
239
+ }
240
+ }
241
+
242
+ // Menu positioning
243
+ //
244
+ // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
245
+ // menu with the parent.
246
+ .dropdown-menu-right,
247
+ .dropdown-menu-xs-right {
248
+ .left(auto);
249
+
250
+ .right(0);
251
+ }
252
+
253
+ .dropdown-menu-left,
254
+ .dropdown-menu-xs-left {
255
+ .left(0);
256
+
257
+ .right(auto);
258
+ }
259
+
260
+ @media (min-width: @screen-sm-min) {
261
+ .dropdown-menu-sm-right {
262
+ .left(auto);
263
+
264
+ .right(0);
265
+ }
266
+
267
+ .dropdown-menu-sm-left {
268
+ .left(0);
269
+
270
+ .right(auto);
271
+ }
272
+ }
273
+
274
+ @media (min-width: @screen-md-min) {
275
+ .dropdown-menu-md-right {
276
+ .left(auto);
277
+
278
+ .right(0);
279
+ }
280
+
281
+ .dropdown-menu-md-left {
282
+ .left(0);
283
+
284
+ .right(auto);
285
+ }
286
+ }
287
+
288
+ @media (min-width: @screen-lg-min) {
289
+ .dropdown-menu-lg-right {
290
+ .left(auto);
291
+
292
+ .right(0);
293
+ }
294
+
295
+ .dropdown-menu-lg-left {
296
+ .left(0);
297
+
298
+ .right(auto);
299
+ }
300
+ }
301
+
302
+ @media (min-width: @screen-xl-min) {
303
+ .dropdown-menu-xl-right {
304
+ .left(auto); // Reset the default from `.dropdown-menu`
305
+
306
+ .right(0);
307
+ }
308
+
309
+ .dropdown-menu-xl-left {
310
+ .left(0);
311
+
312
+ .right(auto);
313
+ }
314
+ }
315
+
316
+ // Dropdown section headers
317
+ .dropdown-header {
318
+ display: block;
319
+ padding: 8px 16px;
320
+ font-size: var(--font-size-14);
321
+ line-height: var(--line-height-body);
322
+ color: var(--color-content-secondary);
323
+ white-space: nowrap; // as with > li > a
324
+
325
+ .np-text-title-group();
326
+ }
327
+
328
+ // Backdrop to catch body clicks on mobile, etc.
329
+ .dropdown-backdrop {
330
+ position: fixed;
331
+ .left(0);
332
+
333
+ .right(0);
334
+
335
+ bottom: 0;
336
+ top: 0;
337
+ z-index: (@zindex-dropdown - 10);
338
+ }
339
+
340
+ // Allow for dropdowns to go bottom up (aka, dropup-menu)
341
+ //
342
+ // Just add .dropup after the standard .dropdown class and you're set, bro.
343
+ // TODO: abstract this so that the navbar fixed styles are not placed here?
344
+
345
+ .dropup,
346
+ .navbar-fixed-bottom .dropdown {
347
+ // Different positioning for bottom up menu
348
+ .dropdown-menu {
349
+ top: auto;
350
+ bottom: -2px; // 100%;
351
+ margin-bottom: 2px;
352
+ }
353
+ }
354
+
355
+ // Component alignment
356
+ //
357
+ // Reiterate per navbar.less and the modified component alignment there.
358
+
359
+ @media (min-width: @grid-float-breakpoint) {
360
+ .navbar-right {
361
+ .dropdown-menu {
362
+ .dropdown-menu-right();
363
+ }
364
+ // Necessary for overrides of the default right aligned menu.
365
+ // Will remove come v4 in all likelihood.
366
+ .dropdown-menu-left {
367
+ .dropdown-menu-left();
368
+ }
369
+ }
370
+ }
371
+
372
+ .bootstrap-select .dropdown-menu {
373
+ margin: -8px 0 -6px;
374
+ }