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.
Files changed (143) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +22 -0
  3. data/README.md +80 -0
  4. data/Rakefile +28 -0
  5. data/app/assets/javascripts/adhoq/application.js +19 -0
  6. data/app/assets/javascripts/adhoq/bootstrap-sprockets.js +12 -0
  7. data/app/assets/javascripts/adhoq/bootstrap.js +2107 -0
  8. data/app/assets/javascripts/adhoq/bootstrap/affix.js +142 -0
  9. data/app/assets/javascripts/adhoq/bootstrap/alert.js +92 -0
  10. data/app/assets/javascripts/adhoq/bootstrap/button.js +110 -0
  11. data/app/assets/javascripts/adhoq/bootstrap/carousel.js +223 -0
  12. data/app/assets/javascripts/adhoq/bootstrap/collapse.js +170 -0
  13. data/app/assets/javascripts/adhoq/bootstrap/dropdown.js +151 -0
  14. data/app/assets/javascripts/adhoq/bootstrap/modal.js +280 -0
  15. data/app/assets/javascripts/adhoq/bootstrap/popover.js +113 -0
  16. data/app/assets/javascripts/adhoq/bootstrap/scrollspy.js +170 -0
  17. data/app/assets/javascripts/adhoq/bootstrap/tab.js +128 -0
  18. data/app/assets/javascripts/adhoq/bootstrap/tooltip.js +457 -0
  19. data/app/assets/javascripts/adhoq/bootstrap/transition.js +59 -0
  20. data/app/assets/javascripts/adhoq/previewer.js.coffee +25 -0
  21. data/app/assets/stylesheets/adhoq/_bootstrap-compass.scss +7 -0
  22. data/app/assets/stylesheets/adhoq/_bootstrap-mincer.scss +17 -0
  23. data/app/assets/stylesheets/adhoq/_bootstrap-sprockets.scss +7 -0
  24. data/app/assets/stylesheets/adhoq/adhoq.css.sass +57 -0
  25. data/app/assets/stylesheets/adhoq/application.css +16 -0
  26. data/app/assets/stylesheets/adhoq/bootstrap.scss +50 -0
  27. data/app/assets/stylesheets/adhoq/bootstrap/_alerts.scss +68 -0
  28. data/app/assets/stylesheets/adhoq/bootstrap/_badges.scss +57 -0
  29. data/app/assets/stylesheets/adhoq/bootstrap/_breadcrumbs.scss +26 -0
  30. data/app/assets/stylesheets/adhoq/bootstrap/_button-groups.scss +240 -0
  31. data/app/assets/stylesheets/adhoq/bootstrap/_buttons.scss +157 -0
  32. data/app/assets/stylesheets/adhoq/bootstrap/_carousel.scss +243 -0
  33. data/app/assets/stylesheets/adhoq/bootstrap/_close.scss +35 -0
  34. data/app/assets/stylesheets/adhoq/bootstrap/_code.scss +68 -0
  35. data/app/assets/stylesheets/adhoq/bootstrap/_component-animations.scss +35 -0
  36. data/app/assets/stylesheets/adhoq/bootstrap/_dropdowns.scss +215 -0
  37. data/app/assets/stylesheets/adhoq/bootstrap/_forms.scss +538 -0
  38. data/app/assets/stylesheets/adhoq/bootstrap/_glyphicons.scss +237 -0
  39. data/app/assets/stylesheets/adhoq/bootstrap/_grid.scss +84 -0
  40. data/app/assets/stylesheets/adhoq/bootstrap/_input-groups.scss +166 -0
  41. data/app/assets/stylesheets/adhoq/bootstrap/_jumbotron.scss +48 -0
  42. data/app/assets/stylesheets/adhoq/bootstrap/_labels.scss +66 -0
  43. data/app/assets/stylesheets/adhoq/bootstrap/_list-group.scss +131 -0
  44. data/app/assets/stylesheets/adhoq/bootstrap/_media.scss +56 -0
  45. data/app/assets/stylesheets/adhoq/bootstrap/_mixins.scss +39 -0
  46. data/app/assets/stylesheets/adhoq/bootstrap/_modals.scss +150 -0
  47. data/app/assets/stylesheets/adhoq/bootstrap/_navbar.scss +659 -0
  48. data/app/assets/stylesheets/adhoq/bootstrap/_navs.scss +242 -0
  49. data/app/assets/stylesheets/adhoq/bootstrap/_normalize.scss +425 -0
  50. data/app/assets/stylesheets/adhoq/bootstrap/_pager.scss +55 -0
  51. data/app/assets/stylesheets/adhoq/bootstrap/_pagination.scss +88 -0
  52. data/app/assets/stylesheets/adhoq/bootstrap/_panels.scss +243 -0
  53. data/app/assets/stylesheets/adhoq/bootstrap/_popovers.scss +133 -0
  54. data/app/assets/stylesheets/adhoq/bootstrap/_print.scss +101 -0
  55. data/app/assets/stylesheets/adhoq/bootstrap/_progress-bars.scss +105 -0
  56. data/app/assets/stylesheets/adhoq/bootstrap/_responsive-embed.scss +34 -0
  57. data/app/assets/stylesheets/adhoq/bootstrap/_responsive-utilities.scss +174 -0
  58. data/app/assets/stylesheets/adhoq/bootstrap/_scaffolding.scss +150 -0
  59. data/app/assets/stylesheets/adhoq/bootstrap/_tables.scss +233 -0
  60. data/app/assets/stylesheets/adhoq/bootstrap/_theme.scss +258 -0
  61. data/app/assets/stylesheets/adhoq/bootstrap/_thumbnails.scss +38 -0
  62. data/app/assets/stylesheets/adhoq/bootstrap/_tooltip.scss +95 -0
  63. data/app/assets/stylesheets/adhoq/bootstrap/_type.scss +304 -0
  64. data/app/assets/stylesheets/adhoq/bootstrap/_utilities.scss +57 -0
  65. data/app/assets/stylesheets/adhoq/bootstrap/_variables.scss +850 -0
  66. data/app/assets/stylesheets/adhoq/bootstrap/_wells.scss +29 -0
  67. data/app/assets/stylesheets/adhoq/bootstrap/bootstrap.scss +50 -0
  68. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_alerts.scss +14 -0
  69. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_background-variant.scss +11 -0
  70. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_border-radius.scss +18 -0
  71. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_buttons.scss +50 -0
  72. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_center-block.scss +7 -0
  73. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_clearfix.scss +22 -0
  74. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_forms.scss +84 -0
  75. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_gradients.scss +58 -0
  76. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_grid-framework.scss +81 -0
  77. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_grid.scss +122 -0
  78. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_hide-text.scss +21 -0
  79. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_image.scss +34 -0
  80. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_labels.scss +12 -0
  81. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_list-group.scss +31 -0
  82. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_nav-divider.scss +10 -0
  83. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  84. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_opacity.scss +8 -0
  85. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_pagination.scss +23 -0
  86. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_panels.scss +24 -0
  87. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_progress-bar.scss +10 -0
  88. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_reset-filter.scss +8 -0
  89. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_resize.scss +6 -0
  90. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_responsive-visibility.scss +21 -0
  91. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_size.scss +10 -0
  92. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_tab-focus.scss +9 -0
  93. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_table-row.scss +28 -0
  94. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_text-emphasis.scss +11 -0
  95. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_text-overflow.scss +8 -0
  96. data/app/assets/stylesheets/adhoq/bootstrap/mixins/_vendor-prefixes.scss +219 -0
  97. data/app/controllers/adhoq/application_controller.rb +5 -0
  98. data/app/controllers/adhoq/authorization_methods.rb +36 -0
  99. data/app/controllers/adhoq/executions_controller.rb +25 -0
  100. data/app/controllers/adhoq/previews_controller.rb +13 -0
  101. data/app/controllers/adhoq/queries_controller.rb +38 -0
  102. data/app/helpers/adhoq/application_helper.rb +11 -0
  103. data/app/models/adhoq/execution.rb +29 -0
  104. data/app/models/adhoq/query.rb +14 -0
  105. data/app/models/adhoq/report.rb +42 -0
  106. data/app/models/adhoq/time_based_orders.rb +9 -0
  107. data/app/views/adhoq/application/_global_nav.html.slim +11 -0
  108. data/app/views/adhoq/application/_sidebar_queries_index.html.slim +10 -0
  109. data/app/views/adhoq/previews/create.html.slim +12 -0
  110. data/app/views/adhoq/previews/statement_invalid.html.slim +5 -0
  111. data/app/views/adhoq/queries/_form.html.slim +38 -0
  112. data/app/views/adhoq/queries/_query.html.slim +43 -0
  113. data/app/views/adhoq/queries/edit.html.slim +2 -0
  114. data/app/views/adhoq/queries/index.html.slim +1 -0
  115. data/app/views/adhoq/queries/new.html.slim +2 -0
  116. data/app/views/adhoq/queries/show.html.slim +1 -0
  117. data/app/views/layouts/adhoq/application.html.slim +18 -0
  118. data/config/routes.rb +9 -0
  119. data/db/migrate/20141003095645_create_adhoq_queries.rb +11 -0
  120. data/db/migrate/20141006014750_create_adhoq_executions.rb +13 -0
  121. data/db/migrate/20141007052308_create_adhoq_reports.rb +12 -0
  122. data/lib/adhoq.rb +13 -0
  123. data/lib/adhoq/configuration.rb +21 -0
  124. data/lib/adhoq/engine.rb +15 -0
  125. data/lib/adhoq/error.rb +4 -0
  126. data/lib/adhoq/executor.rb +27 -0
  127. data/lib/adhoq/global_variable.rb +34 -0
  128. data/lib/adhoq/reporter.rb +5 -0
  129. data/lib/adhoq/reporter/xlsx.rb +32 -0
  130. data/lib/adhoq/result.rb +18 -0
  131. data/lib/adhoq/storage.rb +5 -0
  132. data/lib/adhoq/storage/local_file.rb +45 -0
  133. data/lib/adhoq/version.rb +3 -0
  134. data/lib/tasks/adhoq_tasks.rake +4 -0
  135. data/spec/adhoq/executor_spec.rb +11 -0
  136. data/spec/adhoq/storage_spec.rb +19 -0
  137. data/spec/factories/adhoq_queries.rb +29 -0
  138. data/spec/models/adhoq/execution_spec.rb +4 -0
  139. data/spec/models/adhoq/query_spec.rb +4 -0
  140. data/spec/models/adhoq/report_spec.rb +25 -0
  141. data/spec/spec_helper.rb +36 -0
  142. data/spec/support/have_values_in_xlsx_sheet_matcher.rb +20 -0
  143. metadata +375 -0
