jumbo-jekyll-theme 5.6.9.4 → 5.7.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.
- checksums.yaml +4 -4
- data/LICENSE.txt +202 -21
- data/README.md +10 -10
- data/_config.yml +146 -213
- data/_data/footer.yml +31 -33
- data/_data/nav.yml +73 -17
- data/_data/picture.yml +136 -0
- data/_data/settings.yml +97 -103
- data/_data/tags.yml +11 -11
- data/_data/universal_nav.yml +22 -0
- data/_includes/blog/authors_posts.html +37 -0
- data/_includes/blog/blog_filler_element.html +21 -0
- data/_includes/blog/display_blog_posts.html +126 -0
- data/_includes/{disqus-comments.html → blog/disqus_comments.html} +0 -0
- data/_includes/{latest-posts.html → blog/latest_posts.html} +0 -0
- data/_includes/blog/pagination.html +37 -0
- data/_includes/{post-series.html → blog/post_series.html} +0 -0
- data/_includes/blog/post_sidebar.html +81 -0
- data/_includes/{post-tags.html → blog/post_tags.html} +0 -0
- data/_includes/{read_time.html → blog/read_time.html} +0 -0
- data/_includes/components/breadcrumb.html +40 -0
- data/_includes/{carousel-header.html → components/carousel_header.html} +0 -0
- data/_includes/components/cookie_manager.html +80 -0
- data/_includes/components/css.html +8 -0
- data/_includes/{github-edit.html → components/github_edit.html} +0 -0
- data/_includes/components/head.html +60 -0
- data/_includes/components/http2.html +57 -0
- data/_includes/components/javascript.html +10 -0
- data/_includes/components/jumbotron.html +80 -0
- data/_includes/{linaro-404.html → components/linaro_404.html} +16 -19
- data/_includes/{schema.html → components/schema.html} +43 -43
- data/_includes/{sidebar.html → components/sidebar.html} +0 -0
- data/_includes/examples/custom_include.html +10 -0
- data/_includes/{custom_include_row.html → examples/custom_include_row.html} +562 -562
- data/_includes/flow/blocks.html +44 -0
- data/_includes/{core → flow}/button.html +5 -5
- data/_includes/flow/buttons.html +5 -0
- data/_includes/{core → flow}/call-to-action-banner.html +0 -0
- data/_includes/flow/container_row.html +11 -0
- data/_includes/flow/feature_block.html +41 -0
- data/_includes/flow/flow_inner.html +25 -0
- data/_includes/{core → flow}/full_width_row.html +5 -5
- data/_includes/{core → flow}/members-section.html +24 -32
- data/_includes/{core → flow}/slider.html +25 -33
- data/_includes/flow/slider_row.html +3 -0
- data/_includes/flow/tabbed_content.html +21 -0
- data/_includes/flow/text.html +3 -0
- data/_includes/flow/title.html +3 -0
- data/_includes/footer/footer.html +73 -0
- data/_includes/image.html +5 -6
- data/_includes/js_bundles/app.html +5 -0
- data/_includes/js_bundles/vendor.html +13 -0
- data/_includes/nav/brand.html +3 -0
- data/_includes/nav/nav.html +133 -0
- data/_includes/nav/universal_nav.html +36 -0
- data/_includes/{social-media-icons.html → social_media_icons.html} +0 -0
- data/_includes/youtube.html +74 -6
- data/_layouts/author.html +62 -6
- data/_layouts/base.html +6 -8
- data/_layouts/default.html +3 -3
- data/_layouts/error.html +25 -25
- data/_layouts/flow.html +33 -36
- data/_layouts/post-index.html +17 -16
- data/_layouts/post.html +55 -39
- data/_sass/app/blog.scss +0 -22
- data/_sass/app/overrides.scss +121 -66
- data/_sass/app/search.scss +51 -51
- data/_sass/blog.scss +1 -1
- data/_sass/bootstrap/_alert.scss +51 -0
- data/_sass/bootstrap/_badge.scss +47 -0
- data/_sass/bootstrap/_breadcrumb.scss +41 -0
- data/_sass/bootstrap/_button-group.scss +172 -0
- data/_sass/bootstrap/_buttons.scss +75 -100
- data/_sass/bootstrap/_card.scss +301 -0
- data/_sass/bootstrap/_carousel.scss +161 -195
- data/_sass/bootstrap/_close.scss +15 -16
- data/_sass/bootstrap/_code.scss +15 -36
- data/_sass/bootstrap/_custom-forms.scss +433 -0
- data/_sass/bootstrap/_dropdown.scss +166 -0
- data/_sass/bootstrap/_forms.scss +213 -497
- data/_sass/bootstrap/_functions.scss +86 -0
- data/_sass/bootstrap/_grid.scss +29 -61
- data/_sass/bootstrap/_images.scss +42 -0
- data/_sass/bootstrap/_input-group.scss +173 -0
- data/_sass/bootstrap/_jumbotron.scss +9 -47
- data/_sass/bootstrap/_list-group.scss +64 -79
- data/_sass/bootstrap/_media.scss +3 -61
- data/_sass/bootstrap/_mixins.scss +19 -18
- data/_sass/bootstrap/_modal.scss +180 -0
- data/_sass/bootstrap/_nav.scss +118 -0
- data/_sass/bootstrap/_navbar.scss +192 -555
- data/_sass/bootstrap/_pagination.scss +59 -70
- data/_sass/bootstrap/_popover.scss +183 -0
- data/_sass/bootstrap/_print.scss +89 -49
- data/_sass/bootstrap/_progress.scss +34 -0
- data/_sass/bootstrap/_reboot.scss +483 -0
- data/_sass/bootstrap/_root.scss +19 -0
- data/_sass/bootstrap/_tables.scss +119 -166
- data/_sass/bootstrap/_tooltip.scss +93 -79
- data/_sass/bootstrap/_transitions.scss +22 -0
- data/_sass/bootstrap/_type.scss +66 -239
- data/_sass/bootstrap/_utilities.scss +15 -55
- data/_sass/bootstrap/_variables.scss +952 -932
- data/_sass/bootstrap/bootstrap-grid.scss +32 -0
- data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
- data/_sass/bootstrap/bootstrap.scss +42 -0
- data/_sass/bootstrap/mixins/_alert.scss +13 -0
- data/_sass/bootstrap/mixins/_background-variant.scss +14 -5
- data/_sass/bootstrap/mixins/_badge.scss +12 -0
- data/_sass/bootstrap/mixins/_border-radius.scss +25 -8
- data/_sass/bootstrap/mixins/_box-shadow.scss +5 -0
- data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
- data/_sass/bootstrap/mixins/_buttons.scss +84 -40
- data/_sass/bootstrap/mixins/_caret.scss +66 -0
- data/_sass/bootstrap/mixins/_clearfix.scss +3 -18
- data/_sass/bootstrap/mixins/_float.scss +11 -0
- data/_sass/bootstrap/mixins/_forms.scss +125 -66
- data/_sass/bootstrap/mixins/_gradients.scss +17 -30
- data/_sass/bootstrap/mixins/_grid-framework.scss +52 -66
- data/_sass/bootstrap/mixins/_grid.scss +37 -107
- data/_sass/bootstrap/mixins/_hover.scss +37 -0
- data/_sass/bootstrap/mixins/_image.scss +18 -15
- data/_sass/bootstrap/mixins/_list-group.scss +10 -21
- data/_sass/bootstrap/mixins/_lists.scss +7 -0
- data/_sass/bootstrap/mixins/_nav-divider.scss +4 -4
- data/_sass/bootstrap/mixins/_pagination.scss +10 -12
- data/_sass/bootstrap/mixins/_reset-text.scss +7 -8
- data/_sass/bootstrap/mixins/_resize.scss +1 -1
- data/_sass/bootstrap/mixins/_screen-reader.scss +33 -0
- data/_sass/bootstrap/mixins/_size.scss +1 -5
- data/_sass/bootstrap/mixins/_table-row.scss +16 -14
- data/_sass/bootstrap/mixins/_text-emphasis.scss +7 -5
- data/_sass/bootstrap/mixins/_text-hide.scss +13 -0
- data/_sass/bootstrap/mixins/{_text-overflow.scss → _text-truncate.scss} +2 -2
- data/_sass/bootstrap/mixins/_transition.scss +13 -0
- data/_sass/bootstrap/mixins/_visibility.scss +7 -0
- data/_sass/bootstrap/utilities/_align.scss +8 -0
- data/_sass/bootstrap/utilities/_background.scss +19 -0
- data/_sass/bootstrap/utilities/_borders.scss +59 -0
- data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
- data/_sass/bootstrap/utilities/_display.scss +38 -0
- data/_sass/bootstrap/{_responsive-embed.scss → utilities/_embed.scss} +26 -9
- data/_sass/bootstrap/utilities/_flex.scss +51 -0
- data/_sass/bootstrap/utilities/_float.scss +9 -0
- data/_sass/bootstrap/utilities/_position.scss +37 -0
- data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
- data/_sass/bootstrap/utilities/_shadows.scss +6 -0
- data/_sass/bootstrap/utilities/_sizing.scss +12 -0
- data/_sass/bootstrap/utilities/_spacing.scss +51 -0
- data/_sass/bootstrap/utilities/_text.scss +58 -0
- data/_sass/bootstrap/utilities/_visibility.scss +11 -0
- data/_sass/core.scss +15 -20
- data/_sass/core/blog.scss +126 -426
- data/_sass/core/breadcrumb.scss +16 -96
- data/_sass/core/carousel-header.scss +91 -91
- data/_sass/core/carousel.scss +7 -8
- data/_sass/core/cookies.scss +194 -0
- data/_sass/core/error.scss +190 -190
- data/_sass/core/flow.scss +71 -186
- data/_sass/core/fontello.scss +156 -0
- data/_sass/core/footer.scss +69 -142
- data/_sass/core/jumbotron.scss +90 -279
- data/_sass/core/navbar.scss +233 -0
- data/_sass/core/normalize.scss +357 -357
- data/_sass/core/theme.scss +40 -918
- data/assets/css/main-blog.scss +15 -14
- data/assets/css/main-error.scss +14 -13
- data/assets/css/main-search.scss +4 -3
- data/assets/css/main.scss +12 -11
- data/assets/fonts/fontello/fontello.eot +0 -0
- data/assets/fonts/fontello/fontello.svg +82 -0
- data/assets/fonts/fontello/fontello.ttf +0 -0
- data/assets/fonts/fontello/fontello.woff +0 -0
- data/assets/fonts/fontello/fontello.woff2 +0 -0
- data/assets/fonts/{lato-regular → lato}/LICENSE.txt +0 -0
- data/assets/fonts/{lato-regular → lato}/Lato-regular.eot +0 -0
- data/assets/fonts/{lato-regular → lato}/Lato-regular.svg +0 -0
- data/assets/fonts/{lato-regular → lato}/Lato-regular.ttf +0 -0
- data/assets/fonts/{lato-regular → lato}/Lato-regular.woff +0 -0
- data/assets/fonts/{lato-regular → lato}/Lato-regular.woff2 +0 -0
- data/assets/images/clipboard.svg +3 -0
- data/assets/js/app/main.js +298 -261
- data/assets/js/app/scroll-to-anchors.js +10 -9
- data/assets/js/app/sticky-tab-bar.js +67 -69
- data/assets/js/bootstrap.js.map +1 -0
- data/assets/js/popper.min.js.map +1 -0
- data/assets/js/vendor/_popper.js +5 -0
- data/assets/js/vendor/bootstrap.js +5 -2376
- data/assets/js/vendor/fess-ss.min.js +24 -24
- data/assets/js/vendor/jquery.cookie.js +120 -0
- data/assets/js/vendor/jquery.ihavecookies.js +263 -0
- data/assets/js/vendor/jquery.slim.js +8842 -0
- data/robots.txt +9 -9
- metadata +157 -377
- data/_data/example-carousel-data-source.yml +0 -36
- data/_data/members-section-example.yml +0 -0
- data/_data/universal-nav.yml +0 -7
- data/_includes/authors-posts.html +0 -18
- data/_includes/blog-filler-element.html +0 -24
- data/_includes/breadcrumb.html +0 -97
- data/_includes/core/blocks.html +0 -30
- data/_includes/core/buttons.html +0 -5
- data/_includes/core/container_row.html +0 -7
- data/_includes/core/feature_block.html +0 -43
- data/_includes/core/slider_row.html +0 -3
- data/_includes/core/text.html +0 -3
- data/_includes/core/title.html +0 -3
- data/_includes/core/youtube_video_embed.html +0 -11
- data/_includes/css.html +0 -9
- data/_includes/custom_include.html +0 -13
- data/_includes/display-blog-posts.html +0 -154
- data/_includes/flow_inner.html +0 -19
- data/_includes/footer.html +0 -68
- data/_includes/google-analytics.html +0 -16
- data/_includes/head.html +0 -19
- data/_includes/http2.html +0 -102
- data/_includes/javascript.html +0 -10
- data/_includes/jumbotron.html +0 -115
- data/_includes/linaro-svg.html +0 -1
- data/_includes/nav.html +0 -153
- data/_includes/pagination.html +0 -39
- data/_includes/post-sidebar.html +0 -182
- data/_includes/responsive-image.html +0 -6
- data/_includes/thumb-image.html +0 -31
- data/_includes/thumb.html +0 -2
- data/_includes/thumbnail_image.html +0 -10
- data/_includes/universal-nav.html +0 -30
- data/_layouts/jumbotron-container.html +0 -19
- data/_layouts/jumbotron.html +0 -12
- data/_layouts/redirect.html +0 -11
- data/_sass/_bootstrap-compass.scss +0 -9
- data/_sass/_bootstrap-mincer.scss +0 -19
- data/_sass/_bootstrap-sprockets.scss +0 -9
- data/_sass/_bootstrap.scss +0 -56
- data/_sass/app-package.scss +0 -11
- data/_sass/app/contact.scss +0 -3
- data/_sass/app/custom.scss +0 -1
- data/_sass/bootstrap/_alerts.scss +0 -73
- data/_sass/bootstrap/_badges.scss +0 -68
- data/_sass/bootstrap/_breadcrumbs.scss +0 -28
- data/_sass/bootstrap/_button-groups.scss +0 -244
- data/_sass/bootstrap/_component-animations.scss +0 -37
- data/_sass/bootstrap/_dropdowns.scss +0 -216
- data/_sass/bootstrap/_glyphicons.scss +0 -307
- data/_sass/bootstrap/_input-groups.scss +0 -171
- data/_sass/bootstrap/_labels.scss +0 -66
- data/_sass/bootstrap/_modals.scss +0 -150
- data/_sass/bootstrap/_navs.scss +0 -242
- data/_sass/bootstrap/_normalize.scss +0 -424
- data/_sass/bootstrap/_pager.scss +0 -54
- data/_sass/bootstrap/_panels.scss +0 -271
- data/_sass/bootstrap/_popovers.scss +0 -131
- data/_sass/bootstrap/_progress-bars.scss +0 -87
- data/_sass/bootstrap/_responsive-utilities.scss +0 -179
- data/_sass/bootstrap/_scaffolding.scss +0 -161
- data/_sass/bootstrap/_theme.scss +0 -291
- data/_sass/bootstrap/_thumbnails.scss +0 -38
- data/_sass/bootstrap/_wells.scss +0 -29
- data/_sass/bootstrap/mixins/_alerts.scss +0 -14
- data/_sass/bootstrap/mixins/_center-block.scss +0 -7
- data/_sass/bootstrap/mixins/_hide-text.scss +0 -21
- data/_sass/bootstrap/mixins/_labels.scss +0 -12
- data/_sass/bootstrap/mixins/_nav-vertical-align.scss +0 -9
- data/_sass/bootstrap/mixins/_opacity.scss +0 -8
- data/_sass/bootstrap/mixins/_panels.scss +0 -24
- data/_sass/bootstrap/mixins/_progress-bar.scss +0 -10
- data/_sass/bootstrap/mixins/_reset-filter.scss +0 -8
- data/_sass/bootstrap/mixins/_responsive-visibility.scss +0 -21
- data/_sass/bootstrap/mixins/_tab-focus.scss +0 -9
- data/_sass/bootstrap/mixins/_vendor-prefixes.scss +0 -222
- data/_sass/core/animations.scss +0 -125
- data/_sass/core/cookieconsent.scss +0 -39
- data/_sass/core/critical.scss +0 -0
- data/_sass/core/custom.scss +0 -3
- data/_sass/core/fa.scss +0 -2336
- data/_sass/core/flipclock.scss +0 -434
- data/_sass/core/fly.scss +0 -10
- data/_sass/core/font-awesome.min.scss +0 -4
- data/_sass/core/fonts.scss +0 -3
- data/_sass/core/forms.scss +0 -3
- data/_sass/core/homepage.scss +0 -19
- data/_sass/core/lightbox.scss +0 -212
- data/_sass/core/nav.scss +0 -1015
- data/_sass/core/social-media-icons.scss +0 -67
- data/_sass/core/tables.scss +0 -175
- data/_sass/core/triangle-divider.scss +0 -27
- data/_sass/core/universal-nav.scss +0 -167
- data/_sass/core/youtube-lazy.scss +0 -51
- data/_sass/core/youtube.scss +0 -65
- data/_sass/home.scss +0 -2
- data/assets/fonts/fontawesome-webfont.eot +0 -0
- data/assets/fonts/fontawesome-webfont.svg +0 -2671
- data/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/assets/fonts/fontawesome-webfont.woff +0 -0
- data/assets/fonts/fontawesome-webfont.woff2 +0 -0
- data/assets/fonts/fontello.eot +0 -0
- data/assets/fonts/fontello.svg +0 -44
- data/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/assets/images/Linaro-Logo_light.png +0 -0
- data/assets/images/content/background-image1.jpg +0 -0
- data/assets/images/content/background-image2.png +0 -0
- data/assets/images/content/background-image3.jpg +0 -0
- data/assets/images/content/js-logo.png +0 -0
- data/assets/js/app/blog-comments.js +0 -50
- data/assets/js/app/facebook.js +0 -8
- data/assets/js/app/fly.js +0 -45
- data/assets/js/app/search.js +0 -29
- data/assets/js/app/youtube-lazy.js +0 -25
- data/assets/js/pacakge-search.js +0 -9
- data/assets/js/package-blog.js +0 -12
- data/assets/js/package-extended.js +0 -14
- data/assets/js/package-home.js +0 -14
- data/assets/js/package-main.js +0 -13
- data/assets/js/package-search.js +0 -8
- data/assets/js/vendor/cookieconsent.js +0 -1495
|
@@ -0,0 +1,166 @@
|
|
|
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
|
+
.dropdown-menu-right {
|
|
37
|
+
right: 0;
|
|
38
|
+
left: auto;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Allow for dropdowns to go bottom up (aka, dropup-menu)
|
|
42
|
+
// Just add .dropup after the standard .dropdown class and you're set.
|
|
43
|
+
.dropup {
|
|
44
|
+
.dropdown-menu {
|
|
45
|
+
top: auto;
|
|
46
|
+
bottom: 100%;
|
|
47
|
+
margin-top: 0;
|
|
48
|
+
margin-bottom: $dropdown-spacer;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.dropdown-toggle {
|
|
52
|
+
@include caret(up);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.dropright {
|
|
57
|
+
.dropdown-menu {
|
|
58
|
+
top: 0;
|
|
59
|
+
right: auto;
|
|
60
|
+
left: 100%;
|
|
61
|
+
margin-top: 0;
|
|
62
|
+
margin-left: $dropdown-spacer;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.dropdown-toggle {
|
|
66
|
+
@include caret(right);
|
|
67
|
+
&::after {
|
|
68
|
+
vertical-align: 0;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.dropleft {
|
|
74
|
+
.dropdown-menu {
|
|
75
|
+
top: 0;
|
|
76
|
+
right: 100%;
|
|
77
|
+
left: auto;
|
|
78
|
+
margin-top: 0;
|
|
79
|
+
margin-right: $dropdown-spacer;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.dropdown-toggle {
|
|
83
|
+
@include caret(left);
|
|
84
|
+
&::before {
|
|
85
|
+
vertical-align: 0;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// When enabled Popper.js, reset basic dropdown position
|
|
91
|
+
// stylelint-disable no-duplicate-selectors
|
|
92
|
+
.dropdown-menu {
|
|
93
|
+
&[x-placement^="top"],
|
|
94
|
+
&[x-placement^="right"],
|
|
95
|
+
&[x-placement^="bottom"],
|
|
96
|
+
&[x-placement^="left"] {
|
|
97
|
+
right: auto;
|
|
98
|
+
bottom: auto;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// stylelint-enable no-duplicate-selectors
|
|
102
|
+
|
|
103
|
+
// Dividers (basically an `<hr>`) within the dropdown
|
|
104
|
+
.dropdown-divider {
|
|
105
|
+
@include nav-divider($dropdown-divider-bg);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Links, buttons, and more within the dropdown menu
|
|
109
|
+
//
|
|
110
|
+
// `<button>`-specific styles are denoted with `// For <button>s`
|
|
111
|
+
.dropdown-item {
|
|
112
|
+
display: block;
|
|
113
|
+
width: 100%; // For `<button>`s
|
|
114
|
+
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
|
|
115
|
+
clear: both;
|
|
116
|
+
font-weight: $font-weight-normal;
|
|
117
|
+
color: $dropdown-link-color;
|
|
118
|
+
text-align: inherit; // For `<button>`s
|
|
119
|
+
white-space: nowrap; // prevent links from randomly breaking onto new lines
|
|
120
|
+
background-color: transparent; // For `<button>`s
|
|
121
|
+
border: 0; // For `<button>`s
|
|
122
|
+
|
|
123
|
+
@include hover-focus {
|
|
124
|
+
color: $dropdown-link-hover-color;
|
|
125
|
+
text-decoration: none;
|
|
126
|
+
@include gradient-bg($dropdown-link-hover-bg);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
&.active,
|
|
130
|
+
&:active {
|
|
131
|
+
color: $dropdown-link-active-color;
|
|
132
|
+
text-decoration: none;
|
|
133
|
+
@include gradient-bg($dropdown-link-active-bg);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
&.disabled,
|
|
137
|
+
&:disabled {
|
|
138
|
+
color: $dropdown-link-disabled-color;
|
|
139
|
+
background-color: transparent;
|
|
140
|
+
// Remove CSS gradients if they're enabled
|
|
141
|
+
@if $enable-gradients {
|
|
142
|
+
background-image: none;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.dropdown-menu.show {
|
|
148
|
+
display: block;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Dropdown section headers
|
|
152
|
+
.dropdown-header {
|
|
153
|
+
display: block;
|
|
154
|
+
padding: $dropdown-padding-y $dropdown-item-padding-x;
|
|
155
|
+
margin-bottom: 0; // for use with heading elements
|
|
156
|
+
font-size: $font-size-sm;
|
|
157
|
+
color: $dropdown-header-color;
|
|
158
|
+
white-space: nowrap; // as with > li > a
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Dropdown text
|
|
162
|
+
.dropdown-item-text {
|
|
163
|
+
display: block;
|
|
164
|
+
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
|
|
165
|
+
color: $dropdown-link-color;
|
|
166
|
+
}
|
data/_sass/bootstrap/_forms.scss
CHANGED
|
@@ -1,141 +1,47 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Forms
|
|
3
|
-
// --------------------------------------------------
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
// Normalize non-controls
|
|
7
|
-
//
|
|
8
|
-
// Restyle and baseline non-control form elements.
|
|
9
|
-
|
|
10
|
-
fieldset {
|
|
11
|
-
padding: 0;
|
|
12
|
-
margin: 0;
|
|
13
|
-
border: 0;
|
|
14
|
-
// Chrome and Firefox set a `min-width: min-content;` on fieldsets,
|
|
15
|
-
// so we reset that to ensure it behaves more like a standard block element.
|
|
16
|
-
// See https://github.com/twbs/bootstrap/issues/12359.
|
|
17
|
-
min-width: 0;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
legend {
|
|
21
|
-
display: block;
|
|
22
|
-
width: 100%;
|
|
23
|
-
padding: 0;
|
|
24
|
-
margin-bottom: $line-height-computed;
|
|
25
|
-
font-size: ($font-size-base * 1.5);
|
|
26
|
-
line-height: inherit;
|
|
27
|
-
color: $legend-color;
|
|
28
|
-
border: 0;
|
|
29
|
-
border-bottom: 1px solid $legend-border-color;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
label {
|
|
33
|
-
display: inline-block;
|
|
34
|
-
max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
|
|
35
|
-
margin-bottom: 5px;
|
|
36
|
-
font-weight: bold;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Normalize form controls
|
|
41
|
-
//
|
|
42
|
-
// While most of our form styles require extra classes, some basic normalization
|
|
43
|
-
// is required to ensure optimum display with or without those classes to better
|
|
44
|
-
// address browser inconsistencies.
|
|
45
|
-
|
|
46
|
-
// Override content-box in Normalize (* isn't specific enough)
|
|
47
|
-
input[type="search"] {
|
|
48
|
-
@include box-sizing(border-box);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Position radios and checkboxes better
|
|
52
|
-
input[type="radio"],
|
|
53
|
-
input[type="checkbox"] {
|
|
54
|
-
margin: 4px 0 0;
|
|
55
|
-
margin-top: 1px \9; // IE8-9
|
|
56
|
-
line-height: normal;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
input[type="file"] {
|
|
60
|
-
display: block;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// Make range inputs behave like textual form controls
|
|
64
|
-
input[type="range"] {
|
|
65
|
-
display: block;
|
|
66
|
-
width: 100%;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Make multiple select elements height not fixed
|
|
70
|
-
select[multiple],
|
|
71
|
-
select[size] {
|
|
72
|
-
height: auto;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Focus for file, radio, and checkbox
|
|
76
|
-
input[type="file"]:focus,
|
|
77
|
-
input[type="radio"]:focus,
|
|
78
|
-
input[type="checkbox"]:focus {
|
|
79
|
-
@include tab-focus;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Adjust output element
|
|
83
|
-
output {
|
|
84
|
-
display: block;
|
|
85
|
-
padding-top: ($padding-base-vertical + 1);
|
|
86
|
-
font-size: $font-size-base;
|
|
87
|
-
line-height: $line-height-base;
|
|
88
|
-
color: $input-color;
|
|
89
|
-
}
|
|
90
|
-
|
|
1
|
+
// stylelint-disable selector-no-qualifying-type
|
|
91
2
|
|
|
92
|
-
// Common form controls
|
|
93
3
|
//
|
|
94
|
-
//
|
|
95
|
-
// of the following form controls:
|
|
4
|
+
// Textual form controls
|
|
96
5
|
//
|
|
97
|
-
// select
|
|
98
|
-
// textarea
|
|
99
|
-
// input[type="text"]
|
|
100
|
-
// input[type="password"]
|
|
101
|
-
// input[type="datetime"]
|
|
102
|
-
// input[type="datetime-local"]
|
|
103
|
-
// input[type="date"]
|
|
104
|
-
// input[type="month"]
|
|
105
|
-
// input[type="time"]
|
|
106
|
-
// input[type="week"]
|
|
107
|
-
// input[type="number"]
|
|
108
|
-
// input[type="email"]
|
|
109
|
-
// input[type="url"]
|
|
110
|
-
// input[type="search"]
|
|
111
|
-
// input[type="tel"]
|
|
112
|
-
// input[type="color"]
|
|
113
6
|
|
|
114
7
|
.form-control {
|
|
115
8
|
display: block;
|
|
116
9
|
width: 100%;
|
|
117
|
-
height: $input-height
|
|
118
|
-
padding: $padding-
|
|
10
|
+
height: $input-height;
|
|
11
|
+
padding: $input-padding-y $input-padding-x;
|
|
119
12
|
font-size: $font-size-base;
|
|
120
|
-
line-height: $line-height
|
|
13
|
+
line-height: $input-line-height;
|
|
121
14
|
color: $input-color;
|
|
122
15
|
background-color: $input-bg;
|
|
123
|
-
background-
|
|
124
|
-
border:
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
@
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
@
|
|
16
|
+
background-clip: padding-box;
|
|
17
|
+
border: $input-border-width solid $input-border-color;
|
|
18
|
+
|
|
19
|
+
// Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
|
|
20
|
+
@if $enable-rounded {
|
|
21
|
+
// Manually use the if/else instead of the mixin to account for iOS override
|
|
22
|
+
border-radius: $input-border-radius;
|
|
23
|
+
} @else {
|
|
24
|
+
// Otherwise undo the iOS default
|
|
25
|
+
border-radius: 0;
|
|
26
|
+
}
|
|
131
27
|
|
|
132
|
-
|
|
133
|
-
@include
|
|
28
|
+
@include box-shadow($input-box-shadow);
|
|
29
|
+
@include transition($input-transition);
|
|
134
30
|
|
|
135
31
|
// Unstyle the caret on `<select>`s in IE10+.
|
|
136
32
|
&::-ms-expand {
|
|
137
|
-
border: 0;
|
|
138
33
|
background-color: transparent;
|
|
34
|
+
border: 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Customize the `:focus` state to imitate native WebKit styles.
|
|
38
|
+
@include form-control-focus();
|
|
39
|
+
|
|
40
|
+
// Placeholder
|
|
41
|
+
&::placeholder {
|
|
42
|
+
color: $input-placeholder-color;
|
|
43
|
+
// Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
|
|
44
|
+
opacity: 1;
|
|
139
45
|
}
|
|
140
46
|
|
|
141
47
|
// Disabled and read-only inputs
|
|
@@ -143,320 +49,206 @@ output {
|
|
|
143
49
|
// HTML5 says that controls under a fieldset > legend:first-child won't be
|
|
144
50
|
// disabled if the fieldset is disabled. Due to implementation difficulty, we
|
|
145
51
|
// don't honor that edge case; we style them as disabled anyway.
|
|
146
|
-
|
|
147
|
-
&[readonly]
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
opacity: 1;
|
|
52
|
+
&:disabled,
|
|
53
|
+
&[readonly] {
|
|
54
|
+
background-color: $input-disabled-bg;
|
|
55
|
+
// iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
|
|
56
|
+
opacity: 1;
|
|
151
57
|
}
|
|
58
|
+
}
|
|
152
59
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
60
|
+
select.form-control {
|
|
61
|
+
&:focus::-ms-value {
|
|
62
|
+
// Suppress the nested default white text on blue background highlight given to
|
|
63
|
+
// the selected option text when the (still closed) <select> receives focus
|
|
64
|
+
// in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
|
|
65
|
+
// match the appearance of the native widget.
|
|
66
|
+
// See https://github.com/twbs/bootstrap/issues/19398.
|
|
67
|
+
color: $input-color;
|
|
68
|
+
background-color: $input-bg;
|
|
156
69
|
}
|
|
157
|
-
|
|
158
|
-
// [converter] extracted textarea& to textarea.form-control
|
|
159
70
|
}
|
|
160
71
|
|
|
161
|
-
//
|
|
162
|
-
|
|
163
|
-
|
|
72
|
+
// Make file inputs better match text inputs by forcing them to new lines.
|
|
73
|
+
.form-control-file,
|
|
74
|
+
.form-control-range {
|
|
75
|
+
display: block;
|
|
76
|
+
width: 100%;
|
|
164
77
|
}
|
|
165
78
|
|
|
166
79
|
|
|
167
|
-
// Search inputs in iOS
|
|
168
80
|
//
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
// be added to `.form-control` as it's not specific enough. For details, see
|
|
172
|
-
// https://github.com/twbs/bootstrap/issues/11586.
|
|
81
|
+
// Labels
|
|
82
|
+
//
|
|
173
83
|
|
|
174
|
-
|
|
175
|
-
|
|
84
|
+
// For use with horizontal and inline forms, when you need the label (or legend)
|
|
85
|
+
// text to align with the form controls.
|
|
86
|
+
.col-form-label {
|
|
87
|
+
padding-top: calc(#{$input-padding-y} + #{$input-border-width});
|
|
88
|
+
padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});
|
|
89
|
+
margin-bottom: 0; // Override the `<label>/<legend>` default
|
|
90
|
+
font-size: inherit; // Override the `<legend>` default
|
|
91
|
+
line-height: $input-line-height;
|
|
176
92
|
}
|
|
177
93
|
|
|
94
|
+
.col-form-label-lg {
|
|
95
|
+
padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});
|
|
96
|
+
padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});
|
|
97
|
+
font-size: $font-size-lg;
|
|
98
|
+
line-height: $input-line-height-lg;
|
|
99
|
+
}
|
|
178
100
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
|
|
185
|
-
//
|
|
186
|
-
// Note that as of 9.3, iOS doesn't support `week`.
|
|
187
|
-
|
|
188
|
-
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
|
189
|
-
input[type="date"],
|
|
190
|
-
input[type="time"],
|
|
191
|
-
input[type="datetime-local"],
|
|
192
|
-
input[type="month"] {
|
|
193
|
-
&.form-control {
|
|
194
|
-
line-height: $input-height-base;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
&.input-sm,
|
|
198
|
-
.input-group-sm & {
|
|
199
|
-
line-height: $input-height-small;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
&.input-lg,
|
|
203
|
-
.input-group-lg & {
|
|
204
|
-
line-height: $input-height-large;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
101
|
+
.col-form-label-sm {
|
|
102
|
+
padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});
|
|
103
|
+
padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});
|
|
104
|
+
font-size: $font-size-sm;
|
|
105
|
+
line-height: $input-line-height-sm;
|
|
207
106
|
}
|
|
208
107
|
|
|
209
108
|
|
|
210
|
-
//
|
|
109
|
+
// Readonly controls as plain text
|
|
211
110
|
//
|
|
212
|
-
//
|
|
213
|
-
//
|
|
111
|
+
// Apply class to a readonly input to make it appear like regular plain
|
|
112
|
+
// text (without any border, background color, focus indicator)
|
|
214
113
|
|
|
215
|
-
.form-
|
|
216
|
-
|
|
114
|
+
.form-control-plaintext {
|
|
115
|
+
display: block;
|
|
116
|
+
width: 100%;
|
|
117
|
+
padding-top: $input-padding-y;
|
|
118
|
+
padding-bottom: $input-padding-y;
|
|
119
|
+
margin-bottom: 0; // match inputs if this class comes on inputs with default margins
|
|
120
|
+
line-height: $input-line-height;
|
|
121
|
+
color: $input-plaintext-color;
|
|
122
|
+
background-color: transparent;
|
|
123
|
+
border: solid transparent;
|
|
124
|
+
border-width: $input-border-width 0;
|
|
125
|
+
|
|
126
|
+
&.form-control-sm,
|
|
127
|
+
&.form-control-lg {
|
|
128
|
+
padding-right: 0;
|
|
129
|
+
padding-left: 0;
|
|
130
|
+
}
|
|
217
131
|
}
|
|
218
132
|
|
|
219
133
|
|
|
220
|
-
//
|
|
134
|
+
// Form control sizing
|
|
221
135
|
//
|
|
222
|
-
//
|
|
136
|
+
// Build on `.form-control` with modifier classes to decrease or increase the
|
|
137
|
+
// height and font-size of form controls.
|
|
138
|
+
//
|
|
139
|
+
// Repeated in `_input_group.scss` to avoid Sass extend issues.
|
|
223
140
|
|
|
224
|
-
.
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
label {
|
|
232
|
-
min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text
|
|
233
|
-
padding-left: 20px;
|
|
234
|
-
margin-bottom: 0;
|
|
235
|
-
font-weight: normal;
|
|
236
|
-
cursor: pointer;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
.radio input[type="radio"],
|
|
240
|
-
.radio-inline input[type="radio"],
|
|
241
|
-
.checkbox input[type="checkbox"],
|
|
242
|
-
.checkbox-inline input[type="checkbox"] {
|
|
243
|
-
position: absolute;
|
|
244
|
-
margin-left: -20px;
|
|
245
|
-
margin-top: 4px \9;
|
|
141
|
+
.form-control-sm {
|
|
142
|
+
height: $input-height-sm;
|
|
143
|
+
padding: $input-padding-y-sm $input-padding-x-sm;
|
|
144
|
+
font-size: $font-size-sm;
|
|
145
|
+
line-height: $input-line-height-sm;
|
|
146
|
+
@include border-radius($input-border-radius-sm);
|
|
246
147
|
}
|
|
247
148
|
|
|
248
|
-
.
|
|
249
|
-
|
|
250
|
-
|
|
149
|
+
.form-control-lg {
|
|
150
|
+
height: $input-height-lg;
|
|
151
|
+
padding: $input-padding-y-lg $input-padding-x-lg;
|
|
152
|
+
font-size: $font-size-lg;
|
|
153
|
+
line-height: $input-line-height-lg;
|
|
154
|
+
@include border-radius($input-border-radius-lg);
|
|
251
155
|
}
|
|
252
156
|
|
|
253
|
-
//
|
|
254
|
-
.
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
margin-bottom: 0;
|
|
260
|
-
vertical-align: middle;
|
|
261
|
-
font-weight: normal;
|
|
262
|
-
cursor: pointer;
|
|
157
|
+
// stylelint-disable no-duplicate-selectors
|
|
158
|
+
select.form-control {
|
|
159
|
+
&[size],
|
|
160
|
+
&[multiple] {
|
|
161
|
+
height: auto;
|
|
162
|
+
}
|
|
263
163
|
}
|
|
264
|
-
|
|
265
|
-
.
|
|
266
|
-
|
|
267
|
-
margin-left: 10px; // space out consecutive inline controls
|
|
164
|
+
|
|
165
|
+
textarea.form-control {
|
|
166
|
+
height: auto;
|
|
268
167
|
}
|
|
168
|
+
// stylelint-enable no-duplicate-selectors
|
|
269
169
|
|
|
270
|
-
//
|
|
271
|
-
// Some special care is needed because <label>s don't inherit their parent's `cursor`.
|
|
170
|
+
// Form groups
|
|
272
171
|
//
|
|
273
|
-
//
|
|
274
|
-
|
|
275
|
-
input[type="checkbox"] {
|
|
276
|
-
&[disabled],
|
|
277
|
-
&.disabled,
|
|
278
|
-
fieldset[disabled] & {
|
|
279
|
-
cursor: $cursor-disabled;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
// These classes are used directly on <label>s
|
|
283
|
-
.radio-inline,
|
|
284
|
-
.checkbox-inline {
|
|
285
|
-
&.disabled,
|
|
286
|
-
fieldset[disabled] & {
|
|
287
|
-
cursor: $cursor-disabled;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
// These classes are used on elements with <label> descendants
|
|
291
|
-
.radio,
|
|
292
|
-
.checkbox {
|
|
293
|
-
&.disabled,
|
|
294
|
-
fieldset[disabled] & {
|
|
295
|
-
label {
|
|
296
|
-
cursor: $cursor-disabled;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
172
|
+
// Designed to help with the organization and spacing of vertical forms. For
|
|
173
|
+
// horizontal forms, use the predefined grid classes.
|
|
300
174
|
|
|
175
|
+
.form-group {
|
|
176
|
+
margin-bottom: $form-group-margin-bottom;
|
|
177
|
+
}
|
|
301
178
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
// a horizontal form layout.
|
|
306
|
-
|
|
307
|
-
.form-control-static {
|
|
308
|
-
// Size it appropriately next to real form controls
|
|
309
|
-
padding-top: ($padding-base-vertical + 1);
|
|
310
|
-
padding-bottom: ($padding-base-vertical + 1);
|
|
311
|
-
// Remove default margin from `p`
|
|
312
|
-
margin-bottom: 0;
|
|
313
|
-
min-height: ($line-height-computed + $font-size-base);
|
|
314
|
-
|
|
315
|
-
&.input-lg,
|
|
316
|
-
&.input-sm {
|
|
317
|
-
padding-left: 0;
|
|
318
|
-
padding-right: 0;
|
|
319
|
-
}
|
|
179
|
+
.form-text {
|
|
180
|
+
display: block;
|
|
181
|
+
margin-top: $form-text-margin-top;
|
|
320
182
|
}
|
|
321
183
|
|
|
322
184
|
|
|
323
|
-
// Form
|
|
324
|
-
//
|
|
325
|
-
// Build on `.form-control` with modifier classes to decrease or increase the
|
|
326
|
-
// height and font-size of form controls.
|
|
185
|
+
// Form grid
|
|
327
186
|
//
|
|
328
|
-
//
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
select.form-control {
|
|
341
|
-
height: $input-height-small;
|
|
342
|
-
line-height: $input-height-small;
|
|
343
|
-
}
|
|
344
|
-
textarea.form-control,
|
|
345
|
-
select[multiple].form-control {
|
|
346
|
-
height: auto;
|
|
347
|
-
}
|
|
348
|
-
.form-control-static {
|
|
349
|
-
height: $input-height-small;
|
|
350
|
-
min-height: ($line-height-computed + $font-size-small);
|
|
351
|
-
padding: ($padding-small-vertical + 1) $padding-small-horizontal;
|
|
352
|
-
font-size: $font-size-small;
|
|
353
|
-
line-height: $line-height-small;
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
@include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);
|
|
358
|
-
.form-group-lg {
|
|
359
|
-
.form-control {
|
|
360
|
-
height: $input-height-large;
|
|
361
|
-
padding: $padding-large-vertical $padding-large-horizontal;
|
|
362
|
-
font-size: $font-size-large;
|
|
363
|
-
line-height: $line-height-large;
|
|
364
|
-
border-radius: $input-border-radius-large;
|
|
365
|
-
}
|
|
366
|
-
select.form-control {
|
|
367
|
-
height: $input-height-large;
|
|
368
|
-
line-height: $input-height-large;
|
|
369
|
-
}
|
|
370
|
-
textarea.form-control,
|
|
371
|
-
select[multiple].form-control {
|
|
372
|
-
height: auto;
|
|
373
|
-
}
|
|
374
|
-
.form-control-static {
|
|
375
|
-
height: $input-height-large;
|
|
376
|
-
min-height: ($line-height-computed + $font-size-large);
|
|
377
|
-
padding: ($padding-large-vertical + 1) $padding-large-horizontal;
|
|
378
|
-
font-size: $font-size-large;
|
|
379
|
-
line-height: $line-height-large;
|
|
187
|
+
// Special replacement for our grid system's `.row` for tighter form layouts.
|
|
188
|
+
|
|
189
|
+
.form-row {
|
|
190
|
+
display: flex;
|
|
191
|
+
flex-wrap: wrap;
|
|
192
|
+
margin-right: -5px;
|
|
193
|
+
margin-left: -5px;
|
|
194
|
+
|
|
195
|
+
> .col,
|
|
196
|
+
> [class*="col-"] {
|
|
197
|
+
padding-right: 5px;
|
|
198
|
+
padding-left: 5px;
|
|
380
199
|
}
|
|
381
200
|
}
|
|
382
201
|
|
|
383
202
|
|
|
384
|
-
//
|
|
203
|
+
// Checkboxes and radios
|
|
385
204
|
//
|
|
386
|
-
//
|
|
205
|
+
// Indent the labels to position radios/checkboxes as hanging controls.
|
|
387
206
|
|
|
388
|
-
.
|
|
389
|
-
// Enable absolute positioning
|
|
207
|
+
.form-check {
|
|
390
208
|
position: relative;
|
|
391
|
-
|
|
392
|
-
// Ensure icons don't overlap text
|
|
393
|
-
.form-control {
|
|
394
|
-
padding-right: ($input-height-base * 1.25);
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
// Feedback icon (requires .glyphicon classes)
|
|
398
|
-
.form-control-feedback {
|
|
399
|
-
position: absolute;
|
|
400
|
-
top: 0;
|
|
401
|
-
right: 0;
|
|
402
|
-
z-index: 2; // Ensure icon is above input groups
|
|
403
209
|
display: block;
|
|
404
|
-
|
|
405
|
-
height: $input-height-base;
|
|
406
|
-
line-height: $input-height-base;
|
|
407
|
-
text-align: center;
|
|
408
|
-
pointer-events: none;
|
|
409
|
-
}
|
|
410
|
-
.input-lg + .form-control-feedback,
|
|
411
|
-
.input-group-lg + .form-control-feedback,
|
|
412
|
-
.form-group-lg .form-control + .form-control-feedback {
|
|
413
|
-
width: $input-height-large;
|
|
414
|
-
height: $input-height-large;
|
|
415
|
-
line-height: $input-height-large;
|
|
416
|
-
}
|
|
417
|
-
.input-sm + .form-control-feedback,
|
|
418
|
-
.input-group-sm + .form-control-feedback,
|
|
419
|
-
.form-group-sm .form-control + .form-control-feedback {
|
|
420
|
-
width: $input-height-small;
|
|
421
|
-
height: $input-height-small;
|
|
422
|
-
line-height: $input-height-small;
|
|
210
|
+
padding-left: $form-check-input-gutter;
|
|
423
211
|
}
|
|
424
212
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
213
|
+
.form-check-input {
|
|
214
|
+
position: absolute;
|
|
215
|
+
margin-top: $form-check-input-margin-y;
|
|
216
|
+
margin-left: -$form-check-input-gutter;
|
|
217
|
+
|
|
218
|
+
&:disabled ~ .form-check-label {
|
|
219
|
+
color: $text-muted;
|
|
220
|
+
}
|
|
431
221
|
}
|
|
432
|
-
|
|
433
|
-
|
|
222
|
+
|
|
223
|
+
.form-check-label {
|
|
224
|
+
margin-bottom: 0; // Override default `<label>` bottom margin
|
|
434
225
|
}
|
|
435
226
|
|
|
436
|
-
|
|
437
|
-
|
|
227
|
+
.form-check-inline {
|
|
228
|
+
display: inline-flex;
|
|
229
|
+
align-items: center;
|
|
230
|
+
padding-left: 0; // Override base .form-check
|
|
231
|
+
margin-right: $form-check-inline-margin-x;
|
|
438
232
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
233
|
+
// Undo .form-check-input defaults and add some `margin-right`.
|
|
234
|
+
.form-check-input {
|
|
235
|
+
position: static;
|
|
236
|
+
margin-top: 0;
|
|
237
|
+
margin-right: $form-check-inline-input-margin-x;
|
|
238
|
+
margin-left: 0;
|
|
444
239
|
}
|
|
445
240
|
}
|
|
446
241
|
|
|
447
242
|
|
|
448
|
-
//
|
|
243
|
+
// Form validation
|
|
449
244
|
//
|
|
450
|
-
//
|
|
451
|
-
//
|
|
452
|
-
|
|
453
|
-
.
|
|
454
|
-
display: block; // account for any element using help-block
|
|
455
|
-
margin-top: 5px;
|
|
456
|
-
margin-bottom: 10px;
|
|
457
|
-
color: lighten($text-color, 25%); // lighten the text some for contrast
|
|
458
|
-
}
|
|
245
|
+
// Provide feedback to users when form field values are valid or invalid. Works
|
|
246
|
+
// primarily for client-side validation via scoped `:invalid` and `:valid`
|
|
247
|
+
// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
|
|
248
|
+
// server side validation.
|
|
459
249
|
|
|
250
|
+
@include form-validation-state("valid", $form-feedback-valid-color);
|
|
251
|
+
@include form-validation-state("invalid", $form-feedback-invalid-color);
|
|
460
252
|
|
|
461
253
|
// Inline forms
|
|
462
254
|
//
|
|
@@ -466,22 +258,38 @@ input[type="checkbox"] {
|
|
|
466
258
|
//
|
|
467
259
|
// Requires wrapping inputs and labels with `.form-group` for proper display of
|
|
468
260
|
// default HTML form controls and our custom form controls (e.g., input groups).
|
|
469
|
-
//
|
|
470
|
-
// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
|
|
471
261
|
|
|
472
|
-
|
|
473
|
-
|
|
262
|
+
.form-inline {
|
|
263
|
+
display: flex;
|
|
264
|
+
flex-flow: row wrap;
|
|
265
|
+
align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)
|
|
266
|
+
|
|
267
|
+
// Because we use flex, the initial sizing of checkboxes is collapsed and
|
|
268
|
+
// doesn't occupy the full-width (which is what we want for xs grid tier),
|
|
269
|
+
// so we force that here.
|
|
270
|
+
.form-check {
|
|
271
|
+
width: 100%;
|
|
272
|
+
}
|
|
474
273
|
|
|
475
274
|
// Kick in the inline
|
|
476
|
-
@media
|
|
275
|
+
@include media-breakpoint-up(sm) {
|
|
276
|
+
label {
|
|
277
|
+
display: flex;
|
|
278
|
+
align-items: center;
|
|
279
|
+
justify-content: center;
|
|
280
|
+
margin-bottom: 0;
|
|
281
|
+
}
|
|
282
|
+
|
|
477
283
|
// Inline-block all the things for "inline"
|
|
478
284
|
.form-group {
|
|
479
|
-
display:
|
|
285
|
+
display: flex;
|
|
286
|
+
flex: 0 0 auto;
|
|
287
|
+
flex-flow: row wrap;
|
|
288
|
+
align-items: center;
|
|
480
289
|
margin-bottom: 0;
|
|
481
|
-
vertical-align: middle;
|
|
482
290
|
}
|
|
483
291
|
|
|
484
|
-
//
|
|
292
|
+
// Allow folks to *not* use `.form-group`
|
|
485
293
|
.form-control {
|
|
486
294
|
display: inline-block;
|
|
487
295
|
width: auto; // Prevent labels from stacking above inputs in `.form-group`
|
|
@@ -489,129 +297,37 @@ input[type="checkbox"] {
|
|
|
489
297
|
}
|
|
490
298
|
|
|
491
299
|
// Make static controls behave like regular ones
|
|
492
|
-
.form-control-
|
|
300
|
+
.form-control-plaintext {
|
|
493
301
|
display: inline-block;
|
|
494
302
|
}
|
|
495
303
|
|
|
496
|
-
.input-group
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
.input-group-addon,
|
|
501
|
-
.input-group-btn,
|
|
502
|
-
.form-control {
|
|
503
|
-
width: auto;
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
// Input groups need that 100% width though
|
|
508
|
-
.input-group > .form-control {
|
|
509
|
-
width: 100%;
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
.control-label {
|
|
513
|
-
margin-bottom: 0;
|
|
514
|
-
vertical-align: middle;
|
|
304
|
+
.input-group,
|
|
305
|
+
.custom-select {
|
|
306
|
+
width: auto;
|
|
515
307
|
}
|
|
516
308
|
|
|
517
309
|
// Remove default margin on radios/checkboxes that were used for stacking, and
|
|
518
310
|
// then undo the floating of radios and checkboxes to match.
|
|
519
|
-
.
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
label {
|
|
527
|
-
padding-left: 0;
|
|
528
|
-
}
|
|
311
|
+
.form-check {
|
|
312
|
+
display: flex;
|
|
313
|
+
align-items: center;
|
|
314
|
+
justify-content: center;
|
|
315
|
+
width: auto;
|
|
316
|
+
padding-left: 0;
|
|
529
317
|
}
|
|
530
|
-
.
|
|
531
|
-
.checkbox input[type="checkbox"] {
|
|
318
|
+
.form-check-input {
|
|
532
319
|
position: relative;
|
|
320
|
+
margin-top: 0;
|
|
321
|
+
margin-right: $form-check-input-margin-x;
|
|
533
322
|
margin-left: 0;
|
|
534
323
|
}
|
|
535
324
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
325
|
+
.custom-control {
|
|
326
|
+
align-items: center;
|
|
327
|
+
justify-content: center;
|
|
539
328
|
}
|
|
540
|
-
|
|
541
|
-
}
|
|
542
|
-
// [converter] extracted as `@mixin form-inline` for libsass compatibility
|
|
543
|
-
.form-inline {
|
|
544
|
-
@include form-inline;
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
// Horizontal forms
|
|
550
|
-
//
|
|
551
|
-
// Horizontal forms are built on grid classes and allow you to create forms with
|
|
552
|
-
// labels on the left and inputs on the right.
|
|
553
|
-
|
|
554
|
-
.form-horizontal {
|
|
555
|
-
|
|
556
|
-
// Consistent vertical alignment of radios and checkboxes
|
|
557
|
-
//
|
|
558
|
-
// Labels also get some reset styles, but that is scoped to a media query below.
|
|
559
|
-
.radio,
|
|
560
|
-
.checkbox,
|
|
561
|
-
.radio-inline,
|
|
562
|
-
.checkbox-inline {
|
|
563
|
-
margin-top: 0;
|
|
564
|
-
margin-bottom: 0;
|
|
565
|
-
padding-top: ($padding-base-vertical + 1); // Default padding plus a border
|
|
566
|
-
}
|
|
567
|
-
// Account for padding we're adding to ensure the alignment and of help text
|
|
568
|
-
// and other content below items
|
|
569
|
-
.radio,
|
|
570
|
-
.checkbox {
|
|
571
|
-
min-height: ($line-height-computed + ($padding-base-vertical + 1));
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
// Make form groups behave like rows
|
|
575
|
-
.form-group {
|
|
576
|
-
@include make-row;
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
// Reset spacing and right align labels, but scope to media queries so that
|
|
580
|
-
// labels on narrow viewports stack the same as a default form example.
|
|
581
|
-
@media (min-width: $screen-sm-min) {
|
|
582
|
-
.control-label {
|
|
583
|
-
text-align: right;
|
|
329
|
+
.custom-control-label {
|
|
584
330
|
margin-bottom: 0;
|
|
585
|
-
padding-top: ($padding-base-vertical + 1); // Default padding plus a border
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
// Validation states
|
|
590
|
-
//
|
|
591
|
-
// Reposition the icon because it's now within a grid column and columns have
|
|
592
|
-
// `position: relative;` on them. Also accounts for the grid gutter padding.
|
|
593
|
-
.has-feedback .form-control-feedback {
|
|
594
|
-
right: floor(($grid-gutter-width / 2));
|
|
595
|
-
}
|
|
596
|
-
|
|
597
|
-
// Form group sizes
|
|
598
|
-
//
|
|
599
|
-
// Quick utility class for applying `.input-lg` and `.input-sm` styles to the
|
|
600
|
-
// inputs and labels within a `.form-group`.
|
|
601
|
-
.form-group-lg {
|
|
602
|
-
@media (min-width: $screen-sm-min) {
|
|
603
|
-
.control-label {
|
|
604
|
-
padding-top: ($padding-large-vertical + 1);
|
|
605
|
-
font-size: $font-size-large;
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
}
|
|
609
|
-
.form-group-sm {
|
|
610
|
-
@media (min-width: $screen-sm-min) {
|
|
611
|
-
.control-label {
|
|
612
|
-
padding-top: ($padding-small-vertical + 1);
|
|
613
|
-
font-size: $font-size-small;
|
|
614
|
-
}
|
|
615
331
|
}
|
|
616
332
|
}
|
|
617
333
|
}
|