cartilage 0.1.1
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.
- data/MIT-LICENSE +20 -0
- data/README.markdown +57 -0
- data/Rakefile +84 -0
- data/app/assets/images/cartilage/patterns/background.dark.png +0 -0
- data/app/assets/images/cartilage/patterns/background.dark.psd +0 -0
- data/app/assets/images/cartilage/patterns/background.light.png +0 -0
- data/app/assets/images/cartilage/patterns/background.light.psd +0 -0
- data/app/assets/images/cartilage/patterns/background.medium.png +0 -0
- data/app/assets/images/cartilage/patterns/background.medium.psd +0 -0
- data/app/assets/images/cartilage/patterns/background.png +0 -0
- data/app/assets/images/cartilage/patterns/background.psd +0 -0
- data/app/assets/javascripts/cartilage/application.js.coffee +45 -0
- data/app/assets/javascripts/cartilage/collections/segments.js.coffee +4 -0
- data/app/assets/javascripts/cartilage/core.js.coffee +8 -0
- data/app/assets/javascripts/cartilage/models/model.js.coffee +2 -0
- data/app/assets/javascripts/cartilage/models/segment.js.coffee +2 -0
- data/app/assets/javascripts/cartilage/views/bar_segment_view.js.coffee +58 -0
- data/app/assets/javascripts/cartilage/views/bar_view.js.coffee +85 -0
- data/app/assets/javascripts/cartilage/views/content_view.js.coffee +16 -0
- data/app/assets/javascripts/cartilage/views/image_view.js.coffee +76 -0
- data/app/assets/javascripts/cartilage/views/list_view.js.coffee +515 -0
- data/app/assets/javascripts/cartilage/views/list_view_item.js.coffee +85 -0
- data/app/assets/javascripts/cartilage/views/loading_indicator_view.js.coffee +147 -0
- data/app/assets/javascripts/cartilage/views/matrix_view.js.coffee +253 -0
- data/app/assets/javascripts/cartilage/views/matrix_view_item.js.coffee +5 -0
- data/app/assets/javascripts/cartilage/views/modal_view.js.coffee +26 -0
- data/app/assets/javascripts/cartilage/views/popover_view.js.coffee +212 -0
- data/app/assets/javascripts/cartilage/views/source_list_view.js.coffee +69 -0
- data/app/assets/javascripts/cartilage/views/source_list_view_item.js.coffee +5 -0
- data/app/assets/javascripts/cartilage/views/split_view.js.coffee +175 -0
- data/app/assets/javascripts/cartilage/views/usage_bar_view.js.coffee +5 -0
- data/app/assets/javascripts/cartilage/views/view.js.coffee +232 -0
- data/app/assets/javascripts/cartilage.js.coffee +18 -0
- data/app/assets/javascripts/extensions/console.js.coffee +9 -0
- data/app/assets/javascripts/extensions/constructor_name.js.coffee +10 -0
- data/app/assets/javascripts/extensions/properties.js.coffee +45 -0
- data/app/assets/javascripts/extensions/underscore.js.coffee +71 -0
- data/app/assets/stylesheets/cartilage/core.css.scss +432 -0
- data/app/assets/stylesheets/cartilage/mixins.css.scss +19 -0
- data/app/assets/stylesheets/cartilage/responsive.css.scss +192 -0
- data/app/assets/stylesheets/cartilage/variables.css.scss +113 -0
- data/app/assets/stylesheets/cartilage/views/list_view.css.scss +41 -0
- data/app/assets/stylesheets/cartilage/views/list_view_item.css.scss +47 -0
- data/app/assets/stylesheets/cartilage/views/loading_indicator_view.css.scss +50 -0
- data/app/assets/stylesheets/cartilage/views/matrix_view.css.scss +87 -0
- data/app/assets/stylesheets/cartilage/views/popover_view.css.scss +124 -0
- data/app/assets/stylesheets/cartilage/views/segmented_view.css.scss +98 -0
- data/app/assets/stylesheets/cartilage/views/source_list_view.css.scss +65 -0
- data/app/assets/stylesheets/cartilage/views/split_view.css.scss +80 -0
- data/app/assets/stylesheets/cartilage/views/usage_bar_view.css.scss +101 -0
- data/app/assets/stylesheets/cartilage/views/view.css.scss +13 -0
- data/app/assets/stylesheets/cartilage.css.scss +5 -0
- data/lib/cartilage/engine.rb +14 -0
- data/lib/cartilage/version.rb +3 -0
- data/lib/cartilage.rb +5 -0
- data/lib/tasks/cartilage_tasks.rake +4 -0
- data/test/cartilage_test.rb +7 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +9 -0
- data/test/dummy/app/assets/stylesheets/application.css +7 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config/application.rb +45 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +30 -0
- data/test/dummy/config/environments/production.rb +60 -0
- data/test/dummy/config/environments/test.rb +42 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +10 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/readme +6 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +26 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/framework/cartilage/application_test.js.coffee +14 -0
- data/test/framework/cartilage/views/bar_segment_view_test.js.coffee +5 -0
- data/test/framework/cartilage/views/bar_view_test.js.coffee +30 -0
- data/test/framework/cartilage/views/image_view_test.js.coffee +27 -0
- data/test/framework/cartilage/views/list_view_item_test.js.coffee +17 -0
- data/test/framework/cartilage/views/list_view_test.js.coffee +190 -0
- data/test/framework/cartilage/views/loading_indicator_view_test.js.coffee +5 -0
- data/test/framework/cartilage/views/matrix_view_item_test.js.coffee +5 -0
- data/test/framework/cartilage/views/matrix_view_test.js.coffee +5 -0
- data/test/framework/cartilage/views/popover_view_test.js.coffee +5 -0
- data/test/framework/cartilage/views/source_list_view_item_test.js.coffee +5 -0
- data/test/framework/cartilage/views/source_list_view_test.js.coffee +5 -0
- data/test/framework/cartilage/views/split_view_test.js.coffee +5 -0
- data/test/framework/cartilage/views/usage_bar_view_test.js.coffee +5 -0
- data/test/framework/cartilage/views/view_test.js.coffee +85 -0
- data/test/framework/extensions/properties_test.js.coffee +82 -0
- data/test/framework/extensions/underscore_test.js.coffee +73 -0
- data/test/framework/index.html +72 -0
- data/test/framework/vendor/backbone.js +1431 -0
- data/test/framework/vendor/coffee-script.js +8 -0
- data/test/framework/vendor/jquery.js +9440 -0
- data/test/framework/vendor/phantomjs-runner.js +196 -0
- data/test/framework/vendor/qunit.css +235 -0
- data/test/framework/vendor/qunit.js +1977 -0
- data/test/framework/vendor/run-qunit.js +81 -0
- data/test/framework/vendor/sinon-1.5.0.js +4142 -0
- data/test/framework/vendor/sinon-qunit-1.0.0.js +62 -0
- data/test/framework/vendor/underscore.js +1059 -0
- data/test/test_helper.rb +10 -0
- metadata +373 -0
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
|
|
2
|
+
// Cartilage Variables -------------------------------------------------------
|
|
3
|
+
//
|
|
4
|
+
// NOTE: Variable overrides must be set before Bootstrap is included!
|
|
5
|
+
//
|
|
6
|
+
|
|
7
|
+
@import "cartilage/variables";
|
|
8
|
+
|
|
9
|
+
// Twitter Bootstrap ---------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
@import "bootstrap";
|
|
12
|
+
|
|
13
|
+
// Cartilage Mixins ----------------------------------------------------------
|
|
14
|
+
|
|
15
|
+
@import "cartilage/mixins";
|
|
16
|
+
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
html
|
|
20
|
+
{
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
body
|
|
25
|
+
{
|
|
26
|
+
background-image: asset-url("cartilage/patterns/background.png", image);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Structural Layout ---------------------------------------------------------
|
|
30
|
+
|
|
31
|
+
.container-absolute
|
|
32
|
+
{
|
|
33
|
+
position: absolute;
|
|
34
|
+
top: $navbarHeight;
|
|
35
|
+
left: 0;
|
|
36
|
+
right: 0;
|
|
37
|
+
bottom: 0;
|
|
38
|
+
overflow: auto;
|
|
39
|
+
@include clearfix();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Navigation Bar ------------------------------------------------------------
|
|
43
|
+
|
|
44
|
+
.navbar-inner
|
|
45
|
+
{
|
|
46
|
+
|
|
47
|
+
//
|
|
48
|
+
// Add a subtle bevel (highlight and shadow) to the navbar by using inset
|
|
49
|
+
// box shadows.
|
|
50
|
+
//
|
|
51
|
+
@include box-shadow(#{inset 0px 1px 0px rgba(255, 255, 255, 0.15), inset 1px 0px 0px rgba(255, 255, 255, 0.05), inset -1px 0px 0px rgba(255, 255, 255, 0.05), inset 0px -1px 0px rgba(0, 0, 0, 0.5)});
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.navbar
|
|
56
|
+
{
|
|
57
|
+
//
|
|
58
|
+
// Don't allow the user to select any text within the navbar.
|
|
59
|
+
//
|
|
60
|
+
@include user-select(none);
|
|
61
|
+
|
|
62
|
+
.brand
|
|
63
|
+
{
|
|
64
|
+
|
|
65
|
+
//
|
|
66
|
+
// Apply Fitt's law to the entire brand area. The navigation bar will be
|
|
67
|
+
// clickable from all the way to the left of the browser window to the top
|
|
68
|
+
// and bottom of the navigation bar. We will cap the overlap area on the
|
|
69
|
+
// right side at 10px to leave 10px of unclickable space between the brand
|
|
70
|
+
// and the navigation.
|
|
71
|
+
//
|
|
72
|
+
line-height: $navbarHeight;
|
|
73
|
+
padding-top: 0px;
|
|
74
|
+
padding-bottom: 0px;
|
|
75
|
+
padding-left: 20px;
|
|
76
|
+
padding-right: 10px;
|
|
77
|
+
margin-right: 10px;
|
|
78
|
+
|
|
79
|
+
img
|
|
80
|
+
{
|
|
81
|
+
vertical-align: middle;
|
|
82
|
+
|
|
83
|
+
max-width: none;
|
|
84
|
+
|
|
85
|
+
//
|
|
86
|
+
// Vertically aligning the image to the middle does not result in a
|
|
87
|
+
// perfect alignment, depending on the font size of the brand element
|
|
88
|
+
// itself. Offset it here to ensure we get it centered correctly.
|
|
89
|
+
//
|
|
90
|
+
// TODO This is to offset for better centering, but it's a total hack
|
|
91
|
+
// and hard-coded...
|
|
92
|
+
//
|
|
93
|
+
padding-bottom: 6px;
|
|
94
|
+
|
|
95
|
+
//
|
|
96
|
+
// Don't allow the user to drag the brand image. This will allow the
|
|
97
|
+
// user to drag the link to which the brand image points, instead,
|
|
98
|
+
// which is likely what the user would want anyways.
|
|
99
|
+
//
|
|
100
|
+
@include user-drag(none);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.btn
|
|
105
|
+
{
|
|
106
|
+
|
|
107
|
+
&.btn-navbar
|
|
108
|
+
{
|
|
109
|
+
//
|
|
110
|
+
// Properly align buttons in the middle of the navigation bar, based on
|
|
111
|
+
// the defined height of the navbar (and the known height of the buttons,
|
|
112
|
+
// which at the time this was written was 30px).
|
|
113
|
+
//
|
|
114
|
+
// PATCH Submitted to Bootstrap (https://github.com/twitter/bootstrap/pull/1853)
|
|
115
|
+
//
|
|
116
|
+
margin-top: ($navbarHeight - 30px) / 2;
|
|
117
|
+
|
|
118
|
+
//
|
|
119
|
+
// Remove the excess right margin so that it aligns properly (at 20px)
|
|
120
|
+
// from the right border.
|
|
121
|
+
//
|
|
122
|
+
margin-right: 0;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
//
|
|
128
|
+
// Override the navigation styles within the context of the navigation bar
|
|
129
|
+
// with our own tabbed implementation. We could override the nav-tabs class
|
|
130
|
+
// instead, but it would be more to override and nav-tabs are not intended
|
|
131
|
+
// to be used inside the navbar (as far as I can tell).
|
|
132
|
+
//
|
|
133
|
+
.nav
|
|
134
|
+
{
|
|
135
|
+
> li
|
|
136
|
+
{
|
|
137
|
+
> a
|
|
138
|
+
{
|
|
139
|
+
line-height: ($navbarHeight / 2);
|
|
140
|
+
margin-top: ($navbarHeight / 2);
|
|
141
|
+
margin-right: 6px;
|
|
142
|
+
padding: 0 10px;
|
|
143
|
+
color: white;
|
|
144
|
+
|
|
145
|
+
text-shadow: 0 -1px 0 black;
|
|
146
|
+
font-weight: bold;
|
|
147
|
+
font-size: 13px;
|
|
148
|
+
|
|
149
|
+
background-color: rgb(38, 46, 49);
|
|
150
|
+
background-color: rgba(0, 0, 0, 0.25);
|
|
151
|
+
|
|
152
|
+
@include border-radius(3px 3px 0 0);
|
|
153
|
+
@include transition('color 0.25s, background-color 0.25s');
|
|
154
|
+
|
|
155
|
+
&:hover
|
|
156
|
+
{
|
|
157
|
+
background-color: rgb(25, 33, 36);
|
|
158
|
+
background-color: rgba(0, 0, 0, 0.45);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&.active
|
|
163
|
+
{
|
|
164
|
+
> a
|
|
165
|
+
{
|
|
166
|
+
color: $navbarLinkColorActive;
|
|
167
|
+
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
|
|
168
|
+
@include gradient-vertical(rgb(244, 245, 246), rgb(248, 248, 249));
|
|
169
|
+
|
|
170
|
+
// TODO We cannot use a drop-shadow because dropdowns in the navbar
|
|
171
|
+
// are at the wrong z-index, therefore we can't place the page-header
|
|
172
|
+
// above the navbar to pull off the desired shadow effect.
|
|
173
|
+
// @include box-shadow(0 0 4px black);
|
|
174
|
+
|
|
175
|
+
&:hover
|
|
176
|
+
{
|
|
177
|
+
//
|
|
178
|
+
// Don't allow the text color to change for the active tab when
|
|
179
|
+
// the user hovers over the link.
|
|
180
|
+
//
|
|
181
|
+
color: $navbarLinkColorActive;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.btn-navbar .icon-bar
|
|
190
|
+
{
|
|
191
|
+
display: block;
|
|
192
|
+
width: 18px;
|
|
193
|
+
height: 2px;
|
|
194
|
+
background-color: #f5f5f5;
|
|
195
|
+
@include border-radius(1px);
|
|
196
|
+
@include box-shadow(0 1px 0 rgba(0, 0, 0, 0.25));
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.btn-navbar .icon-bar + .icon-bar
|
|
200
|
+
{
|
|
201
|
+
margin-top: 3px;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// Page Content --------------------------------------------------------------
|
|
205
|
+
|
|
206
|
+
#content
|
|
207
|
+
{
|
|
208
|
+
|
|
209
|
+
// Page Header -------------------------------------------------------------
|
|
210
|
+
|
|
211
|
+
#page-header
|
|
212
|
+
{
|
|
213
|
+
position: absolute;
|
|
214
|
+
top: 0;
|
|
215
|
+
left: 0;
|
|
216
|
+
right: 0;
|
|
217
|
+
|
|
218
|
+
height: 48px;
|
|
219
|
+
min-height: 48px;
|
|
220
|
+
line-height: 48px;
|
|
221
|
+
padding-left: 20px;
|
|
222
|
+
padding-right: 20px;
|
|
223
|
+
|
|
224
|
+
border-bottom: 1px solid rgb(198, 198, 199);
|
|
225
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.45);
|
|
226
|
+
@include gradient-vertical(rgb(248, 248, 249), rgb(252, 251, 252));
|
|
227
|
+
@include box-shadow(0 1px 3px rgba(0, 0, 0, 0.15));
|
|
228
|
+
@include user-select(none);
|
|
229
|
+
|
|
230
|
+
h1
|
|
231
|
+
{
|
|
232
|
+
line-height: inherit;
|
|
233
|
+
font-family: "HelveticaNeue-Light", "Helvetica Neue Light",
|
|
234
|
+
"Helvetica Neue", sans-serif;
|
|
235
|
+
font-weight: 300;
|
|
236
|
+
font-size: (46px / 2.25);
|
|
237
|
+
color: rgb(76, 76, 76);
|
|
238
|
+
color: rgba(0, 0, 0, 0.7);
|
|
239
|
+
text-shadow: 0 1px 0px rgba(255, 255, 255, 0.9);
|
|
240
|
+
|
|
241
|
+
white-space: nowrap;
|
|
242
|
+
overflow: hidden;
|
|
243
|
+
text-overflow: ellipsis;
|
|
244
|
+
|
|
245
|
+
float: left;
|
|
246
|
+
|
|
247
|
+
small
|
|
248
|
+
{
|
|
249
|
+
position: relative;
|
|
250
|
+
font-size: inherit;
|
|
251
|
+
color: rgba(0, 0, 0, 0.4);
|
|
252
|
+
margin-left: 20px;
|
|
253
|
+
line-height: inherit !important;
|
|
254
|
+
height: inherit !important;
|
|
255
|
+
padding-left: 20px;
|
|
256
|
+
font-size: 80%;
|
|
257
|
+
|
|
258
|
+
&:before
|
|
259
|
+
{
|
|
260
|
+
position: absolute;
|
|
261
|
+
left: 0;
|
|
262
|
+
top: 0;
|
|
263
|
+
bottom: 0;
|
|
264
|
+
content: "";
|
|
265
|
+
border-left: 1px solid rgb(216, 216, 217);
|
|
266
|
+
border-left: 1px solid rgba(0, 0, 0, 0.1);
|
|
267
|
+
border-right: 1px solid rgb(246, 246, 246);
|
|
268
|
+
border-right: 1px solid rgba(255, 255, 255, 0.8);
|
|
269
|
+
margin-right: 20px;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
a
|
|
273
|
+
{
|
|
274
|
+
color: inherit;
|
|
275
|
+
text-decoration: none;
|
|
276
|
+
display: inline;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
// button for toggling action items in responsive layouts
|
|
282
|
+
.btn-actions
|
|
283
|
+
{
|
|
284
|
+
display: none;
|
|
285
|
+
float: right;
|
|
286
|
+
padding: 7px 10px;
|
|
287
|
+
margin-left: 5px;
|
|
288
|
+
margin-right: 0;
|
|
289
|
+
margin-top: 9px;
|
|
290
|
+
// @include buttonBackground($navbarBackgroundHighlight, $navbarBackground);
|
|
291
|
+
@include box-shadow(#{inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075)});
|
|
292
|
+
|
|
293
|
+
.icon-bar
|
|
294
|
+
{
|
|
295
|
+
display: block;
|
|
296
|
+
width: 18px;
|
|
297
|
+
height: 2px;
|
|
298
|
+
background-color: #aaa;
|
|
299
|
+
@include border-radius(1px);
|
|
300
|
+
@include box-shadow(0 1px 0 rgba(255, 255, 255, 0.75));
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.icon-bar + .icon-bar
|
|
304
|
+
{
|
|
305
|
+
margin-top: 3px;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
// Override the default collapsed state
|
|
309
|
+
.actions-collapse.collapse
|
|
310
|
+
{
|
|
311
|
+
height: auto;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
ul.actions
|
|
315
|
+
{
|
|
316
|
+
float: right;
|
|
317
|
+
margin-top: 9px;
|
|
318
|
+
list-style: none;
|
|
319
|
+
border: none;
|
|
320
|
+
background: transparent;
|
|
321
|
+
|
|
322
|
+
> li
|
|
323
|
+
{
|
|
324
|
+
float: left;
|
|
325
|
+
margin-left: 12px;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
#page-content
|
|
331
|
+
{
|
|
332
|
+
position: absolute;
|
|
333
|
+
top: 49px;
|
|
334
|
+
left: 0;
|
|
335
|
+
right: 0;
|
|
336
|
+
bottom: 0;
|
|
337
|
+
overflow: auto;
|
|
338
|
+
-webkit-overflow-scrolling: touch;
|
|
339
|
+
|
|
340
|
+
> .alert
|
|
341
|
+
{
|
|
342
|
+
margin: 20px;
|
|
343
|
+
@include box-shadow(0 1px 3px rgba(0, 0, 0, 0.075));
|
|
344
|
+
@include border-radius(3px);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
// Standard Section (white header, drop shadow, etc) -------------------------
|
|
350
|
+
|
|
351
|
+
.standard-section
|
|
352
|
+
{
|
|
353
|
+
position: relative;
|
|
354
|
+
margin: 20px;
|
|
355
|
+
background-color: rgb(245, 247, 247);
|
|
356
|
+
background-color: rgba(255, 255, 255, 0.8);
|
|
357
|
+
border: 1px solid rgb(195, 196, 196);
|
|
358
|
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
|
359
|
+
@include border-radius(3px);
|
|
360
|
+
@include box-shadow(0 1px 3px rgba(0, 0, 0, 0.075));
|
|
361
|
+
|
|
362
|
+
header
|
|
363
|
+
{
|
|
364
|
+
padding: 10px 20px;
|
|
365
|
+
background-color: white;
|
|
366
|
+
border-bottom: 1px solid rgb(217, 217, 217);
|
|
367
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.15);
|
|
368
|
+
@include border-radius(2px 2px 0 0);
|
|
369
|
+
|
|
370
|
+
h1
|
|
371
|
+
{
|
|
372
|
+
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif;
|
|
373
|
+
font-weight: 300;
|
|
374
|
+
font-size: 20.4px;
|
|
375
|
+
color: rgb(128, 128, 128);
|
|
376
|
+
color: rgba(0, 0, 0, 0.5);
|
|
377
|
+
margin: 0;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.header-actions
|
|
381
|
+
{
|
|
382
|
+
position: absolute;
|
|
383
|
+
right: 20px;
|
|
384
|
+
top: 20px;
|
|
385
|
+
|
|
386
|
+
form, button, a
|
|
387
|
+
{
|
|
388
|
+
float: left;
|
|
389
|
+
display: inline;
|
|
390
|
+
margin-left: 10px;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.section-content
|
|
396
|
+
{
|
|
397
|
+
padding: 20px;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
table
|
|
401
|
+
{
|
|
402
|
+
margin-bottom: 0;
|
|
403
|
+
|
|
404
|
+
th:first-of-type, td:first-of-type
|
|
405
|
+
{
|
|
406
|
+
padding-left: 20px;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
th:last-of-type, td:last-of-type
|
|
410
|
+
{
|
|
411
|
+
padding-right: 20px;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
iframe
|
|
416
|
+
{
|
|
417
|
+
width: 100%;
|
|
418
|
+
height: 240px;
|
|
419
|
+
border: none;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
fieldset
|
|
423
|
+
{
|
|
424
|
+
margin-top: 20px;
|
|
425
|
+
margin-bottom: 20px;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// Responsive Layout -------------------------------------------------------
|
|
430
|
+
|
|
431
|
+
// @import "bootstrap-responsive";
|
|
432
|
+
// @import "cartilage/responsive";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
// Bootstrap Support ---------------------------------------------------------
|
|
3
|
+
|
|
4
|
+
@import "bootstrap/mixins";
|
|
5
|
+
|
|
6
|
+
// Cartilage Mixins ----------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
@mixin user-select($select: inherit)
|
|
9
|
+
{
|
|
10
|
+
-webkit-user-select: $select;
|
|
11
|
+
-moz-user-select: $select;
|
|
12
|
+
-ms-user-select: $select;
|
|
13
|
+
user-select: $select;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@mixin user-drag($drag: auto)
|
|
17
|
+
{
|
|
18
|
+
-webkit-user-drag: $drag;
|
|
19
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
|
|
2
|
+
// Bootstrap Support ---------------------------------------------------------
|
|
3
|
+
|
|
4
|
+
@import "bootstrap-responsive";
|
|
5
|
+
|
|
6
|
+
// Cartilage Support ---------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
@import "cartilage/variables";
|
|
9
|
+
@import "cartilage/mixins";
|
|
10
|
+
|
|
11
|
+
// Up to Landscape Phone -----------------------------------------------------
|
|
12
|
+
|
|
13
|
+
@media (max-width: 480px)
|
|
14
|
+
{
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Landscape Phone to Small Desktop and Portrait Tablet ----------------------
|
|
19
|
+
|
|
20
|
+
@media (max-width: 768px)
|
|
21
|
+
{
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Landscape Phone to Small Desktop and Portrait Tablet ----------------------
|
|
26
|
+
|
|
27
|
+
@media (max-width: 768px)
|
|
28
|
+
{
|
|
29
|
+
|
|
30
|
+
html
|
|
31
|
+
{
|
|
32
|
+
overflow: visible;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
body
|
|
36
|
+
{
|
|
37
|
+
padding: 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Navigation Bar ----------------------------------------------------------
|
|
41
|
+
|
|
42
|
+
.navbar-fixed-top,
|
|
43
|
+
.navbar-fixed-bottom
|
|
44
|
+
{
|
|
45
|
+
margin: 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Containers --------------------------------------------------------------
|
|
49
|
+
|
|
50
|
+
.container-fluid
|
|
51
|
+
{
|
|
52
|
+
padding-left: 20px;
|
|
53
|
+
padding-right: 20px;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Portrait Tablet to Default Desktop ----------------------------------------
|
|
58
|
+
|
|
59
|
+
@media (min-width: 768px) and (max-width: 979px)
|
|
60
|
+
{
|
|
61
|
+
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Tablets and Below --------------------------------------------------------
|
|
65
|
+
|
|
66
|
+
@media (max-width: 979px)
|
|
67
|
+
{
|
|
68
|
+
|
|
69
|
+
// Navigation Bar ---------------------------------------------------------
|
|
70
|
+
|
|
71
|
+
.navbar
|
|
72
|
+
{
|
|
73
|
+
margin-bottom: 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.navbar-fixed-top,
|
|
77
|
+
.navbar-fixed-bottom
|
|
78
|
+
{
|
|
79
|
+
margin: 0;
|
|
80
|
+
|
|
81
|
+
.navbar-inner
|
|
82
|
+
{
|
|
83
|
+
padding: 0;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.navbar .brand
|
|
88
|
+
{
|
|
89
|
+
float: none;
|
|
90
|
+
line-height: $navbarHeight;
|
|
91
|
+
padding: 0 10px 0 inherit;
|
|
92
|
+
margin: 0 10px 0 -20px;
|
|
93
|
+
display: inline-block;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.navbar .nav > li > a
|
|
97
|
+
{
|
|
98
|
+
margin: 0;
|
|
99
|
+
margin-bottom: 10px;
|
|
100
|
+
line-height: ($navbarHeight / 2.75);
|
|
101
|
+
@include border-radius(3px);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.navbar .nav > li:last-of-type > a
|
|
105
|
+
{
|
|
106
|
+
margin-bottom: 20px;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Absolute Container ------------------------------------------------------
|
|
110
|
+
|
|
111
|
+
.container-absolute
|
|
112
|
+
{
|
|
113
|
+
position: relative;
|
|
114
|
+
top: auto;
|
|
115
|
+
overflow: visible;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Application Content -----------------------------------------------------
|
|
119
|
+
|
|
120
|
+
#content
|
|
121
|
+
{
|
|
122
|
+
|
|
123
|
+
// Page Header -----------------------------------------------------------
|
|
124
|
+
|
|
125
|
+
#page-header
|
|
126
|
+
{
|
|
127
|
+
position: relative;
|
|
128
|
+
height: auto;
|
|
129
|
+
|
|
130
|
+
// Actions Button
|
|
131
|
+
.btn-actions
|
|
132
|
+
{
|
|
133
|
+
display: block;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Hide the pageactions
|
|
137
|
+
.actions-collapse
|
|
138
|
+
{
|
|
139
|
+
overflow: hidden;
|
|
140
|
+
height: 0;
|
|
141
|
+
clear: left;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Block-level the nav
|
|
145
|
+
ul.actions
|
|
146
|
+
{
|
|
147
|
+
float: none;
|
|
148
|
+
padding: 0;
|
|
149
|
+
margin-left: 0;
|
|
150
|
+
|
|
151
|
+
> li
|
|
152
|
+
{
|
|
153
|
+
float: none;
|
|
154
|
+
margin-left: 0;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.btn
|
|
158
|
+
{
|
|
159
|
+
float: none;
|
|
160
|
+
margin: 0 0 ($baseLineHeight / 2);
|
|
161
|
+
display: block;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Page Content ----------------------------------------------------------
|
|
167
|
+
|
|
168
|
+
#page-content
|
|
169
|
+
{
|
|
170
|
+
position: static;
|
|
171
|
+
overflow: visible;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Default Desktop -----------------------------------------------------------
|
|
178
|
+
|
|
179
|
+
@media (min-width: 980px)
|
|
180
|
+
{
|
|
181
|
+
.actions-collapse.collapse
|
|
182
|
+
{
|
|
183
|
+
height: auto !important;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Large Desktop and Up ------------------------------------------------------
|
|
188
|
+
|
|
189
|
+
@media (min-width: 1200px)
|
|
190
|
+
{
|
|
191
|
+
|
|
192
|
+
}
|