adhoq 0.0.2
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 +7 -0
- data/LICENSE.txt +22 -0
- data/README.md +80 -0
- data/Rakefile +28 -0
- data/app/assets/javascripts/adhoq/application.js +19 -0
- data/app/assets/javascripts/adhoq/bootstrap-sprockets.js +12 -0
- data/app/assets/javascripts/adhoq/bootstrap.js +2107 -0
- data/app/assets/javascripts/adhoq/bootstrap/affix.js +142 -0
- data/app/assets/javascripts/adhoq/bootstrap/alert.js +92 -0
- data/app/assets/javascripts/adhoq/bootstrap/button.js +110 -0
- data/app/assets/javascripts/adhoq/bootstrap/carousel.js +223 -0
- data/app/assets/javascripts/adhoq/bootstrap/collapse.js +170 -0
- data/app/assets/javascripts/adhoq/bootstrap/dropdown.js +151 -0
- data/app/assets/javascripts/adhoq/bootstrap/modal.js +280 -0
- data/app/assets/javascripts/adhoq/bootstrap/popover.js +113 -0
- data/app/assets/javascripts/adhoq/bootstrap/scrollspy.js +170 -0
- data/app/assets/javascripts/adhoq/bootstrap/tab.js +128 -0
- data/app/assets/javascripts/adhoq/bootstrap/tooltip.js +457 -0
- data/app/assets/javascripts/adhoq/bootstrap/transition.js +59 -0
- data/app/assets/javascripts/adhoq/previewer.js.coffee +25 -0
- data/app/assets/stylesheets/adhoq/_bootstrap-compass.scss +7 -0
- data/app/assets/stylesheets/adhoq/_bootstrap-mincer.scss +17 -0
- data/app/assets/stylesheets/adhoq/_bootstrap-sprockets.scss +7 -0
- data/app/assets/stylesheets/adhoq/adhoq.css.sass +57 -0
- data/app/assets/stylesheets/adhoq/application.css +16 -0
- data/app/assets/stylesheets/adhoq/bootstrap.scss +50 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_alerts.scss +68 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_badges.scss +57 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_breadcrumbs.scss +26 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_button-groups.scss +240 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_buttons.scss +157 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_carousel.scss +243 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_close.scss +35 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_code.scss +68 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_component-animations.scss +35 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_dropdowns.scss +215 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_forms.scss +538 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_glyphicons.scss +237 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_grid.scss +84 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_input-groups.scss +166 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_jumbotron.scss +48 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_labels.scss +66 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_list-group.scss +131 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_media.scss +56 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_mixins.scss +39 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_modals.scss +150 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_navbar.scss +659 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_navs.scss +242 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_normalize.scss +425 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_pager.scss +55 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_pagination.scss +88 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_panels.scss +243 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_popovers.scss +133 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_print.scss +101 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_progress-bars.scss +105 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_responsive-embed.scss +34 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_responsive-utilities.scss +174 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_scaffolding.scss +150 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_tables.scss +233 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_theme.scss +258 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_thumbnails.scss +38 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_tooltip.scss +95 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_type.scss +304 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_utilities.scss +57 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_variables.scss +850 -0
- data/app/assets/stylesheets/adhoq/bootstrap/_wells.scss +29 -0
- data/app/assets/stylesheets/adhoq/bootstrap/bootstrap.scss +50 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_alerts.scss +14 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_background-variant.scss +11 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_border-radius.scss +18 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_buttons.scss +50 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_center-block.scss +7 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_clearfix.scss +22 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_forms.scss +84 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_gradients.scss +58 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_grid-framework.scss +81 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_grid.scss +122 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_hide-text.scss +21 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_image.scss +34 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_labels.scss +12 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_list-group.scss +31 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_nav-divider.scss +10 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_nav-vertical-align.scss +9 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_opacity.scss +8 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_pagination.scss +23 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_panels.scss +24 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_progress-bar.scss +10 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_reset-filter.scss +8 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_resize.scss +6 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_responsive-visibility.scss +21 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_size.scss +10 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_tab-focus.scss +9 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_table-row.scss +28 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_text-emphasis.scss +11 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_text-overflow.scss +8 -0
- data/app/assets/stylesheets/adhoq/bootstrap/mixins/_vendor-prefixes.scss +219 -0
- data/app/controllers/adhoq/application_controller.rb +5 -0
- data/app/controllers/adhoq/authorization_methods.rb +36 -0
- data/app/controllers/adhoq/executions_controller.rb +25 -0
- data/app/controllers/adhoq/previews_controller.rb +13 -0
- data/app/controllers/adhoq/queries_controller.rb +38 -0
- data/app/helpers/adhoq/application_helper.rb +11 -0
- data/app/models/adhoq/execution.rb +29 -0
- data/app/models/adhoq/query.rb +14 -0
- data/app/models/adhoq/report.rb +42 -0
- data/app/models/adhoq/time_based_orders.rb +9 -0
- data/app/views/adhoq/application/_global_nav.html.slim +11 -0
- data/app/views/adhoq/application/_sidebar_queries_index.html.slim +10 -0
- data/app/views/adhoq/previews/create.html.slim +12 -0
- data/app/views/adhoq/previews/statement_invalid.html.slim +5 -0
- data/app/views/adhoq/queries/_form.html.slim +38 -0
- data/app/views/adhoq/queries/_query.html.slim +43 -0
- data/app/views/adhoq/queries/edit.html.slim +2 -0
- data/app/views/adhoq/queries/index.html.slim +1 -0
- data/app/views/adhoq/queries/new.html.slim +2 -0
- data/app/views/adhoq/queries/show.html.slim +1 -0
- data/app/views/layouts/adhoq/application.html.slim +18 -0
- data/config/routes.rb +9 -0
- data/db/migrate/20141003095645_create_adhoq_queries.rb +11 -0
- data/db/migrate/20141006014750_create_adhoq_executions.rb +13 -0
- data/db/migrate/20141007052308_create_adhoq_reports.rb +12 -0
- data/lib/adhoq.rb +13 -0
- data/lib/adhoq/configuration.rb +21 -0
- data/lib/adhoq/engine.rb +15 -0
- data/lib/adhoq/error.rb +4 -0
- data/lib/adhoq/executor.rb +27 -0
- data/lib/adhoq/global_variable.rb +34 -0
- data/lib/adhoq/reporter.rb +5 -0
- data/lib/adhoq/reporter/xlsx.rb +32 -0
- data/lib/adhoq/result.rb +18 -0
- data/lib/adhoq/storage.rb +5 -0
- data/lib/adhoq/storage/local_file.rb +45 -0
- data/lib/adhoq/version.rb +3 -0
- data/lib/tasks/adhoq_tasks.rake +4 -0
- data/spec/adhoq/executor_spec.rb +11 -0
- data/spec/adhoq/storage_spec.rb +19 -0
- data/spec/factories/adhoq_queries.rb +29 -0
- data/spec/models/adhoq/execution_spec.rb +4 -0
- data/spec/models/adhoq/query_spec.rb +4 -0
- data/spec/models/adhoq/report_spec.rb +25 -0
- data/spec/spec_helper.rb +36 -0
- data/spec/support/have_values_in_xlsx_sheet_matcher.rb +20 -0
- metadata +375 -0
@@ -0,0 +1,101 @@
|
|
1
|
+
//
|
2
|
+
// Basic print styles
|
3
|
+
// --------------------------------------------------
|
4
|
+
// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
|
5
|
+
|
6
|
+
@media print {
|
7
|
+
|
8
|
+
* {
|
9
|
+
text-shadow: none !important;
|
10
|
+
color: #000 !important; // Black prints faster: h5bp.com/s
|
11
|
+
background: transparent !important;
|
12
|
+
box-shadow: none !important;
|
13
|
+
}
|
14
|
+
|
15
|
+
a,
|
16
|
+
a:visited {
|
17
|
+
text-decoration: underline;
|
18
|
+
}
|
19
|
+
|
20
|
+
a[href]:after {
|
21
|
+
content: " (" attr(href) ")";
|
22
|
+
}
|
23
|
+
|
24
|
+
abbr[title]:after {
|
25
|
+
content: " (" attr(title) ")";
|
26
|
+
}
|
27
|
+
|
28
|
+
// Don't show links for images, or javascript/internal links
|
29
|
+
a[href^="javascript:"]:after,
|
30
|
+
a[href^="#"]:after {
|
31
|
+
content: "";
|
32
|
+
}
|
33
|
+
|
34
|
+
pre,
|
35
|
+
blockquote {
|
36
|
+
border: 1px solid #999;
|
37
|
+
page-break-inside: avoid;
|
38
|
+
}
|
39
|
+
|
40
|
+
thead {
|
41
|
+
display: table-header-group; // h5bp.com/t
|
42
|
+
}
|
43
|
+
|
44
|
+
tr,
|
45
|
+
img {
|
46
|
+
page-break-inside: avoid;
|
47
|
+
}
|
48
|
+
|
49
|
+
img {
|
50
|
+
max-width: 100% !important;
|
51
|
+
}
|
52
|
+
|
53
|
+
p,
|
54
|
+
h2,
|
55
|
+
h3 {
|
56
|
+
orphans: 3;
|
57
|
+
widows: 3;
|
58
|
+
}
|
59
|
+
|
60
|
+
h2,
|
61
|
+
h3 {
|
62
|
+
page-break-after: avoid;
|
63
|
+
}
|
64
|
+
|
65
|
+
// Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
|
66
|
+
// Once fixed, we can just straight up remove this.
|
67
|
+
select {
|
68
|
+
background: #fff !important;
|
69
|
+
}
|
70
|
+
|
71
|
+
// Bootstrap components
|
72
|
+
.navbar {
|
73
|
+
display: none;
|
74
|
+
}
|
75
|
+
.table {
|
76
|
+
td,
|
77
|
+
th {
|
78
|
+
background-color: #fff !important;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
.btn,
|
82
|
+
.dropup > .btn {
|
83
|
+
> .caret {
|
84
|
+
border-top-color: #000 !important;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
.label {
|
88
|
+
border: 1px solid #000;
|
89
|
+
}
|
90
|
+
|
91
|
+
.table {
|
92
|
+
border-collapse: collapse !important;
|
93
|
+
}
|
94
|
+
.table-bordered {
|
95
|
+
th,
|
96
|
+
td {
|
97
|
+
border: 1px solid #ddd !important;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
|
101
|
+
}
|
@@ -0,0 +1,105 @@
|
|
1
|
+
//
|
2
|
+
// Progress bars
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// Bar animations
|
7
|
+
// -------------------------
|
8
|
+
|
9
|
+
// WebKit
|
10
|
+
@-webkit-keyframes progress-bar-stripes {
|
11
|
+
from { background-position: 40px 0; }
|
12
|
+
to { background-position: 0 0; }
|
13
|
+
}
|
14
|
+
|
15
|
+
// Spec and IE10+
|
16
|
+
@keyframes progress-bar-stripes {
|
17
|
+
from { background-position: 40px 0; }
|
18
|
+
to { background-position: 0 0; }
|
19
|
+
}
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
// Bar itself
|
24
|
+
// -------------------------
|
25
|
+
|
26
|
+
// Outer container
|
27
|
+
.progress {
|
28
|
+
overflow: hidden;
|
29
|
+
height: $line-height-computed;
|
30
|
+
margin-bottom: $line-height-computed;
|
31
|
+
background-color: $progress-bg;
|
32
|
+
border-radius: $border-radius-base;
|
33
|
+
@include box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
|
34
|
+
}
|
35
|
+
|
36
|
+
// Bar of progress
|
37
|
+
.progress-bar {
|
38
|
+
float: left;
|
39
|
+
width: 0%;
|
40
|
+
height: 100%;
|
41
|
+
font-size: $font-size-small;
|
42
|
+
line-height: $line-height-computed;
|
43
|
+
color: $progress-bar-color;
|
44
|
+
text-align: center;
|
45
|
+
background-color: $progress-bar-bg;
|
46
|
+
@include box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
|
47
|
+
@include transition(width .6s ease);
|
48
|
+
}
|
49
|
+
|
50
|
+
// Striped bars
|
51
|
+
//
|
52
|
+
// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the
|
53
|
+
// `.progress-bar-striped` class, which you just add to an existing
|
54
|
+
// `.progress-bar`.
|
55
|
+
.progress-striped .progress-bar,
|
56
|
+
.progress-bar-striped {
|
57
|
+
@include gradient-striped();
|
58
|
+
background-size: 40px 40px;
|
59
|
+
}
|
60
|
+
|
61
|
+
// Call animation for the active one
|
62
|
+
//
|
63
|
+
// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the
|
64
|
+
// `.progress-bar.active` approach.
|
65
|
+
.progress.active .progress-bar,
|
66
|
+
.progress-bar.active {
|
67
|
+
@include animation(progress-bar-stripes 2s linear infinite);
|
68
|
+
}
|
69
|
+
|
70
|
+
// Account for lower percentages
|
71
|
+
.progress-bar {
|
72
|
+
&[aria-valuenow="1"],
|
73
|
+
&[aria-valuenow="2"] {
|
74
|
+
min-width: 30px;
|
75
|
+
}
|
76
|
+
|
77
|
+
&[aria-valuenow="0"] {
|
78
|
+
color: $gray-light;
|
79
|
+
min-width: 30px;
|
80
|
+
background-color: transparent;
|
81
|
+
background-image: none;
|
82
|
+
box-shadow: none;
|
83
|
+
}
|
84
|
+
}
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
// Variations
|
89
|
+
// -------------------------
|
90
|
+
|
91
|
+
.progress-bar-success {
|
92
|
+
@include progress-bar-variant($progress-bar-success-bg);
|
93
|
+
}
|
94
|
+
|
95
|
+
.progress-bar-info {
|
96
|
+
@include progress-bar-variant($progress-bar-info-bg);
|
97
|
+
}
|
98
|
+
|
99
|
+
.progress-bar-warning {
|
100
|
+
@include progress-bar-variant($progress-bar-warning-bg);
|
101
|
+
}
|
102
|
+
|
103
|
+
.progress-bar-danger {
|
104
|
+
@include progress-bar-variant($progress-bar-danger-bg);
|
105
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
// Embeds responsive
|
2
|
+
//
|
3
|
+
// Credit: Nicolas Gallagher and SUIT CSS.
|
4
|
+
|
5
|
+
.embed-responsive {
|
6
|
+
position: relative;
|
7
|
+
display: block;
|
8
|
+
height: 0;
|
9
|
+
padding: 0;
|
10
|
+
overflow: hidden;
|
11
|
+
|
12
|
+
.embed-responsive-item,
|
13
|
+
iframe,
|
14
|
+
embed,
|
15
|
+
object {
|
16
|
+
position: absolute;
|
17
|
+
top: 0;
|
18
|
+
left: 0;
|
19
|
+
bottom: 0;
|
20
|
+
height: 100%;
|
21
|
+
width: 100%;
|
22
|
+
border: 0;
|
23
|
+
}
|
24
|
+
|
25
|
+
// Modifier class for 16:9 aspect ratio
|
26
|
+
&.embed-responsive-16by9 {
|
27
|
+
padding-bottom: 56.25%;
|
28
|
+
}
|
29
|
+
|
30
|
+
// Modifier class for 4:3 aspect ratio
|
31
|
+
&.embed-responsive-4by3 {
|
32
|
+
padding-bottom: 75%;
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,174 @@
|
|
1
|
+
//
|
2
|
+
// Responsive: Utility classes
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// IE10 in Windows (Phone) 8
|
7
|
+
//
|
8
|
+
// Support for responsive views via media queries is kind of borked in IE10, for
|
9
|
+
// Surface/desktop in split view and for Windows Phone 8. This particular fix
|
10
|
+
// must be accompanied by a snippet of JavaScript to sniff the user agent and
|
11
|
+
// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
|
12
|
+
// our Getting Started page for more information on this bug.
|
13
|
+
//
|
14
|
+
// For more information, see the following:
|
15
|
+
//
|
16
|
+
// Issue: https://github.com/twbs/bootstrap/issues/10497
|
17
|
+
// Docs: http://getbootstrap.com/getting-started/#support-ie10-width
|
18
|
+
// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
|
19
|
+
// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
|
20
|
+
|
21
|
+
@-ms-viewport {
|
22
|
+
width: device-width;
|
23
|
+
}
|
24
|
+
|
25
|
+
|
26
|
+
// Visibility utilities
|
27
|
+
// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0
|
28
|
+
|
29
|
+
@include responsive-invisibility('.visible-xs, .visible-sm, .visible-md, .visible-lg');
|
30
|
+
|
31
|
+
.visible-xs-block,
|
32
|
+
.visible-xs-inline,
|
33
|
+
.visible-xs-inline-block,
|
34
|
+
.visible-sm-block,
|
35
|
+
.visible-sm-inline,
|
36
|
+
.visible-sm-inline-block,
|
37
|
+
.visible-md-block,
|
38
|
+
.visible-md-inline,
|
39
|
+
.visible-md-inline-block,
|
40
|
+
.visible-lg-block,
|
41
|
+
.visible-lg-inline,
|
42
|
+
.visible-lg-inline-block {
|
43
|
+
display: none !important;
|
44
|
+
}
|
45
|
+
|
46
|
+
@media (max-width: $screen-xs-max) {
|
47
|
+
@include responsive-visibility('.visible-xs');
|
48
|
+
}
|
49
|
+
.visible-xs-block {
|
50
|
+
@media (max-width: $screen-xs-max) {
|
51
|
+
display: block !important;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
.visible-xs-inline {
|
55
|
+
@media (max-width: $screen-xs-max) {
|
56
|
+
display: inline !important;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
.visible-xs-inline-block {
|
60
|
+
@media (max-width: $screen-xs-max) {
|
61
|
+
display: inline-block !important;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
66
|
+
@include responsive-visibility('.visible-sm');
|
67
|
+
}
|
68
|
+
.visible-sm-block {
|
69
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
70
|
+
display: block !important;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
.visible-sm-inline {
|
74
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
75
|
+
display: inline !important;
|
76
|
+
}
|
77
|
+
}
|
78
|
+
.visible-sm-inline-block {
|
79
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
80
|
+
display: inline-block !important;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
85
|
+
@include responsive-visibility('.visible-md');
|
86
|
+
}
|
87
|
+
.visible-md-block {
|
88
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
89
|
+
display: block !important;
|
90
|
+
}
|
91
|
+
}
|
92
|
+
.visible-md-inline {
|
93
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
94
|
+
display: inline !important;
|
95
|
+
}
|
96
|
+
}
|
97
|
+
.visible-md-inline-block {
|
98
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
99
|
+
display: inline-block !important;
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
@media (min-width: $screen-lg-min) {
|
104
|
+
@include responsive-visibility('.visible-lg');
|
105
|
+
}
|
106
|
+
.visible-lg-block {
|
107
|
+
@media (min-width: $screen-lg-min) {
|
108
|
+
display: block !important;
|
109
|
+
}
|
110
|
+
}
|
111
|
+
.visible-lg-inline {
|
112
|
+
@media (min-width: $screen-lg-min) {
|
113
|
+
display: inline !important;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
.visible-lg-inline-block {
|
117
|
+
@media (min-width: $screen-lg-min) {
|
118
|
+
display: inline-block !important;
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
122
|
+
@media (max-width: $screen-xs-max) {
|
123
|
+
@include responsive-invisibility('.hidden-xs');
|
124
|
+
}
|
125
|
+
|
126
|
+
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
|
127
|
+
@include responsive-invisibility('.hidden-sm');
|
128
|
+
}
|
129
|
+
|
130
|
+
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
|
131
|
+
@include responsive-invisibility('.hidden-md');
|
132
|
+
}
|
133
|
+
|
134
|
+
@media (min-width: $screen-lg-min) {
|
135
|
+
@include responsive-invisibility('.hidden-lg');
|
136
|
+
}
|
137
|
+
|
138
|
+
|
139
|
+
// Print utilities
|
140
|
+
//
|
141
|
+
// Media queries are placed on the inside to be mixin-friendly.
|
142
|
+
|
143
|
+
// Note: Deprecated .visible-print as of v3.2.0
|
144
|
+
|
145
|
+
@include responsive-invisibility('.visible-print');
|
146
|
+
|
147
|
+
@media print {
|
148
|
+
@include responsive-visibility('.visible-print');
|
149
|
+
}
|
150
|
+
.visible-print-block {
|
151
|
+
display: none !important;
|
152
|
+
|
153
|
+
@media print {
|
154
|
+
display: block !important;
|
155
|
+
}
|
156
|
+
}
|
157
|
+
.visible-print-inline {
|
158
|
+
display: none !important;
|
159
|
+
|
160
|
+
@media print {
|
161
|
+
display: inline !important;
|
162
|
+
}
|
163
|
+
}
|
164
|
+
.visible-print-inline-block {
|
165
|
+
display: none !important;
|
166
|
+
|
167
|
+
@media print {
|
168
|
+
display: inline-block !important;
|
169
|
+
}
|
170
|
+
}
|
171
|
+
|
172
|
+
@media print {
|
173
|
+
@include responsive-invisibility('.hidden-print');
|
174
|
+
}
|
@@ -0,0 +1,150 @@
|
|
1
|
+
//
|
2
|
+
// Scaffolding
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// Reset the box-sizing
|
7
|
+
//
|
8
|
+
// Heads up! This reset may cause conflicts with some third-party widgets.
|
9
|
+
// For recommendations on resolving such conflicts, see
|
10
|
+
// http://getbootstrap.com/getting-started/#third-box-sizing
|
11
|
+
* {
|
12
|
+
@include box-sizing(border-box);
|
13
|
+
}
|
14
|
+
*:before,
|
15
|
+
*:after {
|
16
|
+
@include box-sizing(border-box);
|
17
|
+
}
|
18
|
+
|
19
|
+
|
20
|
+
// Body reset
|
21
|
+
|
22
|
+
html {
|
23
|
+
font-size: 10px;
|
24
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
25
|
+
}
|
26
|
+
|
27
|
+
body {
|
28
|
+
font-family: $font-family-base;
|
29
|
+
font-size: $font-size-base;
|
30
|
+
line-height: $line-height-base;
|
31
|
+
color: $text-color;
|
32
|
+
background-color: $body-bg;
|
33
|
+
}
|
34
|
+
|
35
|
+
// Reset fonts for relevant elements
|
36
|
+
input,
|
37
|
+
button,
|
38
|
+
select,
|
39
|
+
textarea {
|
40
|
+
font-family: inherit;
|
41
|
+
font-size: inherit;
|
42
|
+
line-height: inherit;
|
43
|
+
}
|
44
|
+
|
45
|
+
|
46
|
+
// Links
|
47
|
+
|
48
|
+
a {
|
49
|
+
color: $link-color;
|
50
|
+
text-decoration: none;
|
51
|
+
|
52
|
+
&:hover,
|
53
|
+
&:focus {
|
54
|
+
color: $link-hover-color;
|
55
|
+
text-decoration: underline;
|
56
|
+
}
|
57
|
+
|
58
|
+
&:focus {
|
59
|
+
@include tab-focus();
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
// Figures
|
65
|
+
//
|
66
|
+
// We reset this here because previously Normalize had no `figure` margins. This
|
67
|
+
// ensures we don't break anyone's use of the element.
|
68
|
+
|
69
|
+
figure {
|
70
|
+
margin: 0;
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
// Images
|
75
|
+
|
76
|
+
img {
|
77
|
+
vertical-align: middle;
|
78
|
+
}
|
79
|
+
|
80
|
+
// Responsive images (ensure images don't scale beyond their parents)
|
81
|
+
.img-responsive {
|
82
|
+
@include img-responsive();
|
83
|
+
}
|
84
|
+
|
85
|
+
// Rounded corners
|
86
|
+
.img-rounded {
|
87
|
+
border-radius: $border-radius-large;
|
88
|
+
}
|
89
|
+
|
90
|
+
// Image thumbnails
|
91
|
+
//
|
92
|
+
// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
|
93
|
+
.img-thumbnail {
|
94
|
+
padding: $thumbnail-padding;
|
95
|
+
line-height: $line-height-base;
|
96
|
+
background-color: $thumbnail-bg;
|
97
|
+
border: 1px solid $thumbnail-border;
|
98
|
+
border-radius: $thumbnail-border-radius;
|
99
|
+
@include transition(all .2s ease-in-out);
|
100
|
+
|
101
|
+
// Keep them at most 100% wide
|
102
|
+
@include img-responsive(inline-block);
|
103
|
+
}
|
104
|
+
|
105
|
+
// Perfect circle
|
106
|
+
.img-circle {
|
107
|
+
border-radius: 50%; // set radius in percents
|
108
|
+
}
|
109
|
+
|
110
|
+
|
111
|
+
// Horizontal rules
|
112
|
+
|
113
|
+
hr {
|
114
|
+
margin-top: $line-height-computed;
|
115
|
+
margin-bottom: $line-height-computed;
|
116
|
+
border: 0;
|
117
|
+
border-top: 1px solid $hr-border;
|
118
|
+
}
|
119
|
+
|
120
|
+
|
121
|
+
// Only display content to screen readers
|
122
|
+
//
|
123
|
+
// See: http://a11yproject.com/posts/how-to-hide-content/
|
124
|
+
|
125
|
+
.sr-only {
|
126
|
+
position: absolute;
|
127
|
+
width: 1px;
|
128
|
+
height: 1px;
|
129
|
+
margin: -1px;
|
130
|
+
padding: 0;
|
131
|
+
overflow: hidden;
|
132
|
+
clip: rect(0,0,0,0);
|
133
|
+
border: 0;
|
134
|
+
}
|
135
|
+
|
136
|
+
// Use in conjunction with .sr-only to only display content when it's focused.
|
137
|
+
// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
|
138
|
+
// Credit: HTML5 Boilerplate
|
139
|
+
|
140
|
+
.sr-only-focusable {
|
141
|
+
&:active,
|
142
|
+
&:focus {
|
143
|
+
position: static;
|
144
|
+
width: auto;
|
145
|
+
height: auto;
|
146
|
+
margin: 0;
|
147
|
+
overflow: visible;
|
148
|
+
clip: auto;
|
149
|
+
}
|
150
|
+
}
|