dataclips 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +34 -0
  5. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  6. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +288 -0
  7. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  8. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  9. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  10. data/app/assets/images/dataclips/slickgrid/sort-asc.png +0 -0
  11. data/app/assets/images/dataclips/slickgrid/sort-desc.png +0 -0
  12. data/app/assets/javascripts/dataclips/application.js +26 -0
  13. data/app/assets/javascripts/dataclips/backbone.js +1608 -0
  14. data/app/assets/javascripts/dataclips/dataclips.js.coffee +168 -0
  15. data/app/assets/javascripts/dataclips/formatters.js.coffee +14 -0
  16. data/app/assets/javascripts/dataclips/namespace.js.coffee +1 -0
  17. data/app/assets/javascripts/dataclips/record.js.coffee +39 -0
  18. data/app/assets/javascripts/dataclips/slickgrid.js +5 -0
  19. data/app/assets/javascripts/dataclips/slickgrid/jquery.event.drag-2.2.js +402 -0
  20. data/app/assets/javascripts/dataclips/slickgrid/plugins/slick.rowselectionmodel.js +187 -0
  21. data/app/assets/javascripts/dataclips/slickgrid/slick.core.js +458 -0
  22. data/app/assets/javascripts/dataclips/slickgrid/slick.dataview.js +1063 -0
  23. data/app/assets/javascripts/dataclips/slickgrid/slick.grid.js +3309 -0
  24. data/app/assets/javascripts/dataclips/underscore.js +1416 -0
  25. data/app/assets/stylesheets/bootstrap/_alerts.scss +68 -0
  26. data/app/assets/stylesheets/bootstrap/_badges.scss +63 -0
  27. data/app/assets/stylesheets/bootstrap/_breadcrumbs.scss +26 -0
  28. data/app/assets/stylesheets/bootstrap/_button-groups.scss +243 -0
  29. data/app/assets/stylesheets/bootstrap/_buttons.scss +160 -0
  30. data/app/assets/stylesheets/bootstrap/_carousel.scss +267 -0
  31. data/app/assets/stylesheets/bootstrap/_close.scss +35 -0
  32. data/app/assets/stylesheets/bootstrap/_code.scss +69 -0
  33. data/app/assets/stylesheets/bootstrap/_component-animations.scss +38 -0
  34. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +213 -0
  35. data/app/assets/stylesheets/bootstrap/_forms.scss +548 -0
  36. data/app/assets/stylesheets/bootstrap/_glyphicons.scss +234 -0
  37. data/app/assets/stylesheets/bootstrap/_grid.scss +84 -0
  38. data/app/assets/stylesheets/bootstrap/_input-groups.scss +166 -0
  39. data/app/assets/stylesheets/bootstrap/_jumbotron.scss +49 -0
  40. data/app/assets/stylesheets/bootstrap/_labels.scss +66 -0
  41. data/app/assets/stylesheets/bootstrap/_list-group.scss +124 -0
  42. data/app/assets/stylesheets/bootstrap/_media.scss +47 -0
  43. data/app/assets/stylesheets/bootstrap/_mixins.scss +39 -0
  44. data/app/assets/stylesheets/bootstrap/_modals.scss +148 -0
  45. data/app/assets/stylesheets/bootstrap/_navbar.scss +662 -0
  46. data/app/assets/stylesheets/bootstrap/_navs.scss +244 -0
  47. data/app/assets/stylesheets/bootstrap/_normalize.scss +427 -0
  48. data/app/assets/stylesheets/bootstrap/_pager.scss +54 -0
  49. data/app/assets/stylesheets/bootstrap/_pagination.scss +88 -0
  50. data/app/assets/stylesheets/bootstrap/_panels.scss +261 -0
  51. data/app/assets/stylesheets/bootstrap/_popovers.scss +135 -0
  52. data/app/assets/stylesheets/bootstrap/_print.scss +107 -0
  53. data/app/assets/stylesheets/bootstrap/_progress-bars.scss +87 -0
  54. data/app/assets/stylesheets/bootstrap/_responsive-embed.scss +35 -0
  55. data/app/assets/stylesheets/bootstrap/_responsive-utilities.scss +174 -0
  56. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +150 -0
  57. data/app/assets/stylesheets/bootstrap/_tables.scss +234 -0
  58. data/app/assets/stylesheets/bootstrap/_theme.scss +272 -0
  59. data/app/assets/stylesheets/bootstrap/_thumbnails.scss +38 -0
  60. data/app/assets/stylesheets/bootstrap/_tooltip.scss +103 -0
  61. data/app/assets/stylesheets/bootstrap/_type.scss +298 -0
  62. data/app/assets/stylesheets/bootstrap/_utilities.scss +56 -0
  63. data/app/assets/stylesheets/bootstrap/_variables.scss +864 -0
  64. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  65. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +14 -0
  66. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +11 -0
  67. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  68. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +52 -0
  69. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  70. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  71. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +88 -0
  72. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +58 -0
  73. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  74. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  75. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  76. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +33 -0
  77. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  78. data/app/assets/stylesheets/bootstrap/mixins/_list-group.scss +31 -0
  79. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  80. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  81. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +8 -0
  82. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +23 -0
  83. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +24 -0
  84. data/app/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +10 -0
  85. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  86. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  87. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +21 -0
  88. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  89. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  90. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  91. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +11 -0
  92. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  93. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  94. data/app/assets/stylesheets/dataclips/_bootstrap.scss +53 -0
  95. data/app/assets/stylesheets/dataclips/application.css +18 -0
  96. data/app/assets/stylesheets/dataclips/slickgrid/slickgrid.sass +341 -0
  97. data/app/controllers/dataclips/application_controller.rb +31 -0
  98. data/app/controllers/dataclips/clips_controller.rb +46 -0
  99. data/app/controllers/dataclips/insights_controller.rb +45 -0
  100. data/app/helpers/dataclips/application_helper.rb +4 -0
  101. data/app/models/dataclips/clip.rb +79 -0
  102. data/app/models/dataclips/insight.rb +18 -0
  103. data/app/models/dataclips/sql_query.rb +36 -0
  104. data/app/views/dataclips/application/_boolean.html.erb +1 -0
  105. data/app/views/dataclips/application/_date.html.erb +22 -0
  106. data/app/views/dataclips/application/_datetime.html.erb +25 -0
  107. data/app/views/dataclips/application/_float.html.erb +7 -0
  108. data/app/views/dataclips/application/_integer.html.erb +7 -0
  109. data/app/views/dataclips/application/_text.html.erb +10 -0
  110. data/app/views/dataclips/application/_time.html.erb +23 -0
  111. data/app/views/dataclips/clips/edit.html.erb +14 -0
  112. data/app/views/dataclips/clips/show.html.erb +109 -0
  113. data/app/views/dataclips/insights/show.html.erb +99 -0
  114. data/app/views/layouts/dataclips/application.html.erb +14 -0
  115. data/config/initializers/assets.rb +1 -0
  116. data/config/routes.rb +9 -0
  117. data/db/migrate/20150101143530_create_dataclips_insights.rb +12 -0
  118. data/lib/dataclips.rb +47 -0
  119. data/lib/dataclips/engine.rb +29 -0
  120. data/lib/dataclips/version.rb +3 -0
  121. data/lib/tasks/dataclips_tasks.rake +4 -0
  122. data/test/dataclips_test.rb +7 -0
  123. data/test/dummy/README.rdoc +28 -0
  124. data/test/dummy/Rakefile +6 -0
  125. data/test/dummy/app/assets/javascripts/application.js +13 -0
  126. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  127. data/test/dummy/app/controllers/application_controller.rb +5 -0
  128. data/test/dummy/app/helpers/application_helper.rb +2 -0
  129. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  130. data/test/dummy/bin/bundle +3 -0
  131. data/test/dummy/bin/rails +4 -0
  132. data/test/dummy/bin/rake +4 -0
  133. data/test/dummy/config.ru +4 -0
  134. data/test/dummy/config/application.rb +23 -0
  135. data/test/dummy/config/boot.rb +5 -0
  136. data/test/dummy/config/database.yml +25 -0
  137. data/test/dummy/config/environment.rb +5 -0
  138. data/test/dummy/config/environments/development.rb +37 -0
  139. data/test/dummy/config/environments/production.rb +78 -0
  140. data/test/dummy/config/environments/test.rb +39 -0
  141. data/test/dummy/config/initializers/assets.rb +8 -0
  142. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  143. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  144. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  145. data/test/dummy/config/initializers/inflections.rb +16 -0
  146. data/test/dummy/config/initializers/mime_types.rb +4 -0
  147. data/test/dummy/config/initializers/session_store.rb +3 -0
  148. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  149. data/test/dummy/config/locales/en.yml +23 -0
  150. data/test/dummy/config/routes.rb +4 -0
  151. data/test/dummy/config/secrets.yml +22 -0
  152. data/test/dummy/public/404.html +67 -0
  153. data/test/dummy/public/422.html +67 -0
  154. data/test/dummy/public/500.html +66 -0
  155. data/test/dummy/public/favicon.ico +0 -0
  156. data/test/integration/navigation_test.rb +10 -0
  157. data/test/test_helper.rb +17 -0
  158. metadata +348 -0
