vertx-howtos-jekyll-theme 0.1.0

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 (164) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +52 -0
  4. data/_layouts/page.html +61 -0
  5. data/_sass/bootstrap/js/dist/alert.js +199 -0
  6. data/_sass/bootstrap/js/dist/alert.js.map +1 -0
  7. data/_sass/bootstrap/js/dist/button.js +187 -0
  8. data/_sass/bootstrap/js/dist/button.js.map +1 -0
  9. data/_sass/bootstrap/js/dist/carousel.js +666 -0
  10. data/_sass/bootstrap/js/dist/carousel.js.map +1 -0
  11. data/_sass/bootstrap/js/dist/collapse.js +428 -0
  12. data/_sass/bootstrap/js/dist/collapse.js.map +1 -0
  13. data/_sass/bootstrap/js/dist/dropdown.js +591 -0
  14. data/_sass/bootstrap/js/dist/dropdown.js.map +1 -0
  15. data/_sass/bootstrap/js/dist/index.js +23 -0
  16. data/_sass/bootstrap/js/dist/index.js.map +1 -0
  17. data/_sass/bootstrap/js/dist/modal.js +644 -0
  18. data/_sass/bootstrap/js/dist/modal.js.map +1 -0
  19. data/_sass/bootstrap/js/dist/popover.js +261 -0
  20. data/_sass/bootstrap/js/dist/popover.js.map +1 -0
  21. data/_sass/bootstrap/js/dist/scrollspy.js +375 -0
  22. data/_sass/bootstrap/js/dist/scrollspy.js.map +1 -0
  23. data/_sass/bootstrap/js/dist/tab.js +266 -0
  24. data/_sass/bootstrap/js/dist/tab.js.map +1 -0
  25. data/_sass/bootstrap/js/dist/toast.js +278 -0
  26. data/_sass/bootstrap/js/dist/toast.js.map +1 -0
  27. data/_sass/bootstrap/js/dist/tooltip.js +745 -0
  28. data/_sass/bootstrap/js/dist/tooltip.js.map +1 -0
  29. data/_sass/bootstrap/js/dist/util.js +168 -0
  30. data/_sass/bootstrap/js/dist/util.js.map +1 -0
  31. data/_sass/bootstrap/js/src/alert.js +179 -0
  32. data/_sass/bootstrap/js/src/button.js +171 -0
  33. data/_sass/bootstrap/js/src/carousel.js +604 -0
  34. data/_sass/bootstrap/js/src/collapse.js +402 -0
  35. data/_sass/bootstrap/js/src/dropdown.js +538 -0
  36. data/_sass/bootstrap/js/src/index.js +52 -0
  37. data/_sass/bootstrap/js/src/modal.js +587 -0
  38. data/_sass/bootstrap/js/src/popover.js +184 -0
  39. data/_sass/bootstrap/js/src/scrollspy.js +326 -0
  40. data/_sass/bootstrap/js/src/tab.js +257 -0
  41. data/_sass/bootstrap/js/src/toast.js +223 -0
  42. data/_sass/bootstrap/js/src/tooltip.js +735 -0
  43. data/_sass/bootstrap/js/src/util.js +173 -0
  44. data/_sass/bootstrap/js/tests/README.md +69 -0
  45. data/_sass/bootstrap/js/tests/browsers.js +82 -0
  46. data/_sass/bootstrap/js/tests/index.html +145 -0
  47. data/_sass/bootstrap/js/tests/integration/bundle.js +8 -0
  48. data/_sass/bootstrap/js/tests/integration/index.html +66 -0
  49. data/_sass/bootstrap/js/tests/integration/rollup.bundle.js +20 -0
  50. data/_sass/bootstrap/js/tests/karma.conf.js +145 -0
  51. data/_sass/bootstrap/js/tests/unit/.eslintrc.json +40 -0
  52. data/_sass/bootstrap/js/tests/unit/alert.js +123 -0
  53. data/_sass/bootstrap/js/tests/unit/button.js +222 -0
  54. data/_sass/bootstrap/js/tests/unit/carousel.js +1273 -0
  55. data/_sass/bootstrap/js/tests/unit/collapse.js +892 -0
  56. data/_sass/bootstrap/js/tests/unit/dropdown.js +1364 -0
  57. data/_sass/bootstrap/js/tests/unit/modal.js +796 -0
  58. data/_sass/bootstrap/js/tests/unit/popover.js +471 -0
  59. data/_sass/bootstrap/js/tests/unit/scrollspy.js +728 -0
  60. data/_sass/bootstrap/js/tests/unit/tab.js +462 -0
  61. data/_sass/bootstrap/js/tests/unit/toast.js +239 -0
  62. data/_sass/bootstrap/js/tests/unit/tooltip.js +1072 -0
  63. data/_sass/bootstrap/js/tests/unit/util.js +164 -0
  64. data/_sass/bootstrap/js/tests/visual/alert.html +58 -0
  65. data/_sass/bootstrap/js/tests/visual/button.html +51 -0
  66. data/_sass/bootstrap/js/tests/visual/carousel.html +66 -0
  67. data/_sass/bootstrap/js/tests/visual/collapse.html +78 -0
  68. data/_sass/bootstrap/js/tests/visual/dropdown.html +212 -0
  69. data/_sass/bootstrap/js/tests/visual/modal.html +268 -0
  70. data/_sass/bootstrap/js/tests/visual/popover.html +46 -0
  71. data/_sass/bootstrap/js/tests/visual/scrollspy.html +95 -0
  72. data/_sass/bootstrap/js/tests/visual/tab.html +234 -0
  73. data/_sass/bootstrap/js/tests/visual/toast.html +72 -0
  74. data/_sass/bootstrap/js/tests/visual/tooltip.html +106 -0
  75. data/_sass/bootstrap/scss/_alert.scss +51 -0
  76. data/_sass/bootstrap/scss/_badge.scss +53 -0
  77. data/_sass/bootstrap/scss/_breadcrumb.scss +41 -0
  78. data/_sass/bootstrap/scss/_button-group.scss +163 -0
  79. data/_sass/bootstrap/scss/_buttons.scss +140 -0
  80. data/_sass/bootstrap/scss/_card.scss +310 -0
  81. data/_sass/bootstrap/scss/_carousel.scss +198 -0
  82. data/_sass/bootstrap/scss/_close.scss +44 -0
  83. data/_sass/bootstrap/scss/_code.scss +48 -0
  84. data/_sass/bootstrap/scss/_custom-forms.scss +507 -0
  85. data/_sass/bootstrap/scss/_dropdown.scss +191 -0
  86. data/_sass/bootstrap/scss/_forms.scss +334 -0
  87. data/_sass/bootstrap/scss/_functions.scss +86 -0
  88. data/_sass/bootstrap/scss/_grid.scss +52 -0
  89. data/_sass/bootstrap/scss/_images.scss +42 -0
  90. data/_sass/bootstrap/scss/_input-group.scss +193 -0
  91. data/_sass/bootstrap/scss/_jumbotron.scss +16 -0
  92. data/_sass/bootstrap/scss/_list-group.scss +121 -0
  93. data/_sass/bootstrap/scss/_media.scss +8 -0
  94. data/_sass/bootstrap/scss/_mixins.scss +41 -0
  95. data/_sass/bootstrap/scss/_modal.scss +186 -0
  96. data/_sass/bootstrap/scss/_nav.scss +120 -0
  97. data/_sass/bootstrap/scss/_navbar.scss +299 -0
  98. data/_sass/bootstrap/scss/_pagination.scss +78 -0
  99. data/_sass/bootstrap/scss/_popover.scss +183 -0
  100. data/_sass/bootstrap/scss/_print.scss +141 -0
  101. data/_sass/bootstrap/scss/_progress.scss +34 -0
  102. data/_sass/bootstrap/scss/_reboot.scss +462 -0
  103. data/_sass/bootstrap/scss/_root.scss +19 -0
  104. data/_sass/bootstrap/scss/_spinners.scss +53 -0
  105. data/_sass/bootstrap/scss/_tables.scss +187 -0
  106. data/_sass/bootstrap/scss/_toasts.scss +43 -0
  107. data/_sass/bootstrap/scss/_tooltip.scss +115 -0
  108. data/_sass/bootstrap/scss/_transitions.scss +22 -0
  109. data/_sass/bootstrap/scss/_type.scss +125 -0
  110. data/_sass/bootstrap/scss/_utilities.scss +16 -0
  111. data/_sass/bootstrap/scss/_variables.scss +1091 -0
  112. data/_sass/bootstrap/scss/bootstrap-grid.scss +29 -0
  113. data/_sass/bootstrap/scss/bootstrap-reboot.scss +12 -0
  114. data/_sass/bootstrap/scss/bootstrap.scss +44 -0
  115. data/_sass/bootstrap/scss/mixins/_alert.scss +13 -0
  116. data/_sass/bootstrap/scss/mixins/_background-variant.scss +21 -0
  117. data/_sass/bootstrap/scss/mixins/_badge.scss +11 -0
  118. data/_sass/bootstrap/scss/mixins/_border-radius.scss +35 -0
  119. data/_sass/bootstrap/scss/mixins/_box-shadow.scss +5 -0
  120. data/_sass/bootstrap/scss/mixins/_breakpoints.scss +123 -0
  121. data/_sass/bootstrap/scss/mixins/_buttons.scss +111 -0
  122. data/_sass/bootstrap/scss/mixins/_caret.scss +62 -0
  123. data/_sass/bootstrap/scss/mixins/_clearfix.scss +7 -0
  124. data/_sass/bootstrap/scss/mixins/_float.scss +11 -0
  125. data/_sass/bootstrap/scss/mixins/_forms.scss +198 -0
  126. data/_sass/bootstrap/scss/mixins/_gradients.scss +45 -0
  127. data/_sass/bootstrap/scss/mixins/_grid-framework.scss +66 -0
  128. data/_sass/bootstrap/scss/mixins/_grid.scss +51 -0
  129. data/_sass/bootstrap/scss/mixins/_hover.scss +37 -0
  130. data/_sass/bootstrap/scss/mixins/_image.scss +36 -0
  131. data/_sass/bootstrap/scss/mixins/_list-group.scss +21 -0
  132. data/_sass/bootstrap/scss/mixins/_lists.scss +7 -0
  133. data/_sass/bootstrap/scss/mixins/_nav-divider.scss +10 -0
  134. data/_sass/bootstrap/scss/mixins/_pagination.scss +22 -0
  135. data/_sass/bootstrap/scss/mixins/_reset-text.scss +17 -0
  136. data/_sass/bootstrap/scss/mixins/_resize.scss +6 -0
  137. data/_sass/bootstrap/scss/mixins/_screen-reader.scss +33 -0
  138. data/_sass/bootstrap/scss/mixins/_size.scss +6 -0
  139. data/_sass/bootstrap/scss/mixins/_table-row.scss +39 -0
  140. data/_sass/bootstrap/scss/mixins/_text-emphasis.scss +14 -0
  141. data/_sass/bootstrap/scss/mixins/_text-hide.scss +13 -0
  142. data/_sass/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  143. data/_sass/bootstrap/scss/mixins/_transition.scss +16 -0
  144. data/_sass/bootstrap/scss/mixins/_visibility.scss +7 -0
  145. data/_sass/bootstrap/scss/utilities/_align.scss +8 -0
  146. data/_sass/bootstrap/scss/utilities/_background.scss +19 -0
  147. data/_sass/bootstrap/scss/utilities/_borders.scss +63 -0
  148. data/_sass/bootstrap/scss/utilities/_clearfix.scss +3 -0
  149. data/_sass/bootstrap/scss/utilities/_display.scss +38 -0
  150. data/_sass/bootstrap/scss/utilities/_embed.scss +39 -0
  151. data/_sass/bootstrap/scss/utilities/_flex.scss +51 -0
  152. data/_sass/bootstrap/scss/utilities/_float.scss +9 -0
  153. data/_sass/bootstrap/scss/utilities/_overflow.scss +5 -0
  154. data/_sass/bootstrap/scss/utilities/_position.scss +32 -0
  155. data/_sass/bootstrap/scss/utilities/_screenreaders.scss +11 -0
  156. data/_sass/bootstrap/scss/utilities/_shadows.scss +6 -0
  157. data/_sass/bootstrap/scss/utilities/_sizing.scss +20 -0
  158. data/_sass/bootstrap/scss/utilities/_spacing.scss +73 -0
  159. data/_sass/bootstrap/scss/utilities/_text.scss +67 -0
  160. data/_sass/bootstrap/scss/utilities/_visibility.scss +11 -0
  161. data/_sass/custom.scss +1 -0
  162. data/assets/css/style.scss +65 -0
  163. data/assets/images/vertx-square.svg +1 -0
  164. metadata +248 -0
