apx-docs-theme 0.1.7 → 0.1.15

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 (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
  }