fontcustom_canvas 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -4
- data/fontcustom_canvas-0.1.0.gem +0 -0
- data/fontcustom_canvas-0.1.1.gem +0 -0
- data/fontcustom_canvas.gemspec +1 -0
- data/lib/fontcustom_canvas.rb +5 -5
- data/lib/fontcustom_canvas/version.rb +1 -1
- data/public/_ic-typography.scss +629 -0
- data/public/_ic_app_header.scss +463 -0
- data/public/_variables.scss +298 -0
- data/public/brandable_css.rb +374 -0
- data/public/brandable_variables.json +233 -0
- data/public/theme_editor/Fonts.js +92 -0
- data/public/theme_editor/PropTypes.js +130 -0
- data/public/theme_editor/ThemeEditorAccordion.js +131 -0
- data/public/theme_editor/ThemeEditorFontFamilyRow.js +147 -0
- data/public/theme_editor/ThemeEditorFontSizeRow.js +152 -0
- data/public/theme_editor/ThemeEditorFontWeightRow.js +176 -0
- metadata +30 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58d2d40ad483730f7eac99b623b0b6a3df6651e56ed980dcb2819c4575bcf87e
|
4
|
+
data.tar.gz: e1ed441bebc9ff8c997f583e9232e83fa1e3fd00df80857c96aebfeeac3419ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53a266ad92c8971f69dc89efc2b7f8caf4aa34fa5aad10161ff9fb6099aac04eb2b428c3db7fac7a1ece1d03e8126b6f30ddcfa7152ea975d697ddecf50b246e
|
7
|
+
data.tar.gz: 3551336d05125b9fb056e8613879e73df4a4aefdfb9b9f67475c399803e6d4d13893cf59336c0172e7c5d69fae99ff4873adbc8cbac87d3312e98358c117d0ef
|
data/README.md
CHANGED
@@ -2,8 +2,6 @@
|
|
2
2
|
|
3
3
|
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/fontcustom_canvas`. To experiment with that code, run `bin/console` for an interactive prompt.
|
4
4
|
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
6
|
-
|
7
5
|
## Installation
|
8
6
|
|
9
7
|
Add this line to your application's Gemfile:
|
@@ -20,10 +18,15 @@ Or install it yourself as:
|
|
20
18
|
|
21
19
|
$ gem install fontcustom_canvas
|
22
20
|
|
23
|
-
## Usage
|
24
21
|
|
25
|
-
|
22
|
+
After That compile assets of canvas:
|
23
|
+
|
24
|
+
$ bundle exec rails canvas:compile_assets
|
25
|
+
|
26
|
+
## Usage
|
26
27
|
|
28
|
+
To add Font customization options in canvas-lms, and added it to Theme Editor.
|
29
|
+
|
27
30
|
## Development
|
28
31
|
|
29
32
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
Binary file
|
Binary file
|
data/fontcustom_canvas.gemspec
CHANGED
data/lib/fontcustom_canvas.rb
CHANGED
@@ -11,18 +11,18 @@ module FontcustomCanvas
|
|
11
11
|
|
12
12
|
files.each do |file|
|
13
13
|
File.write("app/jsx/theme_editor/#{file}", (URI.parse("#{uri_content}/theme_editor/#{file}").open.read) )
|
14
|
-
puts "app/jsx/theme_editor/#{file} --->> done"
|
14
|
+
# puts "app/jsx/theme_editor/#{file} --->> done"
|
15
15
|
end
|
16
16
|
|
17
17
|
File.write("app/stylesheets/base/_variables.scss", (URI.parse("#{uri_content}/_variables.scss").open.read) )
|
18
|
-
puts "app/stylesheets/base/_variables.scss --->> done"
|
18
|
+
# puts "app/stylesheets/base/_variables.scss --->> done"
|
19
19
|
|
20
20
|
File.write("app/stylesheets/components/_ic-typography.scss", (URI.parse("#{uri_content}/_ic-typography.scss").open.read) )
|
21
|
-
puts "app/stylesheets/components/_ic-typography.scss --->> done"
|
21
|
+
# puts "app/stylesheets/components/_ic-typography.scss --->> done"
|
22
22
|
|
23
23
|
File.write("app/stylesheets/brandable_variables.json", (URI.parse("#{uri_content}/brandable_variables.json").open.read) )
|
24
|
-
puts "app/stylesheets/brandable_variables.json --->> done"
|
24
|
+
# puts "app/stylesheets/brandable_variables.json --->> done"
|
25
25
|
|
26
26
|
File.write("lib/brandable_css.rb", (URI.parse("#{uri_content}/brandable_css.rb").open.read) )
|
27
|
-
puts "lib/brandable_css.rb --->> done"
|
27
|
+
# puts "lib/brandable_css.rb --->> done"
|
28
28
|
end
|
@@ -0,0 +1,629 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (C) 2012 - present Instructure, Inc.
|
3
|
+
*
|
4
|
+
* This file is part of Canvas.
|
5
|
+
*
|
6
|
+
* Canvas is free software: you can redistribute it and/or modify it under
|
7
|
+
* the terms of the GNU Affero General Public License as published by the Free
|
8
|
+
* Software Foundation, version 3 of the License.
|
9
|
+
*
|
10
|
+
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
11
|
+
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
12
|
+
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
13
|
+
* details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Affero General Public License along
|
16
|
+
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
|
+
*/
|
18
|
+
|
19
|
+
/// This is the beginning of fixing typography usage in Canvas. We originally were pulling in a bunch of
|
20
|
+
/// bootstrap styles, of which, we'd like to phase out in multiple iterations.
|
21
|
+
/// Below is the combination of overwrites and bootstrap styles that were originally in Canvas.
|
22
|
+
/// As we sift through fixing things to the way we need them, this file should get smaller and smaller. :)
|
23
|
+
|
24
|
+
/// Repeat - this is a work in progress, iterative approach to handing typography in Canvas.
|
25
|
+
/// There's a lot here we don't want, and a lot more we need to re-work, but not all in one go.
|
26
|
+
|
27
|
+
|
28
|
+
///////==============
|
29
|
+
/// Global Settings
|
30
|
+
///////==============
|
31
|
+
html {
|
32
|
+
font-size: 100%;
|
33
|
+
-webkit-text-size-adjust: 100%;
|
34
|
+
-ms-text-size-adjust: 100%;
|
35
|
+
font-family: $ic-font-family;
|
36
|
+
}
|
37
|
+
|
38
|
+
body {
|
39
|
+
@include fontSize($ic-font-size);
|
40
|
+
font-weight: $ic-font-weight;
|
41
|
+
font-family: $ic-font-family;
|
42
|
+
font-size: $ic-font-size;
|
43
|
+
line-height: $ic-line-height;
|
44
|
+
color: $ic-font-color-dark;
|
45
|
+
-webkit-font-smoothing: antialiased; // needed to help render the iconFont clearer
|
46
|
+
-moz-osx-font-smoothing: grayscale; // needed to help render the iconFont clearer
|
47
|
+
}
|
48
|
+
|
49
|
+
p {
|
50
|
+
margin: $ic-sp 0;
|
51
|
+
font-family: $ic-font-family;
|
52
|
+
}
|
53
|
+
|
54
|
+
///////==============
|
55
|
+
/// Emphasis and Utility Settings
|
56
|
+
///////==============
|
57
|
+
|
58
|
+
small {
|
59
|
+
font-size: 85%; // Ex: 14px base font * 85% = about 12px
|
60
|
+
}
|
61
|
+
strong {
|
62
|
+
font-weight: $ic-font-weight-bold;
|
63
|
+
}
|
64
|
+
em {
|
65
|
+
font-style: italic;
|
66
|
+
}
|
67
|
+
cite {
|
68
|
+
font-style: normal;
|
69
|
+
}
|
70
|
+
.lead {
|
71
|
+
margin-bottom: $ic-sp;
|
72
|
+
@include fontSize($ic-font-size);
|
73
|
+
font-weight: 200;
|
74
|
+
line-height: $ic-line-height * 1.5;
|
75
|
+
}
|
76
|
+
.muted {
|
77
|
+
@if $use_high_contrast { color: darken($ic-hint-text, 20%); }
|
78
|
+
@else { color: $ic-hint-text; }
|
79
|
+
}
|
80
|
+
.text-warning { color: $ic-color-alert; }
|
81
|
+
a.text-warning:hover { color: darken($ic-color-alert, 10%); }
|
82
|
+
|
83
|
+
.text-error { color: $ic-color-danger; }
|
84
|
+
a.text-error:hover { color: darken($ic-color-danger, 10%); }
|
85
|
+
|
86
|
+
.text-info { color: var(--ic-brand-primary); }
|
87
|
+
a.text-info:hover { color: var(--ic-brand-primary-darkened-10); }
|
88
|
+
|
89
|
+
.text-success { color: $ic-color-success; }
|
90
|
+
a.text-success:hover { color: darken($ic-color-success, 10%); }
|
91
|
+
|
92
|
+
///////==============
|
93
|
+
/// Heading Settings
|
94
|
+
///////==============
|
95
|
+
|
96
|
+
h1, h2, h3, h4, h5, h6 {
|
97
|
+
margin: $ic-sp/2 0;
|
98
|
+
font-family: $ic-font-family;
|
99
|
+
font-weight: $ic-font-weight-bold;
|
100
|
+
line-height: $ic-line-height;
|
101
|
+
text-rendering: optimizelegibility; // Fix the character spacing for headings
|
102
|
+
small {
|
103
|
+
font-weight: $ic-font-weight;
|
104
|
+
line-height: $ic-line-height/0.5;
|
105
|
+
color: $ic-font-color--subdued;
|
106
|
+
}
|
107
|
+
}
|
108
|
+
|
109
|
+
h1 { font-size: $ic-font-size--xxlarge; } // ~38px
|
110
|
+
h2 { font-size: $ic-font-size--xlarge; } // ~32px
|
111
|
+
h3 { font-size: $ic-font-size--large; } // ~24px
|
112
|
+
h4 { font-size: $ic-font-size--medium; } // ~18px
|
113
|
+
h5 { font-size: $ic-font-size; }
|
114
|
+
h6 { font-size: $ic-font-size--xsmall; } // ~12px
|
115
|
+
|
116
|
+
h1 small { font-size: $ic-font-size--large; } // ~24px
|
117
|
+
h2 small { font-size: $ic-font-size--medium; } // ~18px
|
118
|
+
h3 small { font-size: $ic-font-size; }
|
119
|
+
h4 small { font-size: $ic-font-size; }
|
120
|
+
|
121
|
+
// now tweak them all a bit to be less shouty
|
122
|
+
|
123
|
+
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
|
124
|
+
font-weight: $ic-font-weight;
|
125
|
+
}
|
126
|
+
h1, h2, .h1, .h2 {
|
127
|
+
font-size: 1.8em;
|
128
|
+
line-height: $ic-line-height;
|
129
|
+
}
|
130
|
+
h3, .h3 {
|
131
|
+
font-size: 1.5em;
|
132
|
+
}
|
133
|
+
|
134
|
+
.page-header {
|
135
|
+
padding-bottom: ($ic-sp / 2);
|
136
|
+
margin: 20px 0 30px;
|
137
|
+
border-bottom: 1px solid $ic-border-color;
|
138
|
+
}
|
139
|
+
|
140
|
+
///////==============
|
141
|
+
/// Links
|
142
|
+
///////==============
|
143
|
+
|
144
|
+
a {
|
145
|
+
color: var(--ic-link-color);
|
146
|
+
&:focus, &:hover {
|
147
|
+
color: var(--ic-link-color-darkened-10);
|
148
|
+
}
|
149
|
+
|
150
|
+
@if $use_high_contrast {
|
151
|
+
text-decoration: underline;
|
152
|
+
&:focus, &:hover { text-decoration: none; }
|
153
|
+
@include ic-focus-base;
|
154
|
+
&:focus { @include ic-focus-variant; }
|
155
|
+
}
|
156
|
+
|
157
|
+
@else {
|
158
|
+
text-decoration: none;
|
159
|
+
&:focus, &:hover { text-decoration: underline; }
|
160
|
+
}
|
161
|
+
|
162
|
+
}
|
163
|
+
////////=============
|
164
|
+
/// Underline All Links Feature Flag
|
165
|
+
////////=============
|
166
|
+
.Underline-All-Links__enabled {
|
167
|
+
a:not(.Button, .btn, .ui-button, .ui-tabs-anchor) {
|
168
|
+
text-decoration: underline;
|
169
|
+
&:focus, &:hover { text-decoration: none; }
|
170
|
+
|
171
|
+
&:not([data-cid*="Button"]) { // inst-UI Button component
|
172
|
+
@include ic-focus-base;
|
173
|
+
&:focus { @include ic-focus-variant($color: var(--ic-link-color)); }
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
177
|
+
|
178
|
+
// make links in .alert be same color as alert text but bold
|
179
|
+
.alert a {
|
180
|
+
font-weight: $ic-font-weight-bold;
|
181
|
+
color: inherit;
|
182
|
+
}
|
183
|
+
|
184
|
+
///////==============
|
185
|
+
/// List Settings
|
186
|
+
///////==============
|
187
|
+
|
188
|
+
// Unordered and Ordered lists
|
189
|
+
ul, ol {
|
190
|
+
padding: 0;
|
191
|
+
margin: direction-sides(0 0 6px 25px);
|
192
|
+
}
|
193
|
+
ul ul,
|
194
|
+
ul ol,
|
195
|
+
ol ol,
|
196
|
+
ol ul {
|
197
|
+
margin-bottom: 0;
|
198
|
+
}
|
199
|
+
ul.unstyled,
|
200
|
+
ol.unstyled {
|
201
|
+
margin-#{direction(left)}: 0;
|
202
|
+
list-style: none;
|
203
|
+
}
|
204
|
+
|
205
|
+
// Description Lists
|
206
|
+
dl {
|
207
|
+
margin-bottom: 20px;
|
208
|
+
}
|
209
|
+
dt,
|
210
|
+
dd {
|
211
|
+
line-height: $ic-line-height;
|
212
|
+
}
|
213
|
+
dt {
|
214
|
+
font-weight: $ic-font-weight-bold;
|
215
|
+
}
|
216
|
+
dd {
|
217
|
+
margin-#{direction(left)}: 10px;
|
218
|
+
}
|
219
|
+
// Horizontal layout (like forms)
|
220
|
+
.dl-horizontal {
|
221
|
+
@include clearfix(); // Ensure dl clears floats if empty dd elements present
|
222
|
+
dt {
|
223
|
+
float: direction(left);
|
224
|
+
width: $horizontalComponentOffset - 20;
|
225
|
+
clear: direction(left);
|
226
|
+
text-align: direction(right);
|
227
|
+
overflow: hidden;
|
228
|
+
text-overflow: ellipsis;
|
229
|
+
white-space: nowrap;
|
230
|
+
}
|
231
|
+
dd {
|
232
|
+
margin-#{direction(left)}: $horizontalComponentOffset;
|
233
|
+
}
|
234
|
+
}
|
235
|
+
|
236
|
+
///////==============
|
237
|
+
/// Prevents sub and sup affecting line-height in all browsers
|
238
|
+
///////==============
|
239
|
+
|
240
|
+
sub,
|
241
|
+
sup {
|
242
|
+
position: relative;
|
243
|
+
font-size: 75%;
|
244
|
+
line-height: 0;
|
245
|
+
vertical-align: baseline;
|
246
|
+
}
|
247
|
+
sup {
|
248
|
+
top: -0.5em;
|
249
|
+
}
|
250
|
+
sub {
|
251
|
+
bottom: -0.25em;
|
252
|
+
}
|
253
|
+
|
254
|
+
///////==============
|
255
|
+
/// Form Settings
|
256
|
+
///////==============
|
257
|
+
|
258
|
+
// have to make labels inline-block by default,
|
259
|
+
// boostrap makes them all block but we have a ton of
|
260
|
+
// existing forms that count on them being inline.
|
261
|
+
label { display: inline-block; }
|
262
|
+
|
263
|
+
// because sometimes an input-mini is just too big
|
264
|
+
.input-micro { width: 30px; }
|
265
|
+
|
266
|
+
// if you are making a bootstrap style form and need to get your labels to look right (be block),
|
267
|
+
// add the class .bootstrap-form to the <form>. this is the only need for .bootstrap-form, you
|
268
|
+
// dont need to add the .bootstrap-form class if you already have the .form-horizontal class.
|
269
|
+
.form-horizontal label, .bootstrap-form label { display: block;}
|
270
|
+
|
271
|
+
// make labels in paragraphs the same size as regular text (as opposed to slightly larger)
|
272
|
+
p label {
|
273
|
+
font-size: inherit;
|
274
|
+
}
|
275
|
+
|
276
|
+
//remove default bottom margin on a bootstrap form
|
277
|
+
.bootstrap-form.no-margin {
|
278
|
+
margin-bottom: 0;
|
279
|
+
}
|
280
|
+
|
281
|
+
//get rid of bottom margin on any element (needed mostly for text inputs)
|
282
|
+
.no-margin-bottom {
|
283
|
+
margin-bottom: 0 !important;
|
284
|
+
}
|
285
|
+
|
286
|
+
//bootstrap makes all <select>s a certain width. provide a class to enable one to be auto width
|
287
|
+
select.un-bootrstrapify {
|
288
|
+
width: auto;
|
289
|
+
border-radius: 0;
|
290
|
+
height: auto;
|
291
|
+
}
|
292
|
+
|
293
|
+
.form-actions {
|
294
|
+
text-align: direction(right);
|
295
|
+
padding: 10px 10px 11px;
|
296
|
+
|
297
|
+
// when .form-actions is in a modal box, make it look different per Kyle mockup
|
298
|
+
.ui-dialog-content & {
|
299
|
+
margin-bottom: 0;
|
300
|
+
box-shadow: inset 0 1px 0 #fff;
|
301
|
+
}
|
302
|
+
|
303
|
+
// when you want your non-modal .form-actions footer to not have any whitespace around it
|
304
|
+
&.flush {
|
305
|
+
margin-bottom: -1em;
|
306
|
+
margin-#{direction(left)}: -1em;
|
307
|
+
margin-#{direction(right)}: -1em;
|
308
|
+
}
|
309
|
+
}
|
310
|
+
|
311
|
+
// for checkboxes not wrapped in a label.checkbox, make them look decent,
|
312
|
+
// should remove this eventually.
|
313
|
+
input[type=checkbox] + label,
|
314
|
+
input[type=radio] + label {
|
315
|
+
vertical-align: -4px;
|
316
|
+
}
|
317
|
+
|
318
|
+
// align inline form buttons to prevent staggering
|
319
|
+
.form-inline {
|
320
|
+
input[type=checkbox] + label,
|
321
|
+
input[type=radio] + label {
|
322
|
+
vertical-align: middle;
|
323
|
+
}
|
324
|
+
}
|
325
|
+
|
326
|
+
///////==============
|
327
|
+
/// Table Settings
|
328
|
+
///////==============
|
329
|
+
|
330
|
+
// modify the default bootstrap .table class to have the thead look like our .toolbars
|
331
|
+
.table > thead {
|
332
|
+
background: #e4e9ed;
|
333
|
+
}
|
334
|
+
.table-vertically-center {
|
335
|
+
th, td {
|
336
|
+
vertical-align: middle;
|
337
|
+
}
|
338
|
+
}
|
339
|
+
.table .center {
|
340
|
+
text-align: center;
|
341
|
+
}
|
342
|
+
.table-striped {
|
343
|
+
border: 1px solid $ic-border-color;
|
344
|
+
> thead {
|
345
|
+
border: 1px solid $ic-border-color;
|
346
|
+
}
|
347
|
+
> tbody > tr {
|
348
|
+
td {
|
349
|
+
background: #fff; // so we can hide focusable stuff via z-index
|
350
|
+
}
|
351
|
+
&:first-child > td {
|
352
|
+
border-top: 0;
|
353
|
+
}
|
354
|
+
}
|
355
|
+
}
|
356
|
+
.table-hover tbody {
|
357
|
+
tr:hover, tr.table-hover-row {
|
358
|
+
td, th {
|
359
|
+
background: $ic-color-neutral;
|
360
|
+
}
|
361
|
+
}
|
362
|
+
}
|
363
|
+
|
364
|
+
///////==============
|
365
|
+
/// Misc Type Settings
|
366
|
+
///////==============
|
367
|
+
|
368
|
+
// gets rid of ugly border
|
369
|
+
iframe#tool_content {
|
370
|
+
border: none;
|
371
|
+
}
|
372
|
+
|
373
|
+
// "ui.dialog you are so dumb. you are really dumb, for real"
|
374
|
+
// ui.dialog cancels input events for any positioned element w/ a lower
|
375
|
+
// z-index, even if the element is inside the dialog (in which case the
|
376
|
+
// z-index is not actually lower. so dumb)
|
377
|
+
.ui-dialog {
|
378
|
+
.input-append, .input-prepend {
|
379
|
+
input, select, .uneditable-input {
|
380
|
+
&:focus {
|
381
|
+
z-index: 1001;
|
382
|
+
}
|
383
|
+
}
|
384
|
+
}
|
385
|
+
}
|
386
|
+
|
387
|
+
// fixes bug in Cal1 where not-allowed cursor appears over checkboxes set to readonly
|
388
|
+
.calendar_links input[readonly] { cursor: auto; }
|
389
|
+
|
390
|
+
blockquote p {
|
391
|
+
font-size: inherit;
|
392
|
+
}
|
393
|
+
|
394
|
+
.progress-small {
|
395
|
+
height: 10px;
|
396
|
+
margin: 5px 0;
|
397
|
+
}
|
398
|
+
|
399
|
+
.popover {
|
400
|
+
z-index: 10;
|
401
|
+
}
|
402
|
+
|
403
|
+
// Horizontal rules
|
404
|
+
hr {
|
405
|
+
margin: 20px 0;
|
406
|
+
border: 0;
|
407
|
+
border-top: 1px solid $ic-border-color;
|
408
|
+
border-bottom: none;
|
409
|
+
}
|
410
|
+
|
411
|
+
// Abbreviations and acronyms
|
412
|
+
abbr[title],
|
413
|
+
// Added data-* attribute to help out our tooltip plugin, per https://github.com/twitter/bootstrap/issues/5257
|
414
|
+
abbr[data-original-title] {
|
415
|
+
cursor: help;
|
416
|
+
border-bottom: 1px dotted $ic-border-color;
|
417
|
+
}
|
418
|
+
abbr.initialism {
|
419
|
+
font-size: 90%;
|
420
|
+
text-transform: uppercase;
|
421
|
+
}
|
422
|
+
|
423
|
+
// Blockquotes
|
424
|
+
blockquote {
|
425
|
+
padding: direction-sides(0 0 0 15px);
|
426
|
+
margin: 0 0 20px;
|
427
|
+
border-#{direction(left)}: 5px solid $ic-border-color;
|
428
|
+
p {
|
429
|
+
margin-bottom: 0;
|
430
|
+
@include fontSize(16px);
|
431
|
+
font-weight: 300;
|
432
|
+
line-height: 25px;
|
433
|
+
}
|
434
|
+
small {
|
435
|
+
display: block;
|
436
|
+
line-height: $ic-line-height;
|
437
|
+
color: $ic-font-color--subdued;
|
438
|
+
&:before {
|
439
|
+
content: '\2014 \00A0';
|
440
|
+
}
|
441
|
+
}
|
442
|
+
|
443
|
+
// Float right with text-align: right
|
444
|
+
&.pull-right {
|
445
|
+
float: direction(right);
|
446
|
+
padding-#{direction(right)}: 15px;
|
447
|
+
padding-#{direction(left)}: 0;
|
448
|
+
border-#{direction(right)}: 5px solid $ic-border-color;
|
449
|
+
border-#{direction(left)}: 0;
|
450
|
+
p,
|
451
|
+
small {
|
452
|
+
text-align: direction(right);
|
453
|
+
}
|
454
|
+
small {
|
455
|
+
&:before {
|
456
|
+
content: '';
|
457
|
+
}
|
458
|
+
&:after {
|
459
|
+
content: '\00A0 \2014';
|
460
|
+
}
|
461
|
+
}
|
462
|
+
}
|
463
|
+
}
|
464
|
+
|
465
|
+
// Quotes
|
466
|
+
q:before,
|
467
|
+
q:after,
|
468
|
+
blockquote:before,
|
469
|
+
blockquote:after {
|
470
|
+
content: "";
|
471
|
+
}
|
472
|
+
|
473
|
+
// Addresses
|
474
|
+
address {
|
475
|
+
display: block;
|
476
|
+
margin-bottom: 20px;
|
477
|
+
font-style: normal;
|
478
|
+
line-height: $ic-line-height;
|
479
|
+
}
|
480
|
+
|
481
|
+
///////==============
|
482
|
+
/// Popover Settings
|
483
|
+
///////==============
|
484
|
+
|
485
|
+
.ui-widget.ui-tooltip {
|
486
|
+
word-wrap: break-word;
|
487
|
+
}
|
488
|
+
|
489
|
+
.ui-widget.ui-tooltip.popover {
|
490
|
+
padding: 1px;
|
491
|
+
font-size: 14px;
|
492
|
+
max-width: 236px;
|
493
|
+
width: 236px;
|
494
|
+
color: $gray;
|
495
|
+
text-align: direction(left);
|
496
|
+
text-decoration: none;
|
497
|
+
background-color: $popoverBackground;
|
498
|
+
opacity: 1;
|
499
|
+
border: 1px solid #ccc;
|
500
|
+
border: 1px solid rgba(0,0,0,.2);
|
501
|
+
border-radius: 6px;
|
502
|
+
box-shadow: 0 5px 10px rgba(0,0,0,.2);
|
503
|
+
}
|
504
|
+
|
505
|
+
.ui-widget.ui-tooltip.popover-padded {
|
506
|
+
padding: 9px 14px;
|
507
|
+
}
|
508
|
+
|
509
|
+
$popoverArrowDistanceFromCorner: $popoverArrowOuterWidth;
|
510
|
+
.ui-tooltip.popover {
|
511
|
+
&:before, &:after {
|
512
|
+
border-color: transparent transparent $popoverArrowOuterColor transparent;
|
513
|
+
position: absolute;
|
514
|
+
border-style:solid;
|
515
|
+
border-width: $popoverArrowOuterWidth;
|
516
|
+
width:0;
|
517
|
+
height:0;
|
518
|
+
content: "";
|
519
|
+
top: -$popoverArrowOuterWidth * 2;
|
520
|
+
#{direction(left)}: $popoverArrowDistanceFromCorner;
|
521
|
+
}
|
522
|
+
&:after {
|
523
|
+
border-bottom-color: $popoverTitleBackground;
|
524
|
+
border-width: $popoverArrowWidth;
|
525
|
+
top: -$popoverArrowWidth * 2;
|
526
|
+
#{direction(left)}: $popoverArrowDistanceFromCorner + 1;
|
527
|
+
}
|
528
|
+
&.right:before {
|
529
|
+
#{direction(left)}: auto;
|
530
|
+
#{direction(right)}: $popoverArrowDistanceFromCorner;
|
531
|
+
}
|
532
|
+
&.right:after {
|
533
|
+
#{direction(left)}: auto;
|
534
|
+
#{direction(right)}: $popoverArrowDistanceFromCorner + 1;
|
535
|
+
}
|
536
|
+
&.bottom:before {
|
537
|
+
border-color: $popoverArrowOuterColor transparent transparent transparent;
|
538
|
+
top: auto;
|
539
|
+
bottom: -$popoverArrowOuterWidth * 2;
|
540
|
+
}
|
541
|
+
&.bottom:after {
|
542
|
+
border-color: $popoverArrowColor transparent transparent transparent;
|
543
|
+
top: auto;
|
544
|
+
bottom: -$popoverArrowWidth * 2;
|
545
|
+
}
|
546
|
+
&.center:before {
|
547
|
+
#{direction(left)}: 50%;
|
548
|
+
margin-#{direction(left)}: -$popoverArrowOuterWidth;
|
549
|
+
#{direction(right)}: auto;
|
550
|
+
}
|
551
|
+
&.center:after {
|
552
|
+
#{direction(left)}: 50%;
|
553
|
+
margin-#{direction(left)}: -$popoverArrowWidth;
|
554
|
+
#{direction(right)}: auto;
|
555
|
+
}
|
556
|
+
&.middle:before {
|
557
|
+
top: 50%;
|
558
|
+
margin-top: -$popoverArrowOuterWidth;
|
559
|
+
bottom: auto;
|
560
|
+
}
|
561
|
+
&.middle:after {
|
562
|
+
top: 50%;
|
563
|
+
margin-top: -$popoverArrowWidth;
|
564
|
+
bottom: auto;
|
565
|
+
}
|
566
|
+
&.horizontal:before {
|
567
|
+
top: 50%;
|
568
|
+
margin-top: -$popoverArrowOuterWidth;
|
569
|
+
bottom: auto;
|
570
|
+
#{direction(left)}: -$popoverArrowOuterWidth * 2;
|
571
|
+
#{direction(right)}: auto;
|
572
|
+
border-color: transparent $popoverArrowOuterColor transparent transparent;
|
573
|
+
}
|
574
|
+
&.horizontal:after {
|
575
|
+
top: 50%;
|
576
|
+
margin-top: -$popoverArrowWidth;
|
577
|
+
bottom: auto;
|
578
|
+
#{direction(left)}: -$popoverArrowWidth * 2;
|
579
|
+
#{direction(right)}: auto;
|
580
|
+
border-color: transparent $popoverArrowColor transparent transparent;
|
581
|
+
}
|
582
|
+
&.right.horizontal:before {
|
583
|
+
#{direction(left)}: auto;
|
584
|
+
#{direction(right)}: -$popoverArrowOuterWidth * 2;
|
585
|
+
border-color: transparent transparent transparent $popoverArrowOuterColor;
|
586
|
+
}
|
587
|
+
&.right.horizontal:after {
|
588
|
+
#{direction(left)}: auto;
|
589
|
+
#{direction(right)}: -$popoverArrowWidth * 2;
|
590
|
+
border-color: transparent transparent transparent $popoverArrowColor;
|
591
|
+
}
|
592
|
+
&.bottom.horizontal:before {
|
593
|
+
top: auto;
|
594
|
+
bottom: $popoverArrowDistanceFromCorner;
|
595
|
+
}
|
596
|
+
&.bottom.horizontal:after {
|
597
|
+
top: auto;
|
598
|
+
bottom: $popoverArrowDistanceFromCorner + 1;
|
599
|
+
}
|
600
|
+
&.top.horizontal:before {
|
601
|
+
margin-top: 0;
|
602
|
+
top: $popoverArrowDistanceFromCorner;
|
603
|
+
}
|
604
|
+
&.top.horizontal:after {
|
605
|
+
margin-top: 0;
|
606
|
+
top: $popoverArrowDistanceFromCorner + 1;
|
607
|
+
}
|
608
|
+
&.content-top.horizontal:before {
|
609
|
+
margin-top: 0;
|
610
|
+
top: 35px;
|
611
|
+
}
|
612
|
+
&.content-top.horizontal:after {
|
613
|
+
margin-top: 0;
|
614
|
+
top: 36px;
|
615
|
+
}
|
616
|
+
}
|
617
|
+
|
618
|
+
.dotted-separator {
|
619
|
+
border-bottom: 1px dotted #aaa;
|
620
|
+
}
|
621
|
+
|
622
|
+
@keyframes highlight-shadow-fade {
|
623
|
+
from {
|
624
|
+
box-shadow: 0 0 8px rgba(82,168,236,1);
|
625
|
+
}
|
626
|
+
to {
|
627
|
+
box-shadow: none;
|
628
|
+
}
|
629
|
+
}
|