@@ -0,0 +1,191 @@
1
+ // The dropdown wrapper (`<div>`)
2
+ .dropup,
3
+ .dropright,
4
+ .dropdown,
5
+ .dropleft {
6
+ position: relative;
7
+ }
8
+
9
+ .dropdown-toggle {
10
+ // Generate the caret automatically
11
+ @include caret;
12
+ }
13
+
14
+ // The dropdown menu
15
+ .dropdown-menu {
16
+ position: absolute;
17
+ top: 100%;
18
+ left: 0;
19
+ z-index: $zindex-dropdown;
20
+ display: none; // none by default, but block on "open" of the menu
21
+ float: left;
22
+ min-width: $dropdown-min-width;
23
+ padding: $dropdown-padding-y 0;
24
+ margin: $dropdown-spacer 0 0; // override default ul
25
+ font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
26
+ color: $body-color;
27
+ text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
28
+ list-style: none;
29
+ background-color: $dropdown-bg;
30
+ background-clip: padding-box;
31
+ border: $dropdown-border-width solid $dropdown-border-color;
32
+ @include border-radius($dropdown-border-radius);
33
+ @include box-shadow($dropdown-box-shadow);
34
+ }
35
+
36
+ @each $breakpoint in map-keys($grid-breakpoints) {
37
+ @include media-breakpoint-up($breakpoint) {
38
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
39
+
40
+ .dropdown-menu#{$infix}-right {
41
+ right: 0;
42
+ left: auto;
43
+ }
44
+ }
45
+ }
46
+
47
+ @each $breakpoint in map-keys($grid-breakpoints) {
48
+ @include media-breakpoint-up($breakpoint) {
49
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
50
+
51
+ .dropdown-menu#{$infix}-left {
52
+ right: auto;
53
+ left: 0;
54
+ }
55
+ }
56
+ }
57
+
58
+ // Allow for dropdowns to go bottom up (aka, dropup-menu)
59
+ // Just add .dropup after the standard .dropdown class and you're set.
60
+ .dropup {
61
+ .dropdown-menu {
62
+ top: auto;
63
+ bottom: 100%;
64
+ margin-top: 0;
65
+ margin-bottom: $dropdown-spacer;
66
+ }
67
+
68
+ .dropdown-toggle {
69
+ @include caret(up);
70
+ }
71
+ }
72
+
73
+ .dropright {
74
+ .dropdown-menu {
75
+ top: 0;
76
+ right: auto;
77
+ left: 100%;
78
+ margin-top: 0;
79
+ margin-left: $dropdown-spacer;
80
+ }
81
+
82
+ .dropdown-toggle {
83
+ @include caret(right);
84
+ &::after {
85
+ vertical-align: 0;
86
+ }
87
+ }
88
+ }
89
+
90
+ .dropleft {
91
+ .dropdown-menu {
92
+ top: 0;
93
+ right: 100%;
94
+ left: auto;
95
+ margin-top: 0;
96
+ margin-right: $dropdown-spacer;
97
+ }
98
+
99
+ .dropdown-toggle {
100
+ @include caret(left);
101
+ &::before {
102
+ vertical-align: 0;
103
+ }
104
+ }
105
+ }
106
+
107
+ // When enabled Popper.js, reset basic dropdown position
108
+ // stylelint-disable-next-line no-duplicate-selectors
109
+ .dropdown-menu {
110
+ &[x-placement^="top"],
111
+ &[x-placement^="right"],
112
+ &[x-placement^="bottom"],
113
+ &[x-placement^="left"] {
114
+ right: auto;
115
+ bottom: auto;
116
+ }
117
+ }
118
+
119
+ // Dividers (basically an `<hr>`) within the dropdown
120
+ .dropdown-divider {
121
+ @include nav-divider($dropdown-divider-bg);
122
+ }
123
+
124
+ // Links, buttons, and more within the dropdown menu
125
+ //
126
+ // `<button>`-specific styles are denoted with `// For <button>s`
127
+ .dropdown-item {
128
+ display: block;
129
+ width: 100%; // For `<button>`s
130
+ padding: $dropdown-item-padding-y $dropdown-item-padding-x;
131
+ clear: both;
132
+ font-weight: $font-weight-normal;
133
+ color: $dropdown-link-color;
134
+ text-align: inherit; // For `<button>`s
135
+ white-space: nowrap; // prevent links from randomly breaking onto new lines
136
+ background-color: transparent; // For `<button>`s
137
+ border: 0; // For `<button>`s
138
+
139
+ &:first-child {
140
+ @include border-top-radius($dropdown-inner-border-radius);
141
+ }
142
+
143
+ &:last-child {
144
+ @include border-bottom-radius($dropdown-inner-border-radius);
145
+ }
146
+
147
+ @include hover-focus {
148
+ color: $dropdown-link-hover-color;
149
+ text-decoration: none;
150
+ @include gradient-bg($dropdown-link-hover-bg);
151
+ }
152
+
153
+ &.active,
154
+ &:active {
155
+ color: $dropdown-link-active-color;
156
+ text-decoration: none;
157
+ @include gradient-bg($dropdown-link-active-bg);
158
+ }
159
+
160
+ &.disabled,
161
+ &:disabled {
162
+ color: $dropdown-link-disabled-color;
163
+ pointer-events: none;
164
+ background-color: transparent;
165
+ // Remove CSS gradients if they're enabled
166
+ @if $enable-gradients {
167
+ background-image: none;
168
+ }
169
+ }
170
+ }
171
+
172
+ .dropdown-menu.show {
173
+ display: block;
174
+ }
175
+
176
+ // Dropdown section headers
177
+ .dropdown-header {
178
+ display: block;
179
+ padding: $dropdown-padding-y $dropdown-item-padding-x;
180
+ margin-bottom: 0; // for use with heading elements
181
+ font-size: $font-size-sm;
182
+ color: $dropdown-header-color;
183
+ white-space: nowrap; // as with > li > a
184
+ }
185
+
186
+ // Dropdown text
187
+ .dropdown-item-text {
188
+ display: block;
189
+ padding: $dropdown-item-padding-y $dropdown-item-padding-x;
190
+ color: $dropdown-link-color;
191
+ }
@@ -0,0 +1,334 @@
1
+ // stylelint-disable selector-no-qualifying-type
2
+
3
+ //
4
+ // Textual form controls
5
+ //
6
+
7
+ .form-control {
8
+ display: block;
9
+ width: 100%;
10
+ height: $input-height;
11
+ padding: $input-padding-y $input-padding-x;
12
+ font-size: $input-font-size;
13
+ font-weight: $input-font-weight;
14
+ line-height: $input-line-height;
15
+ color: $input-color;
16
+ background-color: $input-bg;
17
+ background-clip: padding-box;
18
+ border: $input-border-width solid $input-border-color;
19
+
20
+ // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
21
+ @if $enable-rounded {
22
+ // Manually use the if/else instead of the mixin to account for iOS override
23
+ border-radius: $input-border-radius;
24
+ } @else {
25
+ // Otherwise undo the iOS default
26
+ border-radius: 0;
27
+ }
28
+
29
+ @include box-shadow($input-box-shadow);
30
+ @include transition($input-transition);
31
+
32
+ // Unstyle the caret on `<select>`s in IE10+.
33
+ &::-ms-expand {
34
+ background-color: transparent;
35
+ border: 0;
36
+ }
37
+
38
+ // Customize the `:focus` state to imitate native WebKit styles.
39
+ @include form-control-focus();
40
+
41
+ // Placeholder
42
+ &::placeholder {
43
+ color: $input-placeholder-color;
44
+ // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
45
+ opacity: 1;
46
+ }
47
+
48
+ // Disabled and read-only inputs
49
+ //
50
+ // HTML5 says that controls under a fieldset > legend:first-child won't be
51
+ // disabled if the fieldset is disabled. Due to implementation difficulty, we
52
+ // don't honor that edge case; we style them as disabled anyway.
53
+ &:disabled,
54
+ &[readonly] {
55
+ background-color: $input-disabled-bg;
56
+ // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
57
+ opacity: 1;
58
+ }
59
+ }
60
+
61
+ select.form-control {
62
+ &:focus::-ms-value {
63
+ // Suppress the nested default white text on blue background highlight given to
64
+ // the selected option text when the (still closed) <select> receives focus
65
+ // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
66
+ // match the appearance of the native widget.
67
+ // See https://github.com/twbs/bootstrap/issues/19398.
68
+ color: $input-color;
69
+ background-color: $input-bg;
70
+ }
71
+ }
72
+
73
+ // Make file inputs better match text inputs by forcing them to new lines.
74
+ .form-control-file,
75
+ .form-control-range {
76
+ display: block;
77
+ width: 100%;
78
+ }
79
+
80
+
81
+ //
82
+ // Labels
83
+ //
84
+
85
+ // For use with horizontal and inline forms, when you need the label (or legend)
86
+ // text to align with the form controls.
87
+ .col-form-label {
88
+ padding-top: calc(#{$input-padding-y} + #{$input-border-width});
89
+ padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});
90
+ margin-bottom: 0; // Override the `<label>/<legend>` default
91
+ font-size: inherit; // Override the `<legend>` default
92
+ line-height: $input-line-height;
93
+ }
94
+
95
+ .col-form-label-lg {
96
+ padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});
97
+ padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});
98
+ font-size: $input-font-size-lg;
99
+ line-height: $input-line-height-lg;
100
+ }
101
+
102
+ .col-form-label-sm {
103
+ padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});
104
+ padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});
105
+ font-size: $input-font-size-sm;
106
+ line-height: $input-line-height-sm;
107
+ }
108
+
109
+
110
+ // Readonly controls as plain text
111
+ //
112
+ // Apply class to a readonly input to make it appear like regular plain
113
+ // text (without any border, background color, focus indicator)
114
+
115
+ .form-control-plaintext {
116
+ display: block;
117
+ width: 100%;
118
+ padding-top: $input-padding-y;
119
+ padding-bottom: $input-padding-y;
120
+ margin-bottom: 0; // match inputs if this class comes on inputs with default margins
121
+ line-height: $input-line-height;
122
+ color: $input-plaintext-color;
123
+ background-color: transparent;
124
+ border: solid transparent;
125
+ border-width: $input-border-width 0;
126
+
127
+ &.form-control-sm,
128
+ &.form-control-lg {
129
+ padding-right: 0;
130
+ padding-left: 0;
131
+ }
132
+ }
133
+
134
+
135
+ // Form control sizing
136
+ //
137
+ // Build on `.form-control` with modifier classes to decrease or increase the
138
+ // height and font-size of form controls.
139
+ //
140
+ // Repeated in `_input_group.scss` to avoid Sass extend issues.
141
+
142
+ .form-control-sm {
143
+ height: $input-height-sm;
144
+ padding: $input-padding-y-sm $input-padding-x-sm;
145
+ font-size: $input-font-size-sm;
146
+ line-height: $input-line-height-sm;
147
+ @include border-radius($input-border-radius-sm);
148
+ }
149
+
150
+ .form-control-lg {
151
+ height: $input-height-lg;
152
+ padding: $input-padding-y-lg $input-padding-x-lg;
153
+ font-size: $input-font-size-lg;
154
+ line-height: $input-line-height-lg;
155
+ @include border-radius($input-border-radius-lg);
156
+ }
157
+
158
+ // stylelint-disable-next-line no-duplicate-selectors
159
+ select.form-control {
160
+ &[size],
161
+ &[multiple] {
162
+ height: auto;
163
+ }
164
+ }
165
+
166
+ // stylelint-disable-next-line no-duplicate-selectors
167
+ textarea.form-control {
168
+ height: auto;
169
+ }
170
+
171
+ // Form groups
172
+ //
173
+ // Designed to help with the organization and spacing of vertical forms. For
174
+ // horizontal forms, use the predefined grid classes.
175
+
176
+ .form-group {
177
+ margin-bottom: $form-group-margin-bottom;
178
+ }
179
+
180
+ .form-text {
181
+ display: block;
182
+ margin-top: $form-text-margin-top;
183
+ }
184
+
185
+
186
+ // Form grid
187
+ //
188
+ // Special replacement for our grid system's `.row` for tighter form layouts.
189
+
190
+ .form-row {
191
+ display: flex;
192
+ flex-wrap: wrap;
193
+ margin-right: -$form-grid-gutter-width / 2;
194
+ margin-left: -$form-grid-gutter-width / 2;
195
+
196
+ > .col,
197
+ > [class*="col-"] {
198
+ padding-right: $form-grid-gutter-width / 2;
199
+ padding-left: $form-grid-gutter-width / 2;
200
+ }
201
+ }
202
+
203
+
204
+ // Checkboxes and radios
205
+ //
206
+ // Indent the labels to position radios/checkboxes as hanging controls.
207
+
208
+ .form-check {
209
+ position: relative;
210
+ display: block;
211
+ padding-left: $form-check-input-gutter;
212
+ }
213
+
214
+ .form-check-input {
215
+ position: absolute;
216
+ margin-top: $form-check-input-margin-y;
217
+ margin-left: -$form-check-input-gutter;
218
+
219
+ &:disabled ~ .form-check-label {
220
+ color: $text-muted;
221
+ }
222
+ }
223
+
224
+ .form-check-label {
225
+ margin-bottom: 0; // Override default `<label>` bottom margin
226
+ }
227
+
228
+ .form-check-inline {
229
+ display: inline-flex;
230
+ align-items: center;
231
+ padding-left: 0; // Override base .form-check
232
+ margin-right: $form-check-inline-margin-x;
233
+
234
+ // Undo .form-check-input defaults and add some `margin-right`.
235
+ .form-check-input {
236
+ position: static;
237
+ margin-top: 0;
238
+ margin-right: $form-check-inline-input-margin-x;
239
+ margin-left: 0;
240
+ }
241
+ }
242
+
243
+
244
+ // Form validation
245
+ //
246
+ // Provide feedback to users when form field values are valid or invalid. Works
247
+ // primarily for client-side validation via scoped `:invalid` and `:valid`
248
+ // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
249
+ // server side validation.
250
+
251
+ @include form-validation-state("valid", $form-feedback-valid-color);
252
+ @include form-validation-state("invalid", $form-feedback-invalid-color);
253
+
254
+ // Inline forms
255
+ //
256
+ // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
257
+ // forms begin stacked on extra small (mobile) devices and then go inline when
258
+ // viewports reach <768px.
259
+ //
260
+ // Requires wrapping inputs and labels with `.form-group` for proper display of
261
+ // default HTML form controls and our custom form controls (e.g., input groups).
262
+
263
+ .form-inline {
264
+ display: flex;
265
+ flex-flow: row wrap;
266
+ align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)
267
+
268
+ // Because we use flex, the initial sizing of checkboxes is collapsed and
269
+ // doesn't occupy the full-width (which is what we want for xs grid tier),
270
+ // so we force that here.
271
+ .form-check {
272
+ width: 100%;
273
+ }
274
+
275
+ // Kick in the inline
276
+ @include media-breakpoint-up(sm) {
277
+ label {
278
+ display: flex;
279
+ align-items: center;
280
+ justify-content: center;
281
+ margin-bottom: 0;
282
+ }
283
+
284
+ // Inline-block all the things for "inline"
285
+ .form-group {
286
+ display: flex;
287
+ flex: 0 0 auto;
288
+ flex-flow: row wrap;
289
+ align-items: center;
290
+ margin-bottom: 0;
291
+ }
292
+
293
+ // Allow folks to *not* use `.form-group`
294
+ .form-control {
295
+ display: inline-block;
296
+ width: auto; // Prevent labels from stacking above inputs in `.form-group`
297
+ vertical-align: middle;
298
+ }
299
+
300
+ // Make static controls behave like regular ones
301
+ .form-control-plaintext {
302
+ display: inline-block;
303
+ }
304
+
305
+ .input-group,
306
+ .custom-select {
307
+ width: auto;
308
+ }
309
+
310
+ // Remove default margin on radios/checkboxes that were used for stacking, and
311
+ // then undo the floating of radios and checkboxes to match.
312
+ .form-check {
313
+ display: flex;
314
+ align-items: center;
315
+ justify-content: center;
316
+ width: auto;
317
+ padding-left: 0;
318
+ }
319
+ .form-check-input {
320
+ position: relative;
321
+ margin-top: 0;
322
+ margin-right: $form-check-input-margin-x;
323
+ margin-left: 0;
324
+ }
325
+
326
+ .custom-control {
327
+ align-items: center;
328
+ justify-content: center;
329
+ }
330
+ .custom-control-label {
331
+ margin-bottom: 0;
332
+ }
333
+ }
334
+ }