apx-docs-theme 0.1.7 → 0.1.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/footer.html +8 -9
  3. data/_includes/head.html +20 -9
  4. data/_includes/js_files.html +21 -3
  5. data/_includes/navbar.html +28 -0
  6. data/_includes/sidebar.html +43 -0
  7. data/_layouts/default.html +10 -10
  8. data/_layouts/docs.html +12 -20
  9. data/_sass/bootstrap/_alert.scss +51 -0
  10. data/_sass/bootstrap/_badge.scss +53 -0
  11. data/_sass/bootstrap/_breadcrumb.scss +41 -0
  12. data/_sass/bootstrap/_button-group.scss +163 -0
  13. data/_sass/bootstrap/_buttons.scss +73 -101
  14. data/_sass/bootstrap/_card.scss +310 -0
  15. data/_sass/bootstrap/_carousel.scss +130 -202
  16. data/_sass/bootstrap/_close.scss +23 -15
  17. data/_sass/bootstrap/_code.scss +15 -36
  18. data/_sass/bootstrap/_custom-forms.scss +507 -0
  19. data/_sass/bootstrap/_dropdown.scss +191 -0
  20. data/_sass/bootstrap/_forms.scss +215 -498
  21. data/_sass/bootstrap/_functions.scss +86 -0
  22. data/_sass/bootstrap/_grid.scss +29 -61
  23. data/_sass/bootstrap/_images.scss +42 -0
  24. data/_sass/bootstrap/_input-group.scss +193 -0
  25. data/_sass/bootstrap/_jumbotron.scss +9 -47
  26. data/_sass/bootstrap/_list-group.scss +70 -79
  27. data/_sass/bootstrap/_media.scss +3 -61
  28. data/_sass/bootstrap/_mixins.scss +19 -18
  29. data/_sass/bootstrap/_modal.scss +186 -0
  30. data/_sass/bootstrap/_nav.scss +120 -0
  31. data/_sass/bootstrap/_navbar.scss +192 -555
  32. data/_sass/bootstrap/_pagination.scss +59 -70
  33. data/_sass/bootstrap/_popover.scss +183 -0
  34. data/_sass/bootstrap/_print.scss +89 -49
  35. data/_sass/bootstrap/_progress.scss +34 -0
  36. data/_sass/bootstrap/_reboot.scss +462 -0
  37. data/_sass/bootstrap/_root.scss +19 -0
  38. data/_sass/bootstrap/_spinners.scss +53 -0
  39. data/_sass/bootstrap/_tables.scss +119 -166
  40. data/_sass/bootstrap/_toasts.scss +43 -0
  41. data/_sass/bootstrap/_tooltip.scss +93 -79
  42. data/_sass/bootstrap/_transitions.scss +22 -0
  43. data/_sass/bootstrap/_type.scss +66 -239
  44. data/_sass/bootstrap/_utilities.scss +16 -55
  45. data/_sass/bootstrap/_variables.scss +926 -709
  46. data/_sass/bootstrap/bootstrap-grid.scss +29 -0
  47. data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
  48. data/_sass/bootstrap/bootstrap.scss +44 -0
  49. data/_sass/bootstrap/mixins/_alert.scss +13 -0
  50. data/_sass/bootstrap/mixins/_background-variant.scss +14 -5
  51. data/_sass/bootstrap/mixins/_badge.scss +11 -0
  52. data/_sass/bootstrap/mixins/_border-radius.scss +25 -8
  53. data/_sass/bootstrap/mixins/_box-shadow.scss +5 -0
  54. data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
  55. data/_sass/bootstrap/mixins/_buttons.scss +86 -40
  56. data/_sass/bootstrap/mixins/_caret.scss +62 -0
  57. data/_sass/bootstrap/mixins/_clearfix.scss +3 -18
  58. data/_sass/bootstrap/mixins/_float.scss +11 -0
  59. data/_sass/bootstrap/mixins/_forms.scss +176 -66
  60. data/_sass/bootstrap/mixins/_gradients.scss +17 -30
  61. data/_sass/bootstrap/mixins/_grid-framework.scss +51 -66
  62. data/_sass/bootstrap/mixins/_grid.scss +34 -105
  63. data/_sass/bootstrap/mixins/_hover.scss +37 -0
  64. data/_sass/bootstrap/mixins/_image.scss +18 -15
  65. data/_sass/bootstrap/mixins/_list-group.scss +10 -21
  66. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  67. data/_sass/bootstrap/mixins/_nav-divider.scss +4 -4
  68. data/_sass/bootstrap/mixins/_pagination.scss +10 -12
  69. data/_sass/bootstrap/mixins/_reset-text.scss +7 -8
  70. data/_sass/bootstrap/mixins/_resize.scss +1 -1
  71. data/_sass/bootstrap/mixins/_screen-reader.scss +33 -0
  72. data/_sass/bootstrap/mixins/_size.scss +1 -5
  73. data/_sass/bootstrap/mixins/_table-row.scss +26 -15
  74. data/_sass/bootstrap/mixins/_text-emphasis.scss +7 -5
  75. data/_sass/bootstrap/mixins/_text-hide.scss +13 -0
  76. data/_sass/bootstrap/mixins/{_text-overflow.scss → _text-truncate.scss} +2 -2
  77. data/_sass/bootstrap/mixins/_transition.scss +16 -0
  78. data/_sass/bootstrap/mixins/_visibility.scss +7 -0
  79. data/_sass/bootstrap/utilities/_align.scss +8 -0
  80. data/_sass/bootstrap/utilities/_background.scss +19 -0
  81. data/_sass/bootstrap/utilities/_borders.scss +63 -0
  82. data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
  83. data/_sass/bootstrap/utilities/_display.scss +38 -0
  84. data/_sass/bootstrap/utilities/_embed.scss +39 -0
  85. data/_sass/bootstrap/utilities/_flex.scss +51 -0
  86. data/_sass/bootstrap/utilities/_float.scss +9 -0
  87. data/_sass/bootstrap/utilities/_overflow.scss +5 -0
  88. data/_sass/bootstrap/utilities/_position.scss +32 -0
  89. data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
  90. data/_sass/bootstrap/utilities/_shadows.scss +6 -0
  91. data/_sass/bootstrap/utilities/_sizing.scss +20 -0
  92. data/_sass/bootstrap/utilities/_spacing.scss +73 -0
  93. data/_sass/bootstrap/utilities/_text.scss +67 -0
  94. data/_sass/bootstrap/utilities/_visibility.scss +11 -0
  95. data/_sass/markdown/code.scss +65 -0
  96. data/_sass/markdown/color-system.scss +114 -0
  97. data/_sass/markdown/images.scss +119 -0
  98. data/_sass/markdown/markdown-body.scss +103 -0
  99. data/_sass/markdown/markdown.scss +15 -0
  100. data/_sass/rouge.scss +209 -0
  101. data/_sass/theme.scss +35 -0
  102. data/_sass/{_typeahead.scss → typeahead.scss} +0 -0
  103. data/assets/css/main.scss +1 -90
  104. data/assets/img/{bg.jpg → jumbotron.jpg} +0 -0
  105. data/assets/js/bootstrap.min.js +6 -6
  106. data/assets/js/jquery-3.3.1.min.js +2 -0
  107. data/assets/js/main.js +2 -1
  108. data/assets/js/search.json +11 -0
  109. data/assets/js/typeahead.bundle.js +2621 -0
  110. data/assets/js/typeahead.bundle.min.js +4 -4
  111. metadata +81 -50
  112. data/_includes/pages_nav.html +0 -40
  113. data/_includes/topnav.html +0 -37
  114. data/_sass/_bootstrap.scss +0 -56
  115. data/_sass/_syntax-highlighting.scss +0 -71
  116. data/_sass/bootstrap/_alerts.scss +0 -73
  117. data/_sass/bootstrap/_badges.scss +0 -68
  118. data/_sass/bootstrap/_breadcrumbs.scss +0 -28
  119. data/_sass/bootstrap/_button-groups.scss +0 -244
  120. data/_sass/bootstrap/_component-animations.scss +0 -37
  121. data/_sass/bootstrap/_dropdowns.scss +0 -216
  122. data/_sass/bootstrap/_glyphicons.scss +0 -307
  123. data/_sass/bootstrap/_input-groups.scss +0 -171
  124. data/_sass/bootstrap/_labels.scss +0 -66
  125. data/_sass/bootstrap/_modals.scss +0 -150
  126. data/_sass/bootstrap/_navs.scss +0 -242
  127. data/_sass/bootstrap/_normalize.scss +0 -424
  128. data/_sass/bootstrap/_pager.scss +0 -54
  129. data/_sass/bootstrap/_panels.scss +0 -271
  130. data/_sass/bootstrap/_popovers.scss +0 -131
  131. data/_sass/bootstrap/_progress-bars.scss +0 -87
  132. data/_sass/bootstrap/_responsive-embed.scss +0 -35
  133. data/_sass/bootstrap/_responsive-utilities.scss +0 -179
  134. data/_sass/bootstrap/_scaffolding.scss +0 -161
  135. data/_sass/bootstrap/_theme.scss +0 -291
  136. data/_sass/bootstrap/_thumbnails.scss +0 -38
  137. data/_sass/bootstrap/_wells.scss +0 -29
  138. data/_sass/bootstrap/mixins/_alerts.scss +0 -14
  139. data/_sass/bootstrap/mixins/_center-block.scss +0 -7
  140. data/_sass/bootstrap/mixins/_hide-text.scss +0 -21
  141. data/_sass/bootstrap/mixins/_labels.scss +0 -12
  142. data/_sass/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  143. data/_sass/bootstrap/mixins/_opacity.scss +0 -8
  144. data/_sass/bootstrap/mixins/_panels.scss +0 -24
  145. data/_sass/bootstrap/mixins/_progress-bar.scss +0 -10
  146. data/_sass/bootstrap/mixins/_reset-filter.scss +0 -8
  147. data/_sass/bootstrap/mixins/_responsive-visibility.scss +0 -21
  148. data/_sass/bootstrap/mixins/_tab-focus.scss +0 -9
  149. data/_sass/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  150. data/assets/css/font-awesome.min.css +0 -4
  151. data/assets/fonts/FontAwesome.otf +0 -0
  152. data/assets/fonts/fontawesome-webfont.eot +0 -0
  153. data/assets/fonts/fontawesome-webfont.svg +0 -2671
  154. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  155. data/assets/fonts/fontawesome-webfont.woff +0 -0
  156. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