@@ -0,0 +1,244 @@
1
+ //
2
+ // Navs
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base class
7
+ // --------------------------------------------------
8
+
9
+ .nav {
10
+ margin-bottom: 0;
11
+ padding-left: 0; // Override default ul/ol
12
+ list-style: none;
13
+ @include clearfix;
14
+
15
+ > li {
16
+ position: relative;
17
+ display: block;
18
+
19
+ > a {
20
+ position: relative;
21
+ display: block;
22
+ padding: $nav-link-padding;
23
+ &:hover,
24
+ &:focus {
25
+ text-decoration: none;
26
+ background-color: $nav-link-hover-bg;
27
+ }
28
+ }
29
+
30
+ // Disabled state sets text to gray and nukes hover/tab effects
31
+ &.disabled > a {
32
+ color: $nav-disabled-link-color;
33
+
34
+ &:hover,
35
+ &:focus {
36
+ color: $nav-disabled-link-hover-color;
37
+ text-decoration: none;
38
+ background-color: transparent;
39
+ cursor: $cursor-disabled;
40
+ }
41
+ }
42
+ }
43
+
44
+ // Open dropdowns
45
+ .open > a {
46
+ &,
47
+ &:hover,
48
+ &:focus {
49
+ background-color: $nav-link-hover-bg;
50
+ border-color: $link-color;
51
+ }
52
+ }
53
+
54
+ // Nav dividers (deprecated with v3.0.1)
55
+ //
56
+ // This should have been removed in v3 with the dropping of `.nav-list`, but
57
+ // we missed it. We don't currently support this anywhere, but in the interest
58
+ // of maintaining backward compatibility in case you use it, it's deprecated.
59
+ .nav-divider {
60
+ @include nav-divider;
61
+ }
62
+
63
+ // Prevent IE8 from misplacing imgs
64
+ //
65
+ // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
66
+ > li > a > img {
67
+ max-width: none;
68
+ }
69
+ }
70
+
71
+
72
+ // Tabs
73
+ // -------------------------
74
+
75
+ // Give the tabs something to sit on
76
+ .nav-tabs {
77
+ border-bottom: 1px solid $nav-tabs-border-color;
78
+ > li {
79
+ float: left;
80
+ // Make the list-items overlay the bottom border
81
+ margin-bottom: -1px;
82
+
83
+ // Actual tabs (as links)
84
+ > a {
85
+ margin-right: 2px;
86
+ line-height: $line-height-base;
87
+ border: 1px solid transparent;
88
+ border-radius: $border-radius-base $border-radius-base 0 0;
89
+ &:hover {
90
+ border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;
91
+ }
92
+ }
93
+
94
+ // Active state, and its :hover to override normal :hover
95
+ &.active > a {
96
+ &,
97
+ &:hover,
98
+ &:focus {
99
+ color: $nav-tabs-active-link-hover-color;
100
+ background-color: $nav-tabs-active-link-hover-bg;
101
+ border: 1px solid $nav-tabs-active-link-hover-border-color;
102
+ border-bottom-color: transparent;
103
+ cursor: default;
104
+ }
105
+ }
106
+ }
107
+ // pulling this in mainly for less shorthand
108
+ &.nav-justified {
109
+ @extend .nav-justified;
110
+ @extend .nav-tabs-justified;
111
+ }
112
+ }
113
+
114
+
115
+ // Pills
116
+ // -------------------------
117
+ .nav-pills {
118
+ > li {
119
+ float: left;
120
+
121
+ // Links rendered as pills
122
+ > a {
123
+ border-radius: $nav-pills-border-radius;
124
+ }
125
+ + li {
126
+ margin-left: 2px;
127
+ }
128
+
129
+ // Active state
130
+ &.active > a {
131
+ &,
132
+ &:hover,
133
+ &:focus {
134
+ color: $nav-pills-active-link-hover-color;
135
+ background-color: $nav-pills-active-link-hover-bg;
136
+ }
137
+ }
138
+ }
139
+ }
140
+
141
+
142
+ // Stacked pills
143
+ .nav-stacked {
144
+ > li {
145
+ float: none;
146
+ + li {
147
+ margin-top: 2px;
148
+ margin-left: 0; // no need for this gap between nav items
149
+ }
150
+ }
151
+ }
152
+
153
+
154
+ // Nav variations
155
+ // --------------------------------------------------
156
+
157
+ // Justified nav links
158
+ // -------------------------
159
+
160
+ .nav-justified {
161
+ width: 100%;
162
+
163
+ > li {
164
+ float: none;
165
+ > a {
166
+ text-align: center;
167
+ margin-bottom: 5px;
168
+ }
169
+ }
170
+
171
+ > .dropdown .dropdown-menu {
172
+ top: auto;
173
+ left: auto;
174
+ }
175
+
176
+ @media (min-width: $screen-sm-min) {
177
+ > li {
178
+ display: table-cell;
179
+ width: 1%;
180
+ > a {
181
+ margin-bottom: 0;
182
+ }
183
+ }
184
+ }
185
+ }
186
+
187
+ // Move borders to anchors instead of bottom of list
188
+ //
189
+ // Mixin for adding on top the shared `.nav-justified` styles for our tabs
190
+ .nav-tabs-justified {
191
+ border-bottom: 0;
192
+
193
+ > li > a {
194
+ // Override margin from .nav-tabs
195
+ margin-right: 0;
196
+ border-radius: $border-radius-base;
197
+ }
198
+
199
+ > .active > a,
200
+ > .active > a:hover,
201
+ > .active > a:focus {
202
+ border: 1px solid $nav-tabs-justified-link-border-color;
203
+ }
204
+
205
+ @media (min-width: $screen-sm-min) {
206
+ > li > a {
207
+ border-bottom: 1px solid $nav-tabs-justified-link-border-color;
208
+ border-radius: $border-radius-base $border-radius-base 0 0;
209
+ }
210
+ > .active > a,
211
+ > .active > a:hover,
212
+ > .active > a:focus {
213
+ border-bottom-color: $nav-tabs-justified-active-link-border-color;
214
+ }
215
+ }
216
+ }
217
+
218
+
219
+ // Tabbable tabs
220
+ // -------------------------
221
+
222
+ // Hide tabbable panes to start, show them when `.active`
223
+ .tab-content {
224
+ > .tab-pane {
225
+ display: none;
226
+ visibility: hidden;
227
+ }
228
+ > .active {
229
+ display: block;
230
+ visibility: visible;
231
+ }
232
+ }
233
+
234
+
235
+ // Dropdowns
236
+ // -------------------------
237
+
238
+ // Specific dropdowns
239
+ .nav-tabs .dropdown-menu {
240
+ // make dropdown border overlap tab border
241
+ margin-top: -1px;
242
+ // Remove the top rounded corners here since there is a hard edge above the menu
243
+ @include border-top-radius(0);
244
+ }
@@ -0,0 +1,427 @@
1
+ /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
2
+
3
+ //
4
+ // 1. Set default font family to sans-serif.
5
+ // 2. Prevent iOS text size adjust after orientation change, without disabling
6
+ // user zoom.
7
+ //
8
+
9
+ html {
10
+ font-family: sans-serif; // 1
11
+ -ms-text-size-adjust: 100%; // 2
12
+ -webkit-text-size-adjust: 100%; // 2
13
+ }
14
+
15
+ //
16
+ // Remove default margin.
17
+ //
18
+
19
+ body {
20
+ margin: 0;
21
+ }
22
+
23
+ // HTML5 display definitions
24
+ // ==========================================================================
25
+
26
+ //
27
+ // Correct `block` display not defined for any HTML5 element in IE 8/9.
28
+ // Correct `block` display not defined for `details` or `summary` in IE 10/11
29
+ // and Firefox.
30
+ // Correct `block` display not defined for `main` in IE 11.
31
+ //
32
+
33
+ article,
34
+ aside,
35
+ details,
36
+ figcaption,
37
+ figure,
38
+ footer,
39
+ header,
40
+ hgroup,
41
+ main,
42
+ menu,
43
+ nav,
44
+ section,
45
+ summary {
46
+ display: block;
47
+ }
48
+
49
+ //
50
+ // 1. Correct `inline-block` display not defined in IE 8/9.
51
+ // 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
52
+ //
53
+
54
+ audio,
55
+ canvas,
56
+ progress,
57
+ video {
58
+ display: inline-block; // 1
59
+ vertical-align: baseline; // 2
60
+ }
61
+
62
+ //
63
+ // Prevent modern browsers from displaying `audio` without controls.
64
+ // Remove excess height in iOS 5 devices.
65
+ //
66
+
67
+ audio:not([controls]) {
68
+ display: none;
69
+ height: 0;
70
+ }
71
+
72
+ //
73
+ // Address `[hidden]` styling not present in IE 8/9/10.
74
+ // Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
75
+ //
76
+
77
+ [hidden],
78
+ template {
79
+ display: none;
80
+ }
81
+
82
+ // Links
83
+ // ==========================================================================
84
+
85
+ //
86
+ // Remove the gray background color from active links in IE 10.
87
+ //
88
+
89
+ a {
90
+ background-color: transparent;
91
+ }
92
+
93
+ //
94
+ // Improve readability when focused and also mouse hovered in all browsers.
95
+ //
96
+
97
+ a:active,
98
+ a:hover {
99
+ outline: 0;
100
+ }
101
+
102
+ // Text-level semantics
103
+ // ==========================================================================
104
+
105
+ //
106
+ // Address styling not present in IE 8/9/10/11, Safari, and Chrome.
107
+ //
108
+
109
+ abbr[title] {
110
+ border-bottom: 1px dotted;
111
+ }
112
+
113
+ //
114
+ // Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
115
+ //
116
+
117
+ b,
118
+ strong {
119
+ font-weight: bold;
120
+ }
121
+
122
+ //
123
+ // Address styling not present in Safari and Chrome.
124
+ //
125
+
126
+ dfn {
127
+ font-style: italic;
128
+ }
129
+
130
+ //
131
+ // Address variable `h1` font-size and margin within `section` and `article`
132
+ // contexts in Firefox 4+, Safari, and Chrome.
133
+ //
134
+
135
+ h1 {
136
+ font-size: 2em;
137
+ margin: 0.67em 0;
138
+ }
139
+
140
+ //
141
+ // Address styling not present in IE 8/9.
142
+ //
143
+
144
+ mark {
145
+ background: #ff0;
146
+ color: #000;
147
+ }
148
+
149
+ //
150
+ // Address inconsistent and variable font size in all browsers.
151
+ //
152
+
153
+ small {
154
+ font-size: 80%;
155
+ }
156
+
157
+ //
158
+ // Prevent `sub` and `sup` affecting `line-height` in all browsers.
159
+ //
160
+
161
+ sub,
162
+ sup {
163
+ font-size: 75%;
164
+ line-height: 0;
165
+ position: relative;
166
+ vertical-align: baseline;
167
+ }
168
+
169
+ sup {
170
+ top: -0.5em;
171
+ }
172
+
173
+ sub {
174
+ bottom: -0.25em;
175
+ }
176
+
177
+ // Embedded content
178
+ // ==========================================================================
179
+
180
+ //
181
+ // Remove border when inside `a` element in IE 8/9/10.
182
+ //
183
+
184
+ img {
185
+ border: 0;
186
+ }
187
+
188
+ //
189
+ // Correct overflow not hidden in IE 9/10/11.
190
+ //
191
+
192
+ svg:not(:root) {
193
+ overflow: hidden;
194
+ }
195
+
196
+ // Grouping content
197
+ // ==========================================================================
198
+
199
+ //
200
+ // Address margin not present in IE 8/9 and Safari.
201
+ //
202
+
203
+ figure {
204
+ margin: 1em 40px;
205
+ }
206
+
207
+ //
208
+ // Address differences between Firefox and other browsers.
209
+ //
210
+
211
+ hr {
212
+ -moz-box-sizing: content-box;
213
+ box-sizing: content-box;
214
+ height: 0;
215
+ }
216
+
217
+ //
218
+ // Contain overflow in all browsers.
219
+ //
220
+
221
+ pre {
222
+ overflow: auto;
223
+ }
224
+
225
+ //
226
+ // Address odd `em`-unit font size rendering in all browsers.
227
+ //
228
+
229
+ code,
230
+ kbd,
231
+ pre,
232
+ samp {
233
+ font-family: monospace, monospace;
234
+ font-size: 1em;
235
+ }
236
+
237
+ // Forms
238
+ // ==========================================================================
239
+
240
+ //
241
+ // Known limitation: by default, Chrome and Safari on OS X allow very limited
242
+ // styling of `select`, unless a `border` property is set.
243
+ //
244
+
245
+ //
246
+ // 1. Correct color not being inherited.
247
+ // Known issue: affects color of disabled elements.
248
+ // 2. Correct font properties not being inherited.
249
+ // 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
250
+ //
251
+
252
+ button,
253
+ input,
254
+ optgroup,
255
+ select,
256
+ textarea {
257
+ color: inherit; // 1
258
+ font: inherit; // 2
259
+ margin: 0; // 3
260
+ }
261
+
262
+ //
263
+ // Address `overflow` set to `hidden` in IE 8/9/10/11.
264
+ //
265
+
266
+ button {
267
+ overflow: visible;
268
+ }
269
+
270
+ //
271
+ // Address inconsistent `text-transform` inheritance for `button` and `select`.
272
+ // All other form control elements do not inherit `text-transform` values.
273
+ // Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
274
+ // Correct `select` style inheritance in Firefox.
275
+ //
276
+
277
+ button,
278
+ select {
279
+ text-transform: none;
280
+ }
281
+
282
+ //
283
+ // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
284
+ // and `video` controls.
285
+ // 2. Correct inability to style clickable `input` types in iOS.
286
+ // 3. Improve usability and consistency of cursor style between image-type
287
+ // `input` and others.
288
+ //
289
+
290
+ button,
291
+ html input[type="button"], // 1
292
+ input[type="reset"],
293
+ input[type="submit"] {
294
+ -webkit-appearance: button; // 2
295
+ cursor: pointer; // 3
296
+ }
297
+
298
+ //
299
+ // Re-set default cursor for disabled elements.
300
+ //
301
+
302
+ button[disabled],
303
+ html input[disabled] {
304
+ cursor: default;
305
+ }
306
+
307
+ //
308
+ // Remove inner padding and border in Firefox 4+.
309
+ //
310
+
311
+ button::-moz-focus-inner,
312
+ input::-moz-focus-inner {
313
+ border: 0;
314
+ padding: 0;
315
+ }
316
+
317
+ //
318
+ // Address Firefox 4+ setting `line-height` on `input` using `!important` in
319
+ // the UA stylesheet.
320
+ //
321
+
322
+ input {
323
+ line-height: normal;
324
+ }
325
+
326
+ //
327
+ // It's recommended that you don't attempt to style these elements.
328
+ // Firefox's implementation doesn't respect box-sizing, padding, or width.
329
+ //
330
+ // 1. Address box sizing set to `content-box` in IE 8/9/10.
331
+ // 2. Remove excess padding in IE 8/9/10.
332
+ //
333
+
334
+ input[type="checkbox"],
335
+ input[type="radio"] {
336
+ box-sizing: border-box; // 1
337
+ padding: 0; // 2
338
+ }
339
+
340
+ //
341
+ // Fix the cursor style for Chrome's increment/decrement buttons. For certain
342
+ // `font-size` values of the `input`, it causes the cursor style of the
343
+ // decrement button to change from `default` to `text`.
344
+ //
345
+
346
+ input[type="number"]::-webkit-inner-spin-button,
347
+ input[type="number"]::-webkit-outer-spin-button {
348
+ height: auto;
349
+ }
350
+
351
+ //
352
+ // 1. Address `appearance` set to `searchfield` in Safari and Chrome.
353
+ // 2. Address `box-sizing` set to `border-box` in Safari and Chrome
354
+ // (include `-moz` to future-proof).
355
+ //
356
+
357
+ input[type="search"] {
358
+ -webkit-appearance: textfield; // 1
359
+ -moz-box-sizing: content-box;
360
+ -webkit-box-sizing: content-box; // 2
361
+ box-sizing: content-box;
362
+ }
363
+
364
+ //
365
+ // Remove inner padding and search cancel button in Safari and Chrome on OS X.
366
+ // Safari (but not Chrome) clips the cancel button when the search input has
367
+ // padding (and `textfield` appearance).
368
+ //
369
+
370
+ input[type="search"]::-webkit-search-cancel-button,
371
+ input[type="search"]::-webkit-search-decoration {
372
+ -webkit-appearance: none;
373
+ }
374
+
375
+ //
376
+ // Define consistent border, margin, and padding.
377
+ //
378
+
379
+ fieldset {
380
+ border: 1px solid #c0c0c0;
381
+ margin: 0 2px;
382
+ padding: 0.35em 0.625em 0.75em;
383
+ }
384
+
385
+ //
386
+ // 1. Correct `color` not being inherited in IE 8/9/10/11.
387
+ // 2. Remove padding so people aren't caught out if they zero out fieldsets.
388
+ //
389
+
390
+ legend {
391
+ border: 0; // 1
392
+ padding: 0; // 2
393
+ }
394
+
395
+ //
396
+ // Remove default vertical scrollbar in IE 8/9/10/11.
397
+ //
398
+
399
+ textarea {
400
+ overflow: auto;
401
+ }
402
+
403
+ //
404
+ // Don't inherit the `font-weight` (applied by a rule above).
405
+ // NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
406
+ //
407
+
408
+ optgroup {
409
+ font-weight: bold;
410
+ }
411
+
412
+ // Tables
413
+ // ==========================================================================
414
+
415
+ //
416
+ // Remove most spacing between table cells.
417
+ //
418
+
419
+ table {
420
+ border-collapse: collapse;
421
+ border-spacing: 0;
422
+ }
423
+
424
+ td,
425
+ th {
426
+ padding: 0;
427
+ }