@@ -0,0 +1,157 @@
1
+ //
2
+ // Buttons
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base styles
7
+ // --------------------------------------------------
8
+
9
+ .btn {
10
+ display: inline-block;
11
+ margin-bottom: 0; // For input.btn
12
+ font-weight: $btn-font-weight;
13
+ text-align: center;
14
+ vertical-align: middle;
15
+ cursor: pointer;
16
+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
17
+ border: 1px solid transparent;
18
+ white-space: nowrap;
19
+ @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $border-radius-base);
20
+ @include user-select(none);
21
+
22
+ &,
23
+ &:active,
24
+ &.active {
25
+ &:focus {
26
+ @include tab-focus();
27
+ }
28
+ }
29
+
30
+ &:hover,
31
+ &:focus {
32
+ color: $btn-default-color;
33
+ text-decoration: none;
34
+ }
35
+
36
+ &:active,
37
+ &.active {
38
+ outline: 0;
39
+ background-image: none;
40
+ @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
41
+ }
42
+
43
+ &.disabled,
44
+ &[disabled],
45
+ fieldset[disabled] & {
46
+ cursor: not-allowed;
47
+ pointer-events: none; // Future-proof disabling of clicks
48
+ @include opacity(.65);
49
+ @include box-shadow(none);
50
+ }
51
+ }
52
+
53
+
54
+ // Alternate buttons
55
+ // --------------------------------------------------
56
+
57
+ .btn-default {
58
+ @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border);
59
+ }
60
+ .btn-primary {
61
+ @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
62
+ }
63
+ // Success appears as green
64
+ .btn-success {
65
+ @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border);
66
+ }
67
+ // Info appears as blue-green
68
+ .btn-info {
69
+ @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border);
70
+ }
71
+ // Warning appears as orange
72
+ .btn-warning {
73
+ @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border);
74
+ }
75
+ // Danger and error appear as red
76
+ .btn-danger {
77
+ @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border);
78
+ }
79
+
80
+
81
+ // Link buttons
82
+ // -------------------------
83
+
84
+ // Make a button look and behave like a link
85
+ .btn-link {
86
+ color: $link-color;
87
+ font-weight: normal;
88
+ cursor: pointer;
89
+ border-radius: 0;
90
+
91
+ &,
92
+ &:active,
93
+ &[disabled],
94
+ fieldset[disabled] & {
95
+ background-color: transparent;
96
+ @include box-shadow(none);
97
+ }
98
+ &,
99
+ &:hover,
100
+ &:focus,
101
+ &:active {
102
+ border-color: transparent;
103
+ }
104
+ &:hover,
105
+ &:focus {
106
+ color: $link-hover-color;
107
+ text-decoration: underline;
108
+ background-color: transparent;
109
+ }
110
+ &[disabled],
111
+ fieldset[disabled] & {
112
+ &:hover,
113
+ &:focus {
114
+ color: $btn-link-disabled-color;
115
+ text-decoration: none;
116
+ }
117
+ }
118
+ }
119
+
120
+
121
+ // Button Sizes
122
+ // --------------------------------------------------
123
+
124
+ .btn-lg {
125
+ // line-height: ensure even-numbered height of button next to large input
126
+ @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large);
127
+ }
128
+ .btn-sm {
129
+ // line-height: ensure proper height of button next to small input
130
+ @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small);
131
+ }
132
+ .btn-xs {
133
+ @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $border-radius-small);
134
+ }
135
+
136
+
137
+ // Block button
138
+ // --------------------------------------------------
139
+
140
+ .btn-block {
141
+ display: block;
142
+ width: 100%;
143
+ }
144
+
145
+ // Vertically space out multiple block buttons
146
+ .btn-block + .btn-block {
147
+ margin-top: 5px;
148
+ }
149
+
150
+ // Specificity overrides
151
+ input[type="submit"],
152
+ input[type="reset"],
153
+ input[type="button"] {
154
+ &.btn-block {
155
+ width: 100%;
156
+ }
157
+ }
@@ -0,0 +1,243 @@
1
+ //
2
+ // Carousel
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Wrapper for the slide container and indicators
7
+ .carousel {
8
+ position: relative;
9
+ }
10
+
11
+ .carousel-inner {
12
+ position: relative;
13
+ overflow: hidden;
14
+ width: 100%;
15
+
16
+ > .item {
17
+ display: none;
18
+ position: relative;
19
+ @include transition(.6s ease-in-out left);
20
+
21
+ // Account for jankitude on images
22
+ > img,
23
+ > a > img {
24
+ @include img-responsive();
25
+ line-height: 1;
26
+ }
27
+ }
28
+
29
+ > .active,
30
+ > .next,
31
+ > .prev {
32
+ display: block;
33
+ }
34
+
35
+ > .active {
36
+ left: 0;
37
+ }
38
+
39
+ > .next,
40
+ > .prev {
41
+ position: absolute;
42
+ top: 0;
43
+ width: 100%;
44
+ }
45
+
46
+ > .next {
47
+ left: 100%;
48
+ }
49
+ > .prev {
50
+ left: -100%;
51
+ }
52
+ > .next.left,
53
+ > .prev.right {
54
+ left: 0;
55
+ }
56
+
57
+ > .active.left {
58
+ left: -100%;
59
+ }
60
+ > .active.right {
61
+ left: 100%;
62
+ }
63
+
64
+ }
65
+
66
+ // Left/right controls for nav
67
+ // ---------------------------
68
+
69
+ .carousel-control {
70
+ position: absolute;
71
+ top: 0;
72
+ left: 0;
73
+ bottom: 0;
74
+ width: $carousel-control-width;
75
+ @include opacity($carousel-control-opacity);
76
+ font-size: $carousel-control-font-size;
77
+ color: $carousel-control-color;
78
+ text-align: center;
79
+ text-shadow: $carousel-text-shadow;
80
+ // We can't have this transition here because WebKit cancels the carousel
81
+ // animation if you trip this while in the middle of another animation.
82
+
83
+ // Set gradients for backgrounds
84
+ &.left {
85
+ @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));
86
+ }
87
+ &.right {
88
+ left: auto;
89
+ right: 0;
90
+ @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));
91
+ }
92
+
93
+ // Hover/focus state
94
+ &:hover,
95
+ &:focus {
96
+ outline: 0;
97
+ color: $carousel-control-color;
98
+ text-decoration: none;
99
+ @include opacity(.9);
100
+ }
101
+
102
+ // Toggles
103
+ .icon-prev,
104
+ .icon-next,
105
+ .glyphicon-chevron-left,
106
+ .glyphicon-chevron-right {
107
+ position: absolute;
108
+ top: 50%;
109
+ z-index: 5;
110
+ display: inline-block;
111
+ }
112
+ .icon-prev,
113
+ .glyphicon-chevron-left {
114
+ left: 50%;
115
+ margin-left: -10px;
116
+ }
117
+ .icon-next,
118
+ .glyphicon-chevron-right {
119
+ right: 50%;
120
+ margin-right: -10px;
121
+ }
122
+ .icon-prev,
123
+ .icon-next {
124
+ width: 20px;
125
+ height: 20px;
126
+ margin-top: -10px;
127
+ font-family: serif;
128
+ }
129
+
130
+
131
+ .icon-prev {
132
+ &:before {
133
+ content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
134
+ }
135
+ }
136
+ .icon-next {
137
+ &:before {
138
+ content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
139
+ }
140
+ }
141
+ }
142
+
143
+ // Optional indicator pips
144
+ //
145
+ // Add an unordered list with the following class and add a list item for each
146
+ // slide your carousel holds.
147
+
148
+ .carousel-indicators {
149
+ position: absolute;
150
+ bottom: 10px;
151
+ left: 50%;
152
+ z-index: 15;
153
+ width: 60%;
154
+ margin-left: -30%;
155
+ padding-left: 0;
156
+ list-style: none;
157
+ text-align: center;
158
+
159
+ li {
160
+ display: inline-block;
161
+ width: 10px;
162
+ height: 10px;
163
+ margin: 1px;
164
+ text-indent: -999px;
165
+ border: 1px solid $carousel-indicator-border-color;
166
+ border-radius: 10px;
167
+ cursor: pointer;
168
+
169
+ // IE8-9 hack for event handling
170
+ //
171
+ // Internet Explorer 8-9 does not support clicks on elements without a set
172
+ // `background-color`. We cannot use `filter` since that's not viewed as a
173
+ // background color by the browser. Thus, a hack is needed.
174
+ //
175
+ // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
176
+ // set alpha transparency for the best results possible.
177
+ background-color: #000 \9; // IE8
178
+ background-color: rgba(0,0,0,0); // IE9
179
+ }
180
+ .active {
181
+ margin: 0;
182
+ width: 12px;
183
+ height: 12px;
184
+ background-color: $carousel-indicator-active-bg;
185
+ }
186
+ }
187
+
188
+ // Optional captions
189
+ // -----------------------------
190
+ // Hidden by default for smaller viewports
191
+ .carousel-caption {
192
+ position: absolute;
193
+ left: 15%;
194
+ right: 15%;
195
+ bottom: 20px;
196
+ z-index: 10;
197
+ padding-top: 20px;
198
+ padding-bottom: 20px;
199
+ color: $carousel-caption-color;
200
+ text-align: center;
201
+ text-shadow: $carousel-text-shadow;
202
+ & .btn {
203
+ text-shadow: none; // No shadow for button elements in carousel-caption
204
+ }
205
+ }
206
+
207
+
208
+ // Scale up controls for tablets and up
209
+ @media screen and (min-width: $screen-sm-min) {
210
+
211
+ // Scale up the controls a smidge
212
+ .carousel-control {
213
+ .glyphicon-chevron-left,
214
+ .glyphicon-chevron-right,
215
+ .icon-prev,
216
+ .icon-next {
217
+ width: 30px;
218
+ height: 30px;
219
+ margin-top: -15px;
220
+ font-size: 30px;
221
+ }
222
+ .glyphicon-chevron-left,
223
+ .icon-prev {
224
+ margin-left: -15px;
225
+ }
226
+ .glyphicon-chevron-right,
227
+ .icon-next {
228
+ margin-right: -15px;
229
+ }
230
+ }
231
+
232
+ // Show and left align the captions
233
+ .carousel-caption {
234
+ left: 20%;
235
+ right: 20%;
236
+ padding-bottom: 30px;
237
+ }
238
+
239
+ // Move up the indicators
240
+ .carousel-indicators {
241
+ bottom: 20px;
242
+ }
243
+ }
@@ -0,0 +1,35 @@
1
+ //
2
+ // Close icons
3
+ // --------------------------------------------------
4
+
5
+
6
+ .close {
7
+ float: right;
8
+ font-size: ($font-size-base * 1.5);
9
+ font-weight: $close-font-weight;
10
+ line-height: 1;
11
+ color: $close-color;
12
+ text-shadow: $close-text-shadow;
13
+ @include opacity(.2);
14
+
15
+ &:hover,
16
+ &:focus {
17
+ color: $close-color;
18
+ text-decoration: none;
19
+ cursor: pointer;
20
+ @include opacity(.5);
21
+ }
22
+
23
+ // [converter] extracted button& to button.close
24
+ }
25
+
26
+ // Additional properties for button version
27
+ // iOS requires the button element instead of an anchor tag.
28
+ // If you want the anchor version, it requires `href="#"`.
29
+ button.close {
30
+ padding: 0;
31
+ cursor: pointer;
32
+ background: transparent;
33
+ border: 0;
34
+ -webkit-appearance: none;
35
+ }
@@ -0,0 +1,68 @@
1
+ //
2
+ // Code (inline and block)
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Inline and block code styles
7
+ code,
8
+ kbd,
9
+ pre,
10
+ samp {
11
+ font-family: $font-family-monospace;
12
+ }
13
+
14
+ // Inline code
15
+ code {
16
+ padding: 2px 4px;
17
+ font-size: 90%;
18
+ color: $code-color;
19
+ background-color: $code-bg;
20
+ border-radius: $border-radius-base;
21
+ }
22
+
23
+ // User input typically entered via keyboard
24
+ kbd {
25
+ padding: 2px 4px;
26
+ font-size: 90%;
27
+ color: $kbd-color;
28
+ background-color: $kbd-bg;
29
+ border-radius: $border-radius-small;
30
+ box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
31
+
32
+ kbd {
33
+ padding: 0;
34
+ font-size: 100%;
35
+ box-shadow: none;
36
+ }
37
+ }
38
+
39
+ // Blocks of code
40
+ pre {
41
+ display: block;
42
+ padding: (($line-height-computed - 1) / 2);
43
+ margin: 0 0 ($line-height-computed / 2);
44
+ font-size: ($font-size-base - 1); // 14px to 13px
45
+ line-height: $line-height-base;
46
+ word-break: break-all;
47
+ word-wrap: break-word;
48
+ color: $pre-color;
49
+ background-color: $pre-bg;
50
+ border: 1px solid $pre-border-color;
51
+ border-radius: $border-radius-base;
52
+
53
+ // Account for some code outputs that place code tags in pre tags
54
+ code {
55
+ padding: 0;
56
+ font-size: inherit;
57
+ color: inherit;
58
+ white-space: pre-wrap;
59
+ background-color: transparent;
60
+ border-radius: 0;
61
+ }
62
+ }
63
+
64
+ // Enable scrollable blocks of code
65
+ .pre-scrollable {
66
+ max-height: $pre-scrollable-max-height;
67
+ overflow-y: scroll;
68
+ }