@@ -0,0 +1,120 @@
1
+ // Base class
2
+ //
3
+ // Kickstart any navigation component with a set of style resets. Works with
4
+ // `<nav>`s or `<ul>`s.
5
+
6
+ .nav {
7
+ display: flex;
8
+ flex-wrap: wrap;
9
+ padding-left: 0;
10
+ margin-bottom: 0;
11
+ list-style: none;
12
+ }
13
+
14
+ .nav-link {
15
+ display: block;
16
+ padding: $nav-link-padding-y $nav-link-padding-x;
17
+
18
+ @include hover-focus {
19
+ text-decoration: none;
20
+ }
21
+
22
+ // Disabled state lightens text
23
+ &.disabled {
24
+ color: $nav-link-disabled-color;
25
+ pointer-events: none;
26
+ cursor: default;
27
+ }
28
+ }
29
+
30
+ //
31
+ // Tabs
32
+ //
33
+
34
+ .nav-tabs {
35
+ border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;
36
+
37
+ .nav-item {
38
+ margin-bottom: -$nav-tabs-border-width;
39
+ }
40
+
41
+ .nav-link {
42
+ border: $nav-tabs-border-width solid transparent;
43
+ @include border-top-radius($nav-tabs-border-radius);
44
+
45
+ @include hover-focus {
46
+ border-color: $nav-tabs-link-hover-border-color;
47
+ }
48
+
49
+ &.disabled {
50
+ color: $nav-link-disabled-color;
51
+ background-color: transparent;
52
+ border-color: transparent;
53
+ }
54
+ }
55
+
56
+ .nav-link.active,
57
+ .nav-item.show .nav-link {
58
+ color: $nav-tabs-link-active-color;
59
+ background-color: $nav-tabs-link-active-bg;
60
+ border-color: $nav-tabs-link-active-border-color;
61
+ }
62
+
63
+ .dropdown-menu {
64
+ // Make dropdown border overlap tab border
65
+ margin-top: -$nav-tabs-border-width;
66
+ // Remove the top rounded corners here since there is a hard edge above the menu
67
+ @include border-top-radius(0);
68
+ }
69
+ }
70
+
71
+
72
+ //
73
+ // Pills
74
+ //
75
+
76
+ .nav-pills {
77
+ .nav-link {
78
+ @include border-radius($nav-pills-border-radius);
79
+ }
80
+
81
+ .nav-link.active,
82
+ .show > .nav-link {
83
+ color: $nav-pills-link-active-color;
84
+ background-color: $nav-pills-link-active-bg;
85
+ }
86
+ }
87
+
88
+
89
+ //
90
+ // Justified variants
91
+ //
92
+
93
+ .nav-fill {
94
+ .nav-item {
95
+ flex: 1 1 auto;
96
+ text-align: center;
97
+ }
98
+ }
99
+
100
+ .nav-justified {
101
+ .nav-item {
102
+ flex-basis: 0;
103
+ flex-grow: 1;
104
+ text-align: center;
105
+ }
106
+ }
107
+
108
+
109
+ // Tabbable tabs
110
+ //
111
+ // Hide tabbable panes to start, show them when `.active`
112
+
113
+ .tab-content {
114
+ > .tab-pane {
115
+ display: none;
116
+ }
117
+ > .active {
118
+ display: block;
119
+ }
120
+ }
@@ -1,661 +1,298 @@
1
+ // Contents
1
2
  //
2
- // Navbars
3
- // --------------------------------------------------
3
+ // Navbar
4
+ // Navbar brand
5
+ // Navbar nav
6
+ // Navbar text
7
+ // Navbar divider
8
+ // Responsive navbar
9
+ // Navbar position
10
+ // Navbar themes
4
11
 
5
12
 
6
- // Wrapper and base class
13
+ // Navbar
7
14
  //
8
15
  // Provide a static navbar from which we expand to create full-width, fixed, and
9
16
  // other navbar variations.
10
17
 
11
18
  .navbar {
12
19
  position: relative;
13
- min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
14
- margin-bottom: $navbar-margin-bottom;
15
- border: 1px solid transparent;
16
-
17
- // Prevent floats from breaking the navbar
18
- @include clearfix;
19
-
20
- @media (min-width: $grid-float-breakpoint) {
21
- border-radius: $navbar-border-radius;
20
+ display: flex;
21
+ flex-wrap: wrap; // allow us to do the line break for collapsing content
22
+ align-items: center;
23
+ justify-content: space-between; // space out brand from logo
24
+ padding: $navbar-padding-y $navbar-padding-x;
25
+
26
+ // Because flex properties aren't inherited, we need to redeclare these first
27
+ // few properties so that content nested within behave properly.
28
+ > .container,
29
+ > .container-fluid {
30
+ display: flex;
31
+ flex-wrap: wrap;
32
+ align-items: center;
33
+ justify-content: space-between;
22
34
  }
23
35
  }
24
36
 
25
37
 
26
- // Navbar heading
38
+ // Navbar brand
27
39
  //
28
- // Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy
29
- // styling of responsive aspects.
30
-
31
- .navbar-header {
32
- @include clearfix;
40
+ // Used for brand, project, or site names.
33
41
 
34
- @media (min-width: $grid-float-breakpoint) {
35
- float: left;
42
+ .navbar-brand {
43
+ display: inline-block;
44
+ padding-top: $navbar-brand-padding-y;
45
+ padding-bottom: $navbar-brand-padding-y;
46
+ margin-right: $navbar-padding-x;
47
+ font-size: $navbar-brand-font-size;
48
+ line-height: inherit;
49
+ white-space: nowrap;
50
+
51
+ @include hover-focus {
52
+ text-decoration: none;
36
53
  }
37
54
  }
38
55
 
39
56
 
40
- // Navbar collapse (body)
57
+ // Navbar nav
41
58
  //
42
- // Group your navbar content into this for easy collapsing and expanding across
43
- // various device sizes. By default, this content is collapsed when <768px, but
44
- // will expand past that for a horizontal display.
45
- //
46
- // To start (on mobile devices) the navbar links, forms, and buttons are stacked
47
- // vertically and include a `max-height` to overflow in case you have too much
48
- // content for the user's viewport.
49
-
50
- .navbar-collapse {
51
- overflow-x: visible;
52
- padding-right: $navbar-padding-horizontal;
53
- padding-left: $navbar-padding-horizontal;
54
- border-top: 1px solid transparent;
55
- box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
56
- @include clearfix;
57
- -webkit-overflow-scrolling: touch;
58
-
59
- &.in {
60
- overflow-y: auto;
61
- }
62
-
63
- @media (min-width: $grid-float-breakpoint) {
64
- width: auto;
65
- border-top: 0;
66
- box-shadow: none;
59
+ // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).
67
60
 
68
- &.collapse {
69
- display: block !important;
70
- height: auto !important;
71
- padding-bottom: 0; // Override default setting
72
- overflow: visible !important;
73
- }
74
-
75
- &.in {
76
- overflow-y: visible;
77
- }
61
+ .navbar-nav {
62
+ display: flex;
63
+ flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
64
+ padding-left: 0;
65
+ margin-bottom: 0;
66
+ list-style: none;
78
67
 
79
- // Undo the collapse side padding for navbars with containers to ensure
80
- // alignment of right-aligned contents.
81
- .navbar-fixed-top &,
82
- .navbar-static-top &,
83
- .navbar-fixed-bottom & {
84
- padding-left: 0;
85
- padding-right: 0;
86
- }
68
+ .nav-link {
69
+ padding-right: 0;
70
+ padding-left: 0;
87
71
  }
88
- }
89
-
90
- .navbar-fixed-top,
91
- .navbar-fixed-bottom {
92
- .navbar-collapse {
93
- max-height: $navbar-collapse-max-height;
94
72
 
95
- @media (max-device-width: $screen-xs-min) and (orientation: landscape) {
96
- max-height: 200px;
97
- }
73
+ .dropdown-menu {
74
+ position: static;
75
+ float: none;
98
76
  }
99
77
  }
100
78
 
101
79
 
102
- // Both navbar header and collapse
80
+ // Navbar text
103
81
  //
104
- // When a container is present, change the behavior of the header and collapse.
105
-
106
- .container,
107
- .container-fluid {
108
- > .navbar-header,
109
- > .navbar-collapse {
110
- margin-right: -$navbar-padding-horizontal;
111
- margin-left: -$navbar-padding-horizontal;
112
-
113
- @media (min-width: $grid-float-breakpoint) {
114
- margin-right: 0;
115
- margin-left: 0;
116
- }
117
- }
82
+ //
83
+
84
+ .navbar-text {
85
+ display: inline-block;
86
+ padding-top: $nav-link-padding-y;
87
+ padding-bottom: $nav-link-padding-y;
118
88
  }
119
89
 
120
90
 
91
+ // Responsive navbar
121
92
  //
122
- // Navbar alignment options
123
- //
124
- // Display the navbar across the entirety of the page or fixed it to the top or
125
- // bottom of the page.
93
+ // Custom styles for responsive collapsing and toggling of navbar contents.
94
+ // Powered by the collapse Bootstrap JavaScript plugin.
126
95
 
127
- // Static top (unfixed, but 100% wide) navbar
128
- .navbar-static-top {
129
- z-index: $zindex-navbar;
130
- border-width: 0 0 1px;
131
-
132
- @media (min-width: $grid-float-breakpoint) {
133
- border-radius: 0;
134
- }
135
- }
136
-
137
- // Fix the top/bottom navbars when screen real estate supports it
138
- .navbar-fixed-top,
139
- .navbar-fixed-bottom {
140
- position: fixed;
141
- right: 0;
142
- left: 0;
143
- z-index: $zindex-navbar-fixed;
144
-
145
- // Undo the rounded corners
146
- @media (min-width: $grid-float-breakpoint) {
147
- border-radius: 0;
148
- }
149
- }
150
- .navbar-fixed-top {
151
- top: 0;
152
- border-width: 0 0 1px;
153
- }
154
- .navbar-fixed-bottom {
155
- bottom: 0;
156
- margin-bottom: 0; // override .navbar defaults
157
- border-width: 1px 0 0;
96
+ // When collapsed, prevent the toggleable navbar contents from appearing in
97
+ // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
98
+ // on the `.navbar` parent.
99
+ .navbar-collapse {
100
+ flex-basis: 100%;
101
+ flex-grow: 1;
102
+ // For always expanded or extra full navbars, ensure content aligns itself
103
+ // properly vertically. Can be easily overridden with flex utilities.
104
+ align-items: center;
158
105
  }
159
106
 
107
+ // Button for toggling the navbar when in its collapsed state
108
+ .navbar-toggler {
109
+ padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
110
+ font-size: $navbar-toggler-font-size;
111
+ line-height: 1;
112
+ background-color: transparent; // remove default button style
113
+ border: $border-width solid transparent; // remove default button style
114
+ @include border-radius($navbar-toggler-border-radius);
160
115
 
161
- // Brand/project name
162
-
163
- .navbar-brand {
164
- float: left;
165
- padding: $navbar-padding-vertical $navbar-padding-horizontal;
166
- font-size: $font-size-large;
167
- line-height: $line-height-computed;
168
- height: $navbar-height;
169
-
170
- &:hover,
171
- &:focus {
116
+ @include hover-focus {
172
117
  text-decoration: none;
173
118
  }
174
119
 
175
- > img {
176
- display: block;
177
- }
178
-
179
- @media (min-width: $grid-float-breakpoint) {
180
- .navbar > .container &,
181
- .navbar > .container-fluid & {
182
- margin-left: -$navbar-padding-horizontal;
183
- }
120
+ // Opinionated: add "hand" cursor to non-disabled .navbar-toggler elements
121
+ &:not(:disabled):not(.disabled) {
122
+ cursor: pointer;
184
123
  }
185
124
  }
186
125
 
187
-
188
- // Navbar toggle
189
- //
190
- // Custom button for toggling the `.navbar-collapse`, powered by the collapse
191
- // JavaScript plugin.
192
-
193
- .navbar-toggle {
194
- position: relative;
195
- float: right;
196
- margin-right: $navbar-padding-horizontal;
197
- padding: 9px 10px;
198
- @include navbar-vertical-align(34px);
199
- background-color: transparent;
200
- background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
201
- border: 1px solid transparent;
202
- border-radius: $border-radius-base;
203
-
204
- // We remove the `outline` here, but later compensate by attaching `:hover`
205
- // styles to `:focus`.
206
- &:focus {
207
- outline: 0;
208
- }
209
-
210
- // Bars
211
- .icon-bar {
212
- display: block;
213
- width: 22px;
214
- height: 2px;
215
- border-radius: 1px;
216
- }
217
- .icon-bar + .icon-bar {
218
- margin-top: 4px;
219
- }
220
-
221
- @media (min-width: $grid-float-breakpoint) {
222
- display: none;
223
- }
126
+ // Keep as a separate element so folks can easily override it with another icon
127
+ // or image file as needed.
128
+ .navbar-toggler-icon {
129
+ display: inline-block;
130
+ width: 1.5em;
131
+ height: 1.5em;
132
+ vertical-align: middle;
133
+ content: "";
134
+ background: no-repeat center center;
135
+ background-size: 100% 100%;
224
136
  }
225
137
 
138
+ // Generate series of `.navbar-expand-*` responsive classes for configuring
139
+ // where your navbar collapses.
140
+ .navbar-expand {
141
+ @each $breakpoint in map-keys($grid-breakpoints) {
142
+ $next: breakpoint-next($breakpoint, $grid-breakpoints);
143
+ $infix: breakpoint-infix($next, $grid-breakpoints);
144
+
145
+ &#{$infix} {
146
+ @include media-breakpoint-down($breakpoint) {
147
+ > .container,
148
+ > .container-fluid {
149
+ padding-right: 0;
150
+ padding-left: 0;
151
+ }
152
+ }
226
153
 
227
- // Navbar nav links
228
- //
229
- // Builds on top of the `.nav` components with its own modifier class to make
230
- // the nav the full height of the horizontal nav (above 768px).
154
+ @include media-breakpoint-up($next) {
155
+ flex-flow: row nowrap;
156
+ justify-content: flex-start;
231
157
 
232
- .navbar-nav {
233
- margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal);
158
+ .navbar-nav {
159
+ flex-direction: row;
234
160
 
235
- > li > a {
236
- padding-top: 10px;
237
- padding-bottom: 10px;
238
- line-height: $line-height-computed;
239
- }
161
+ .dropdown-menu {
162
+ position: absolute;
163
+ }
240
164
 
241
- @media (max-width: $grid-float-breakpoint-max) {
242
- // Dropdowns get custom display when collapsed
243
- .open .dropdown-menu {
244
- position: static;
245
- float: none;
246
- width: auto;
247
- margin-top: 0;
248
- background-color: transparent;
249
- border: 0;
250
- box-shadow: none;
251
- > li > a,
252
- .dropdown-header {
253
- padding: 5px 15px 5px 25px;
254
- }
255
- > li > a {
256
- line-height: $line-height-computed;
257
- &:hover,
258
- &:focus {
259
- background-image: none;
165
+ .nav-link {
166
+ padding-right: $navbar-nav-link-padding-x;
167
+ padding-left: $navbar-nav-link-padding-x;
168
+ }
260
169
  }
261
- }
262
- }
263
- }
264
170
 
265
- // Uncollapse the nav
266
- @media (min-width: $grid-float-breakpoint) {
267
- float: left;
268
- margin: 0;
171
+ // For nesting containers, have to redeclare for alignment purposes
172
+ > .container,
173
+ > .container-fluid {
174
+ flex-wrap: nowrap;
175
+ }
269
176
 
270
- > li {
271
- float: left;
272
- > a {
273
- padding-top: $navbar-padding-vertical;
274
- padding-bottom: $navbar-padding-vertical;
275
- }
276
- }
277
- }
278
- }
177
+ .navbar-collapse {
178
+ display: flex !important; // stylelint-disable-line declaration-no-important
279
179
 
180
+ // Changes flex-bases to auto because of an IE10 bug
181
+ flex-basis: auto;
182
+ }
280
183
 
281
- // Navbar form
282
- //
283
- // Extension of the `.form-inline` with some extra flavor for optimum display in
284
- // our navbars.
285
-
286
- .navbar-form {
287
- margin-left: -$navbar-padding-horizontal;
288
- margin-right: -$navbar-padding-horizontal;
289
- padding: 10px $navbar-padding-horizontal;
290
- border-top: 1px solid transparent;
291
- border-bottom: 1px solid transparent;
292
- $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
293
- @include box-shadow($shadow);
294
-
295
- // Mixin behavior for optimum display
296
- @include form-inline;
297
-
298
- .form-group {
299
- @media (max-width: $grid-float-breakpoint-max) {
300
- margin-bottom: 5px;
301
-
302
- &:last-child {
303
- margin-bottom: 0;
184
+ .navbar-toggler {
185
+ display: none;
186
+ }
304
187
  }
305
188
  }
306
189
  }
307
-
308
- // Vertically center in expanded, horizontal navbar
309
- @include navbar-vertical-align($input-height-base);
310
-
311
- // Undo 100% width for pull classes
312
- @media (min-width: $grid-float-breakpoint) {
313
- width: auto;
314
- border: 0;
315
- margin-left: 0;
316
- margin-right: 0;
317
- padding-top: 0;
318
- padding-bottom: 0;
319
- @include box-shadow(none);
320
- }
321
- }
322
-
323
-
324
- // Dropdown menus
325
-
326
- // Menu position and menu carets
327
- .navbar-nav > li > .dropdown-menu {
328
- margin-top: 0;
329
- @include border-top-radius(0);
330
- }
331
- // Menu position and menu caret support for dropups via extra dropup class
332
- .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
333
- margin-bottom: 0;
334
- @include border-top-radius($navbar-border-radius);
335
- @include border-bottom-radius(0);
336
190
  }
337
191
 
338
192
 
339
- // Buttons in navbars
193
+ // Navbar themes
340
194
  //
341
- // Vertically center a button within a navbar (when *not* in a form).
342
-
343
- .navbar-btn {
344
- @include navbar-vertical-align($input-height-base);
345
-
346
- &.btn-sm {
347
- @include navbar-vertical-align($input-height-small);
348
- }
349
- &.btn-xs {
350
- @include navbar-vertical-align(22);
351
- }
352
- }
353
-
354
-
355
- // Text in navbars
356
- //
357
- // Add a class to make any element properly align itself vertically within the navbars.
358
-
359
- .navbar-text {
360
- @include navbar-vertical-align($line-height-computed);
361
-
362
- @media (min-width: $grid-float-breakpoint) {
363
- float: left;
364
- margin-left: $navbar-padding-horizontal;
365
- margin-right: $navbar-padding-horizontal;
366
- }
367
- }
368
-
369
-
370
- // Component alignment
371
- //
372
- // Repurpose the pull utilities as their own navbar utilities to avoid specificity
373
- // issues with parents and chaining. Only do this when the navbar is uncollapsed
374
- // though so that navbar contents properly stack and align in mobile.
375
- //
376
- // Declared after the navbar components to ensure more specificity on the margins.
377
-
378
- @media (min-width: $grid-float-breakpoint) {
379
- .navbar-left {
380
- float: left !important;
381
- }
382
- .navbar-right {
383
- float: right !important;
384
- margin-right: -$navbar-padding-horizontal;
385
-
386
- ~ .navbar-right {
387
- margin-right: 0;
388
- }
389
- }
390
- }
391
-
392
-
393
- // Alternate navbars
394
- // --------------------------------------------------
395
-
396
- // Default navbar
397
- .navbar-default {
398
- background-color: $navbar-default-bg;
399
- border-color: $navbar-default-border;
195
+ // Styles for switching between navbars with light or dark background.
400
196
 
197
+ // Dark links against a light background
198
+ .navbar-light {
401
199
  .navbar-brand {
402
- color: $navbar-default-brand-color;
403
- &:hover,
404
- &:focus {
405
- color: $navbar-default-brand-hover-color;
406
- background-color: $navbar-default-brand-hover-bg;
407
- }
408
- }
200
+ color: $navbar-light-brand-color;
409
201
 
410
- .navbar-text {
411
- color: $navbar-default-color;
202
+ @include hover-focus {
203
+ color: $navbar-light-brand-hover-color;
204
+ }
412
205
  }
413
206
 
414
207
  .navbar-nav {
415
- > li > a {
416
- color: $navbar-default-link-color;
208
+ .nav-link {
209
+ color: $navbar-light-color;
417
210
 
418
- &:hover,
419
- &:focus {
420
- color: $navbar-default-link-hover-color;
421
- background-color: $navbar-default-link-hover-bg;
211
+ @include hover-focus {
212
+ color: $navbar-light-hover-color;
422
213
  }
423
- }
424
- > .active > a {
425
- &,
426
- &:hover,
427
- &:focus {
428
- color: $navbar-default-link-active-color;
429
- background-color: $navbar-default-link-active-bg;
430
- }
431
- }
432
- > .disabled > a {
433
- &,
434
- &:hover,
435
- &:focus {
436
- color: $navbar-default-link-disabled-color;
437
- background-color: $navbar-default-link-disabled-bg;
214
+
215
+ &.disabled {
216
+ color: $navbar-light-disabled-color;
438
217
  }
439
218
  }
440
- }
441
219
 
442
- .navbar-toggle {
443
- border-color: $navbar-default-toggle-border-color;
444
- &:hover,
445
- &:focus {
446
- background-color: $navbar-default-toggle-hover-bg;
447
- }
448
- .icon-bar {
449
- background-color: $navbar-default-toggle-icon-bar-bg;
220
+ .show > .nav-link,
221
+ .active > .nav-link,
222
+ .nav-link.show,
223
+ .nav-link.active {
224
+ color: $navbar-light-active-color;
450
225
  }
451
226
  }
452
227
 
453
- .navbar-collapse,
454
- .navbar-form {
455
- border-color: $navbar-default-border;
228
+ .navbar-toggler {
229
+ color: $navbar-light-color;
230
+ border-color: $navbar-light-toggler-border-color;
456
231
  }
457
232
 
458
- // Dropdown menu items
459
- .navbar-nav {
460
- // Remove background color from open dropdown
461
- > .open > a {
462
- &,
463
- &:hover,
464
- &:focus {
465
- background-color: $navbar-default-link-active-bg;
466
- color: $navbar-default-link-active-color;
467
- }
468
- }
469
-
470
- @media (max-width: $grid-float-breakpoint-max) {
471
- // Dropdowns get custom display when collapsed
472
- .open .dropdown-menu {
473
- > li > a {
474
- color: $navbar-default-link-color;
475
- &:hover,
476
- &:focus {
477
- color: $navbar-default-link-hover-color;
478
- background-color: $navbar-default-link-hover-bg;
479
- }
480
- }
481
- > .active > a {
482
- &,
483
- &:hover,
484
- &:focus {
485
- color: $navbar-default-link-active-color;
486
- background-color: $navbar-default-link-active-bg;
487
- }
488
- }
489
- > .disabled > a {
490
- &,
491
- &:hover,
492
- &:focus {
493
- color: $navbar-default-link-disabled-color;
494
- background-color: $navbar-default-link-disabled-bg;
495
- }
496
- }
497
- }
498
- }
233
+ .navbar-toggler-icon {
234
+ background-image: $navbar-light-toggler-icon-bg;
499
235
  }
500
236
 
237
+ .navbar-text {
238
+ color: $navbar-light-color;
239
+ a {
240
+ color: $navbar-light-active-color;
501
241
 
502
- // Links in navbars
503
- //
504
- // Add a class to ensure links outside the navbar nav are colored correctly.
505
-
506
- .navbar-link {
507
- color: $navbar-default-link-color;
508
- &:hover {
509
- color: $navbar-default-link-hover-color;
510
- }
511
- }
512
-
513
- .btn-link {
514
- color: $navbar-default-link-color;
515
- &:hover,
516
- &:focus {
517
- color: $navbar-default-link-hover-color;
518
- }
519
- &[disabled],
520
- fieldset[disabled] & {
521
- &:hover,
522
- &:focus {
523
- color: $navbar-default-link-disabled-color;
242
+ @include hover-focus {
243
+ color: $navbar-light-active-color;
524
244
  }
525
245
  }
526
246
  }
527
247
  }
528
248
 
529
- // Inverse navbar
530
-
531
- .navbar-inverse {
532
- background-color: $navbar-inverse-bg;
533
- border-color: $navbar-inverse-border;
534
-
249
+ // White links against a dark background
250
+ .navbar-dark {
535
251
  .navbar-brand {
536
- color: $navbar-inverse-brand-color;
537
- &:hover,
538
- &:focus {
539
- color: $navbar-inverse-brand-hover-color;
540
- background-color: $navbar-inverse-brand-hover-bg;
541
- }
542
- }
252
+ color: $navbar-dark-brand-color;
543
253
 
544
- .navbar-text {
545
- color: $navbar-inverse-color;
254
+ @include hover-focus {
255
+ color: $navbar-dark-brand-hover-color;
256
+ }
546
257
  }
547
258
 
548
259
  .navbar-nav {
549
- > li > a {
550
- color: $navbar-inverse-link-color;
260
+ .nav-link {
261
+ color: $navbar-dark-color;
551
262
 
552
- &:hover,
553
- &:focus {
554
- color: $navbar-inverse-link-hover-color;
555
- background-color: $navbar-inverse-link-hover-bg;
263
+ @include hover-focus {
264
+ color: $navbar-dark-hover-color;
556
265
  }
557
- }
558
- > .active > a {
559
- &,
560
- &:hover,
561
- &:focus {
562
- color: $navbar-inverse-link-active-color;
563
- background-color: $navbar-inverse-link-active-bg;
564
- }
565
- }
566
- > .disabled > a {
567
- &,
568
- &:hover,
569
- &:focus {
570
- color: $navbar-inverse-link-disabled-color;
571
- background-color: $navbar-inverse-link-disabled-bg;
266
+
267
+ &.disabled {
268
+ color: $navbar-dark-disabled-color;
572
269
  }
573
270
  }
574
- }
575
271
 
576
- // Darken the responsive nav toggle
577
- .navbar-toggle {
578
- border-color: $navbar-inverse-toggle-border-color;
579
- &:hover,
580
- &:focus {
581
- background-color: $navbar-inverse-toggle-hover-bg;
582
- }
583
- .icon-bar {
584
- background-color: $navbar-inverse-toggle-icon-bar-bg;
272
+ .show > .nav-link,
273
+ .active > .nav-link,
274
+ .nav-link.show,
275
+ .nav-link.active {
276
+ color: $navbar-dark-active-color;
585
277
  }
586
278
  }
587
279
 
588
- .navbar-collapse,
589
- .navbar-form {
590
- border-color: darken($navbar-inverse-bg, 7%);
280
+ .navbar-toggler {
281
+ color: $navbar-dark-color;
282
+ border-color: $navbar-dark-toggler-border-color;
591
283
  }
592
284
 
593
- // Dropdowns
594
- .navbar-nav {
595
- > .open > a {
596
- &,
597
- &:hover,
598
- &:focus {
599
- background-color: $navbar-inverse-link-active-bg;
600
- color: $navbar-inverse-link-active-color;
601
- }
602
- }
603
-
604
- @media (max-width: $grid-float-breakpoint-max) {
605
- // Dropdowns get custom display
606
- .open .dropdown-menu {
607
- > .dropdown-header {
608
- border-color: $navbar-inverse-border;
609
- }
610
- .divider {
611
- background-color: $navbar-inverse-border;
612
- }
613
- > li > a {
614
- color: $navbar-inverse-link-color;
615
- &:hover,
616
- &:focus {
617
- color: $navbar-inverse-link-hover-color;
618
- background-color: $navbar-inverse-link-hover-bg;
619
- }
620
- }
621
- > .active > a {
622
- &,
623
- &:hover,
624
- &:focus {
625
- color: $navbar-inverse-link-active-color;
626
- background-color: $navbar-inverse-link-active-bg;
627
- }
628
- }
629
- > .disabled > a {
630
- &,
631
- &:hover,
632
- &:focus {
633
- color: $navbar-inverse-link-disabled-color;
634
- background-color: $navbar-inverse-link-disabled-bg;
635
- }
636
- }
637
- }
638
- }
285
+ .navbar-toggler-icon {
286
+ background-image: $navbar-dark-toggler-icon-bg;
639
287
  }
640
288
 
641
- .navbar-link {
642
- color: $navbar-inverse-link-color;
643
- &:hover {
644
- color: $navbar-inverse-link-hover-color;
645
- }
646
- }
289
+ .navbar-text {
290
+ color: $navbar-dark-color;
291
+ a {
292
+ color: $navbar-dark-active-color;
647
293
 
648
- .btn-link {
649
- color: $navbar-inverse-link-color;
650
- &:hover,
651
- &:focus {
652
- color: $navbar-inverse-link-hover-color;
653
- }
654
- &[disabled],
655
- fieldset[disabled] & {
656
- &:hover,
657
- &:focus {
658
- color: $navbar-inverse-link-disabled-color;
294
+ @include hover-focus {
295
+ color: $navbar-dark-active-color;
659
296
  }
660
297
  }
661
298
  }