trumbowyg_rails 1.1.3 → 2.1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -7
  3. data/VERSION +1 -1
  4. data/lib/{trumbowyg_rails.rb → trumbowyg2-rails.rb} +0 -0
  5. data/trumbowyg_rails.gemspec +5 -5
  6. data/vendor/assets/images/trumbowyg/images/icons.svg +1 -0
  7. data/vendor/assets/javascripts/trumbowyg/langs/ar.js +56 -0
  8. data/vendor/assets/javascripts/trumbowyg/langs/ca.js +33 -34
  9. data/vendor/assets/javascripts/trumbowyg/langs/cs.js +54 -0
  10. data/vendor/assets/javascripts/trumbowyg/langs/da.js +55 -0
  11. data/vendor/assets/javascripts/trumbowyg/langs/de.js +33 -34
  12. data/vendor/assets/javascripts/trumbowyg/langs/el.js +58 -0
  13. data/vendor/assets/javascripts/trumbowyg/langs/es.js +33 -34
  14. data/vendor/assets/javascripts/trumbowyg/langs/es_ar.js +34 -34
  15. data/vendor/assets/javascripts/trumbowyg/langs/fa.js +33 -34
  16. data/vendor/assets/javascripts/trumbowyg/langs/fi.js +33 -34
  17. data/vendor/assets/javascripts/trumbowyg/langs/fr.js +40 -34
  18. data/vendor/assets/javascripts/trumbowyg/langs/he.js +57 -0
  19. data/vendor/assets/javascripts/trumbowyg/langs/hu.js +58 -0
  20. data/vendor/assets/javascripts/trumbowyg/langs/id.js +33 -34
  21. data/vendor/assets/javascripts/trumbowyg/langs/it.js +33 -34
  22. data/vendor/assets/javascripts/trumbowyg/langs/ja.js +56 -0
  23. data/vendor/assets/javascripts/trumbowyg/langs/ko.js +33 -34
  24. data/vendor/assets/javascripts/trumbowyg/langs/my.js +54 -0
  25. data/vendor/assets/javascripts/trumbowyg/langs/nl.js +56 -0
  26. data/vendor/assets/javascripts/trumbowyg/langs/pl.js +33 -34
  27. data/vendor/assets/javascripts/trumbowyg/langs/pt.js +33 -34
  28. data/vendor/assets/javascripts/trumbowyg/langs/ro.js +33 -35
  29. data/vendor/assets/javascripts/trumbowyg/langs/rs.js +53 -0
  30. data/vendor/assets/javascripts/trumbowyg/langs/rs_latin.js +54 -0
  31. data/vendor/assets/javascripts/trumbowyg/langs/ru.js +33 -34
  32. data/vendor/assets/javascripts/trumbowyg/langs/sk.js +54 -0
  33. data/vendor/assets/javascripts/trumbowyg/langs/sv.js +55 -0
  34. data/vendor/assets/javascripts/trumbowyg/langs/tr.js +34 -36
  35. data/vendor/assets/javascripts/trumbowyg/langs/ua.js +54 -0
  36. data/vendor/assets/javascripts/trumbowyg/langs/vi.js +55 -0
  37. data/vendor/assets/javascripts/trumbowyg/langs/zh_cn.js +34 -34
  38. data/vendor/assets/javascripts/trumbowyg/langs/zh_tw.js +57 -0
  39. data/vendor/assets/javascripts/trumbowyg/plugins/base64/trumbowyg.base64.js +90 -0
  40. data/vendor/assets/javascripts/trumbowyg/plugins/colors/trumbowyg.colors.js +164 -0
  41. data/vendor/assets/javascripts/trumbowyg/plugins/noembed/trumbowyg.noembed.js +96 -0
  42. data/vendor/assets/javascripts/trumbowyg/plugins/pasteimage/trumbowyg.pasteimage.js +39 -0
  43. data/vendor/assets/javascripts/trumbowyg/plugins/preformatted/trumbowyg.preformatted.js +117 -0
  44. data/vendor/assets/javascripts/trumbowyg/plugins/upload/trumbowyg.upload.js +204 -0
  45. data/vendor/assets/javascripts/trumbowyg/trumbowyg.js +1126 -700
  46. data/vendor/assets/stylesheets/trumbowyg/plugins/colors/trumbowyg.colors.scss +49 -0
  47. data/vendor/assets/stylesheets/trumbowyg/trumbowyg.scss +351 -159
  48. metadata +33 -11
  49. data/vendor/assets/images/trumbowyg/images/icons-2x.png +0 -0
  50. data/vendor/assets/images/trumbowyg/images/icons.png +0 -0
  51. data/vendor/assets/stylesheets/trumbowyg/_sprite-2x.scss +0 -28
  52. data/vendor/assets/stylesheets/trumbowyg/_sprite.scss +0 -28
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Trumbowyg v2.1.0 - A lightweight WYSIWYG editor
3
+ * Colors plugin stylesheet for Trumbowyg editor
4
+ * ------------------------
5
+ * @link http://alex-d.github.io/Trumbowyg
6
+ * @license MIT
7
+ * @author Alexandre Demode (Alex-D)
8
+ * Twitter : @AlexandreDemode
9
+ * Website : alex-d.fr
10
+ */
11
+
12
+ .trumbowyg-dropdown-foreColor,
13
+ .trumbowyg-dropdown-backColor {
14
+ width: 276px;
15
+ padding: 7px 5px;
16
+
17
+ svg {
18
+ display: none !important;
19
+ }
20
+
21
+ button {
22
+ display: block;
23
+ position: relative;
24
+ float: left;
25
+ text-indent: -9999px;
26
+ height: 20px;
27
+ width: 20px;
28
+ border: 1px solid #333;
29
+ padding: 0;
30
+ margin: 2px;
31
+
32
+ &:hover,
33
+ &:focus {
34
+ &::after {
35
+ content: " ";
36
+ display: block;
37
+ position: absolute;
38
+ top: -5px;
39
+ left: -5px;
40
+ height: 27px;
41
+ width: 27px;
42
+ background: inherit;
43
+ border: 1px solid #FFF;
44
+ box-shadow: #000 0 0 2px;
45
+ z-index: 10;
46
+ }
47
+ }
48
+ }
49
+ }
@@ -1,77 +1,169 @@
1
- @import "sprite";
2
- @import "sprite-2x";
3
-
4
1
  $light-color: #ecf0f1;
2
+ $dark-color: #222;
3
+
4
+ $modal-submit-color: #2ecc71;
5
+ $modal-reset-color: #EEE;
6
+
7
+ $transition-duration: 150ms;
8
+
9
+ #trumbowyg-icons {
10
+ overflow: hidden;
11
+ visibility: hidden;
12
+ height: 0;
13
+ width: 0;
5
14
 
6
- @mixin sprite-pos($_item, $retina: false){
7
- @if($retina == false){
8
- background-position: nth($_item, 1)+5 nth($_item, 2)+5;
9
- } @else {
10
- background-position: round(nth($_item, 1)/ 2)+5 round(nth($_item, 2)/ 2)+5;
15
+ svg {
16
+ height: 0;
17
+ width: 0;
11
18
  }
12
19
  }
13
20
 
21
+ .trumbowyg-box {
22
+ *,
23
+ *::before,
24
+ *::after {
25
+ box-sizing: border-box;
26
+ }
27
+
28
+ svg {
29
+ width: 17px;
30
+ height: 100%;
31
+ fill: $dark-color;
32
+ }
33
+ }
14
34
 
15
35
  .trumbowyg-box,
16
36
  .trumbowyg-editor {
17
37
  display: block;
18
38
  position: relative;
19
39
  border: 1px solid #DDD;
20
- width: 96%;
40
+ width: 100%;
21
41
  min-height: 300px;
22
42
  margin: 17px auto;
23
43
  }
44
+
24
45
  .trumbowyg-box .trumbowyg-editor {
25
46
  margin: 0 auto;
26
47
  }
48
+
27
49
  .trumbowyg-box.trumbowyg-fullscreen {
28
50
  background: #FEFEFE;
51
+ border: none !important;
29
52
  }
53
+
30
54
  .trumbowyg-editor,
31
55
  .trumbowyg-textarea {
32
56
  position: relative;
33
57
  box-sizing: border-box;
34
- padding: 1% 2%;
58
+ padding: 20px;
35
59
  min-height: 300px;
36
60
  width: 100%;
37
61
  border-style: none;
38
62
  resize: none;
39
63
  outline: none;
64
+ overflow: auto;
40
65
  }
66
+
41
67
  .trumbowyg-box-blur .trumbowyg-editor {
42
- * {
68
+ *,
69
+ &::before {
43
70
  color: transparent !important;
44
71
  text-shadow: 0 0 7px #333;
72
+
73
+ @media screen and (min-width: 0 \0
74
+ ) {
75
+ color: rgba(200, 200, 200, 0.6) !important;
76
+ }
77
+ @supports (-ms-accelerator:true) {
78
+ color: rgba(200, 200, 200, 0.6) !important;
79
+ }
45
80
  }
46
- img {
47
- opacity: .2;
81
+ img,
82
+ hr {
83
+ opacity: 0.2;
48
84
  }
49
85
  }
86
+
50
87
  .trumbowyg-textarea {
51
88
  position: relative;
52
89
  display: block;
53
90
  overflow: auto;
54
91
  border: none;
55
92
  white-space: normal;
93
+ font-size: 14px;
94
+ font-family: "Inconsolata", "Consolas", "Courier", "Courier New", sans-serif;
95
+ line-height: 18px;
96
+ }
97
+
98
+ .trumbowyg-box.trumbowyg-editor-visible {
99
+ .trumbowyg-textarea {
100
+ height: 1px !important;
101
+ width: 25%;
102
+ min-height: 0 !important;
103
+ padding: 0 !important;
104
+ background: none;
105
+ opacity: 0 !important;
106
+ }
107
+ }
108
+
109
+ .trumbowyg-box.trumbowyg-editor-hidden {
110
+ .trumbowyg-textarea {
111
+ display: block;
112
+ }
113
+ .trumbowyg-editor {
114
+ display: none;
115
+ }
116
+ }
117
+
118
+ .trumbowyg-box.trumbowyg-disabled {
119
+ .trumbowyg-textarea {
120
+ opacity: 0.8;
121
+ background: none;
122
+ }
123
+ }
124
+
125
+ .trumbowyg-editor[contenteditable=true]:empty::before {
126
+ content: attr(placeholder);
127
+ color: #999;
128
+ pointer-events: none;
56
129
  }
57
130
 
58
131
  .trumbowyg-button-pane {
59
- position: relative;
132
+ display: flex;
133
+ flex-flow: row wrap;
60
134
  width: 100%;
135
+ min-height: 36px;
61
136
  background: $light-color;
62
137
  border-bottom: 1px solid darken($light-color, 7%);
63
138
  margin: 0;
64
- padding: 0;
139
+ padding: 0 5px;
65
140
  list-style-type: none;
66
141
  line-height: 10px;
67
142
  backface-visibility: hidden;
68
143
 
69
- li {
70
- display: inline-block;
71
- text-align: center;
72
- overflow: hidden;
144
+ &::after {
145
+ content: " ";
146
+ display: block;
147
+ position: absolute;
148
+ top: 36px;
149
+ left: 0;
150
+ right: 0;
151
+ width: 100%;
152
+ height: 1px;
153
+ background: darken($light-color, 7%);
154
+ }
155
+
156
+ .trumbowyg-button-group {
157
+ display: flex;
158
+ flex-flow: row wrap;
159
+
160
+ .trumbowyg-fullscreen-button svg {
161
+ color: transparent;
162
+ }
73
163
 
74
- &.trumbowyg-separator {
164
+ &:not(:empty) + .trumbowyg-button-group::before {
165
+ content: " ";
166
+ display: block;
75
167
  width: 1px;
76
168
  background: darken($light-color, 7%);
77
169
  margin: 0 5px;
@@ -79,30 +171,40 @@ $light-color: #ecf0f1;
79
171
  }
80
172
  }
81
173
 
82
- &.trumbowyg-disable {
83
- li:not(.trumbowyg-not-disable) button:not(.trumbowyg-active) {
84
- opacity: .2;
85
- cursor: default;
86
- }
87
- li.trumbowyg-separator {
88
- background: darken($light-color, 3%);
89
- }
174
+ button {
175
+ display: block;
176
+ position: relative;
177
+ width: 35px;
178
+ height: 35px;
179
+ padding: 1px 6px !important;
180
+ margin-bottom: 1px;
181
+ overflow: hidden;
182
+ border: none;
183
+ cursor: pointer;
184
+ background: none;
185
+ transition: background-color $transition-duration, opacity $transition-duration;
90
186
  }
91
187
 
92
- li button {
93
- // At bottom of this stylesheet
188
+ &.trumbowyg-disable button:not(.trumbowyg-not-disable):not(.trumbowyg-active),
189
+ .trumbowyg-disabled & button:not(.trumbowyg-not-disable):not(.trumbowyg-viewHTML-button) {
190
+ opacity: 0.2;
191
+ cursor: default;
192
+ }
193
+ &.trumbowyg-disable,
194
+ .trumbowyg-disabled & {
195
+ .trumbowyg-button-group::before {
196
+ background: darken($light-color, 3%);
197
+ }
94
198
  }
95
199
 
96
- &:not(.trumbowyg-disable) li button:hover,
97
- &:not(.trumbowyg-disable) li button:focus,
98
- li button.trumbowyg-active,
99
- li.trumbowyg-not-disable button:hover,
100
- li.trumbowyg-not-disable button:focus {
200
+ button:not(.trumbowyg-disable):hover,
201
+ button:not(.trumbowyg-disable):focus,
202
+ button.trumbowyg-active {
101
203
  background-color: #FFF;
102
204
  outline: none;
103
205
  }
104
206
 
105
- li .trumbowyg-open-dropdown:after {
207
+ .trumbowyg-open-dropdown::after {
106
208
  display: block;
107
209
  content: " ";
108
210
  position: absolute;
@@ -114,12 +216,11 @@ $light-color: #ecf0f1;
114
216
  border-top-color: #555;
115
217
  }
116
218
 
117
- .trumbowyg-buttons-right {
118
- float: right;
119
- width: auto;
219
+ .trumbowyg-right {
220
+ margin-left: auto;
120
221
 
121
- button {
122
- float: left;
222
+ &::before {
223
+ display: none !important;
123
224
  }
124
225
  }
125
226
  }
@@ -140,42 +241,52 @@ $light-color: #ecf0f1;
140
241
  line-height: 35px;
141
242
  text-decoration: none;
142
243
  background: #FFF;
143
- padding: 0 14px;
144
- color: #333;
244
+ padding: 0 10px;
245
+ color: #333 !important;
145
246
  border: none;
146
247
  cursor: pointer;
147
248
  text-align: left;
148
249
  font-size: 15px;
149
- transition: all .15s;
250
+ transition: all $transition-duration;
150
251
 
151
252
  &:hover,
152
253
  &:focus {
153
254
  background: $light-color;
154
255
  }
256
+
257
+ svg {
258
+ float: left;
259
+ margin-right: 14px;
260
+ }
155
261
  }
156
262
  }
157
263
 
158
-
159
264
  /* Modal box */
160
265
  .trumbowyg-modal {
161
266
  position: absolute;
162
267
  top: 0;
163
268
  left: 50%;
164
- margin-left: -260px;
165
- width: 520px;
166
- height: 290px;
269
+ transform: translateX(-50%);
270
+ max-width: 520px;
271
+ width: 100%;
272
+ height: 350px;
273
+ z-index: 11;
167
274
  overflow: hidden;
275
+ backface-visibility: hidden;
168
276
  }
277
+
169
278
  .trumbowyg-modal-box {
170
279
  position: absolute;
171
280
  top: 0;
172
281
  left: 50%;
173
- margin-left: -250px;
174
- width: 500px;
175
- height: 275px;
282
+ transform: translateX(-50%);
283
+ max-width: 500px;
284
+ width: calc(100% - 20px);
285
+ padding-bottom: 45px;
176
286
  z-index: 1;
177
287
  background-color: #FFF;
178
288
  text-align: center;
289
+ font-size: 14px;
179
290
  box-shadow: rgba(0, 0, 0, .2) 0 2px 3px;
180
291
  backface-visibility: hidden;
181
292
 
@@ -192,7 +303,6 @@ $light-color: #ecf0f1;
192
303
 
193
304
  .trumbowyg-progress {
194
305
  width: 100%;
195
- background: #F00;
196
306
  height: 3px;
197
307
  position: absolute;
198
308
  top: 58px;
@@ -200,7 +310,7 @@ $light-color: #ecf0f1;
200
310
  .trumbowyg-progress-bar {
201
311
  background: #2BC06A;
202
312
  height: 100%;
203
- transition: width .15s linear;
313
+ transition: width $transition-duration linear;
204
314
  }
205
315
  }
206
316
 
@@ -217,15 +327,15 @@ $light-color: #ecf0f1;
217
327
  text-align: left;
218
328
  height: 25px;
219
329
  line-height: 25px;
220
- transition: all .15;
330
+ transition: all 150ms;
221
331
 
222
332
  span {
223
333
  display: block;
224
- color: darken($light-color, 35%);
334
+ color: darken($light-color, 45%);
225
335
  background-color: lighten($light-color, 5%);
226
336
  border: 1px solid #DEDEDE;
227
- padding: 0 2%;
228
- width: 19.5%;
337
+ padding: 0 7px;
338
+ width: 150px;
229
339
  }
230
340
  span.trumbowyg-msg-error {
231
341
  color: #e74c3c;
@@ -247,14 +357,15 @@ $light-color: #ecf0f1;
247
357
  position: absolute;
248
358
  top: 0;
249
359
  right: 0;
250
- height: 25px;
251
- line-height: 25px;
360
+ height: 27px;
361
+ line-height: 27px;
252
362
  border: 1px solid #DEDEDE;
253
- background: transparent;
254
- width: 72%;
255
- padding: 0 2%;
256
- margin: 0 0 0 23%;
257
- transition: all .15s;
363
+ background: #fff;
364
+ font-size: 14px;
365
+ max-width: 330px;
366
+ width: 70%;
367
+ padding: 0 7px;
368
+ transition: all $transition-duration;
258
369
 
259
370
  &:hover,
260
371
  &:focus {
@@ -262,7 +373,7 @@ $light-color: #ecf0f1;
262
373
  border: 1px solid #95a5a6;
263
374
  }
264
375
  &:focus {
265
- background: rgba(230, 230, 255, .1);
376
+ background: lighten($light-color, 5%);
266
377
  }
267
378
  }
268
379
  }
@@ -286,13 +397,11 @@ $light-color: #ecf0f1;
286
397
  margin: 0 10px;
287
398
  background-color: #333;
288
399
  border: none;
289
- border-top: none;
290
400
  cursor: pointer;
291
401
  font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif;
292
402
  font-size: 16px;
293
- transition: all .15s;
403
+ transition: all $transition-duration;
294
404
 
295
- $modal-submit-color : #2ecc71;
296
405
  &.trumbowyg-modal-submit {
297
406
  right: 110px;
298
407
  background: darken($modal-submit-color, 3%);
@@ -307,7 +416,6 @@ $light-color: #ecf0f1;
307
416
  }
308
417
  }
309
418
 
310
- $modal-reset-color : #EEE;
311
419
  &.trumbowyg-modal-reset {
312
420
  color: #555;
313
421
  background: darken($modal-reset-color, 3%);
@@ -323,18 +431,23 @@ $light-color: #ecf0f1;
323
431
  }
324
432
  }
325
433
  }
434
+
326
435
  .trumbowyg-overlay {
327
436
  position: absolute;
328
- background-color: rgba(255, 255, 255, .5);
437
+ background-color: rgba(255, 255, 255, 0.5);
329
438
  width: 100%;
330
439
  left: 0;
331
440
  display: none;
441
+ z-index: 10;
332
442
  }
333
443
 
334
-
335
444
  /**
336
445
  * Fullscreen
337
446
  */
447
+ body.trumbowyg-body-fullscreen {
448
+ overflow: hidden;
449
+ }
450
+
338
451
  .trumbowyg-fullscreen {
339
452
  position: fixed;
340
453
  top: 0;
@@ -349,35 +462,43 @@ $light-color: #ecf0f1;
349
462
  .trumbowyg-editor {
350
463
  border: none;
351
464
  }
465
+ .trumbowyg-editor,
466
+ .trumbowyg-textarea {
467
+ height: calc(100% - 37px) !important;
468
+ overflow: auto;
469
+ }
352
470
  .trumbowyg-overlay {
353
471
  height: 100% !important;
354
472
  }
473
+ .trumbowyg-button-group .trumbowyg-fullscreen-button svg {
474
+ color: $dark-color;
475
+ fill: transparent;
476
+ }
355
477
  }
356
478
 
357
-
358
-
359
- /*
360
- * Reset for resetCss option
361
- */
362
479
  .trumbowyg-editor {
363
480
  object,
364
481
  embed,
365
482
  video,
366
483
  img {
367
- width: auto;
368
484
  max-width: 100%;
369
485
  }
370
486
  video,
371
487
  img {
372
488
  height: auto;
373
489
  }
374
- img { cursor: move; }
490
+ img {
491
+ cursor: move;
492
+ }
375
493
 
494
+ /*
495
+ * lset for resetCss option
496
+ */
376
497
  &.trumbowyg-reset-css {
377
498
  background: #FEFEFE !important;
378
499
  font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif !important;
379
500
  font-size: 14px !important;
380
- line-height: 1.45em !important;
501
+ line-height: 1.45em !important;
381
502
  white-space: normal !important;
382
503
  color: #333;
383
504
 
@@ -400,7 +521,7 @@ $light-color: #ecf0f1;
400
521
  font-size: 14px !important;
401
522
  border: none;
402
523
  }
403
- iframe,
524
+ iframe,
404
525
  object,
405
526
  hr {
406
527
  margin-bottom: 15px !important;
@@ -464,103 +585,174 @@ $light-color: #ecf0f1;
464
585
  }
465
586
  }
466
587
 
467
-
468
-
469
588
  /*
470
- * Buttons icons
589
+ * Dark theme
471
590
  */
472
- .trumbowyg-button-pane li button {
473
- display: block;
474
- position: relative;
475
- text-indent: -9999px;
476
- width: 35px;
477
- height: 35px;
478
- overflow: hidden;
479
- background: transparent url($icons) no-repeat;
480
- border: none;
481
- cursor: pointer;
482
- transition: background-color .15s, background-image .15s, opacity .15s;
483
-
484
- &.trumbowyg-viewHTML-button { @include sprite-pos($view-html); }
485
- &.trumbowyg-formatting-button { @include sprite-pos($formatting); }
486
-
487
- /* English and others */
488
- &.trumbowyg-bold-button, &.trumbowyg-strong-button { @include sprite-pos($bold); }
489
- &.trumbowyg-italic-button, &.trumbowyg-em-button { @include sprite-pos($italic); }
490
- &.trumbowyg-underline-button { @include sprite-pos($underline); }
491
- &.trumbowyg-strikethrough-button, &.trumbowyg-del-button { @include sprite-pos($strikethrough); }
492
-
493
- &.trumbowyg-link-button { @include sprite-pos($link); }
494
-
495
- &.trumbowyg-insertImage-button { @include sprite-pos($image); }
496
-
497
- &.trumbowyg-justifyLeft-button { @include sprite-pos($left-align); }
498
- &.trumbowyg-justifyCenter-button { @include sprite-pos($center-align); }
499
- &.trumbowyg-justifyRight-button { @include sprite-pos($right-align); }
500
- &.trumbowyg-justifyFull-button { @include sprite-pos($justify-align); }
591
+ .trumbowyg-dark {
592
+ .trumbowyg-textarea {
593
+ background: #111;
594
+ color: #ddd;
595
+ }
596
+ .trumbowyg-box {
597
+ border: 1px solid lighten($dark-color, 7%);
501
598
 
502
- &.trumbowyg-unorderedList-button { @include sprite-pos($unordered-list); }
503
- &.trumbowyg-orderedList-button { @include sprite-pos($ordered-list); }
599
+ &.trumbowyg-fullscreen {
600
+ background: #111;
601
+ }
602
+ &.trumbowyg-box-blur .trumbowyg-editor {
603
+ *,
604
+ &::before {
605
+ text-shadow: 0 0 7px #ccc;
606
+
607
+ @media screen and (min-width: 0 \0
608
+ ) {
609
+ color: rgba(20, 20, 20, 0.6) !important;
610
+ }
611
+ @supports (-ms-accelerator:true) {
612
+ color: rgba(20, 20, 20, 0.6) !important;
613
+ }
614
+ }
615
+ }
504
616
 
505
- &.trumbowyg-horizontalRule-button { @include sprite-pos($horizontal-rule); }
617
+ svg {
618
+ fill: $light-color;
619
+ color: $light-color;
620
+ }
621
+ }
622
+ .trumbowyg-button-pane {
623
+ background-color: $dark-color;
624
+ border-bottom-color: lighten($dark-color, 7%);
506
625
 
507
- &.trumbowyg-fullscreen-button { @include sprite-pos($fullscreen); }
508
- &.trumbowyg-close-button { @include sprite-pos($close); }
509
- }
510
- .trumbowyg-fullscreen .trumbowyg-button-pane li button.trumbowyg-fullscreen-button { @include sprite-pos($fullscreen-exit); }
511
- .trumbowyg-button-pane li {
512
- &:first-child button { margin-left: 6px; }
513
- &:last-child button { margin-right: 6px; }
514
- }
626
+ &::after {
627
+ background: lighten($dark-color, 7%);
628
+ }
515
629
 
516
- /* French */
517
- .trumbowyg-fr .trumbowyg-button-pane li button {
518
- &.trumbowyg-bold-button, &.trumbowyg-strong-button { @include sprite-pos($gras); }
519
- &.trumbowyg-underline-button { @include sprite-pos($souligne); }
520
- &.trumbowyg-strikethrough-button, &.trumbowyg-del-button { @include sprite-pos($barre); }
521
- }
630
+ .trumbowyg-button-group:not(:empty) {
631
+ &::before {
632
+ background-color: lighten($dark-color, 7%);
633
+ }
634
+ .trumbowyg-fullscreen-button svg {
635
+ color: transparent;
636
+ }
637
+ }
522
638
 
639
+ &.trumbowyg-disable {
640
+ .trumbowyg-button-group::before {
641
+ background-color: lighten($dark-color, 3%);
642
+ }
643
+ }
523
644
 
645
+ button:not(.trumbowyg-disable):hover,
646
+ button:not(.trumbowyg-disable):focus,
647
+ button.trumbowyg-active {
648
+ background-color: #333;
649
+ }
524
650
 
651
+ .trumbowyg-open-dropdown::after {
652
+ border-top-color: #fff;
653
+ }
654
+ }
655
+ .trumbowyg-fullscreen {
656
+ .trumbowyg-button-group .trumbowyg-fullscreen-button svg {
657
+ color: $light-color;
658
+ fill: transparent;
659
+ }
660
+ }
525
661
 
662
+ .trumbowyg-dropdown {
663
+ border-color: $dark-color;
664
+ background: #333;
665
+ box-shadow: rgba(0, 0, 0, .3) 0 2px 3px;
526
666
 
527
- @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 4/3), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx){
528
- .trumbowyg-button-pane li button {
529
- background-size: round($sprite-width-2x / 2) round($sprite-height-2x / 2) !important;
530
- background-image: url($icons-2x) !important;
667
+ button {
668
+ background: #333;
669
+ color: #fff !important;
531
670
 
532
- &.trumbowyg-viewHTML-button { @include sprite-pos($view-html-2x, true); }
533
- &.trumbowyg-formatting-button { @include sprite-pos($formatting-2x, true); }
671
+ &:hover,
672
+ &:focus {
673
+ background: $dark-color;
674
+ }
675
+ }
676
+ }
534
677
 
535
- /* English and others */
536
- &.trumbowyg-bold-button, &.trumbowyg-strong-button { @include sprite-pos($bold-2x, true); }
537
- &.trumbowyg-italic-button, &.trumbowyg-em-button { @include sprite-pos($italic-2x, true); }
538
- &.trumbowyg-underline-button { @include sprite-pos($underline-2x, true); }
539
- &.trumbowyg-strikethrough-button, &.trumbowyg-del-button { @include sprite-pos($strikethrough-2x, true); }
678
+ // Modal box
679
+ .trumbowyg-modal-box {
680
+ background-color: $dark-color;
540
681
 
541
- &.trumbowyg-link-button { @include sprite-pos($link-2x, true); }
682
+ .trumbowyg-modal-title {
683
+ border-bottom: 1px solid #555;
684
+ color: #fff;
685
+ background: lighten($dark-color, 10%);
686
+ }
542
687
 
543
- &.trumbowyg-insertImage-button { @include sprite-pos($image-2x, true); }
688
+ label {
689
+ display: block;
690
+ position: relative;
691
+ margin: 15px 12px;
692
+ height: 27px;
693
+ line-height: 27px;
694
+ overflow: hidden;
544
695
 
545
- &.trumbowyg-justifyLeft-button { @include sprite-pos($left-align-2x, true); }
546
- &.trumbowyg-justifyCenter-button { @include sprite-pos($center-align-2x, true); }
547
- &.trumbowyg-justifyRight-button { @include sprite-pos($right-align-2x, true); }
548
- &.trumbowyg-justifyFull-button { @include sprite-pos($justify-align-2x, true); }
696
+ .trumbowyg-input-infos {
697
+ span {
698
+ color: #eee;
699
+ background-color: lighten($dark-color, 5%);
700
+ border-color: $dark-color;
701
+ }
702
+ span.trumbowyg-msg-error {
703
+ color: #e74c3c;
704
+ }
705
+ }
549
706
 
550
- &.trumbowyg-unorderedList-button { @include sprite-pos($unordered-list-2x, true); }
551
- &.trumbowyg-orderedList-button { @include sprite-pos($ordered-list-2x, true); }
707
+ &.trumbowyg-input-error {
708
+ input,
709
+ textarea {
710
+ border-color: #e74c3c;
711
+ }
712
+ }
552
713
 
553
- &.trumbowyg-horizontalRule-button { @include sprite-pos($horizontal-rule-2x, true); }
714
+ input {
715
+ border-color: $dark-color;
716
+ color: #eee;
717
+ background: #333;
718
+
719
+ &:hover,
720
+ &:focus {
721
+ border-color: lighten($dark-color, 25%);
722
+ }
723
+ &:focus {
724
+ background-color: lighten($dark-color, 5%);
725
+ }
726
+ }
727
+ }
554
728
 
555
- &.trumbowyg-fullscreen-button { @include sprite-pos($fullscreen-2x, true); }
556
- &.trumbowyg-close-button { @include sprite-pos($close-2x, true); }
729
+ .trumbowyg-modal-button {
730
+ &.trumbowyg-modal-submit {
731
+ background: darken($modal-submit-color, 20%);
732
+
733
+ &:hover,
734
+ &:focus {
735
+ background: darken($modal-submit-color, 10%);
736
+ }
737
+ &:active {
738
+ background: darken($modal-submit-color, 25%);
739
+ }
740
+ }
741
+ &.trumbowyg-modal-reset {
742
+ background: #333;
743
+ color: #ccc;
744
+
745
+ &:hover,
746
+ &:focus {
747
+ background: #444;
748
+ }
749
+ &:active {
750
+ background: #111;
751
+ }
752
+ }
753
+ }
557
754
  }
558
- .trumbowyg-fullscreen .trumbowyg-button-pane li a.trumbowyg-fullscreen-button { @include sprite-pos($fullscreen-exit-2x, true); }
559
-
560
- /* French */
561
- .trumbowyg-fr .trumbowyg-button-pane li button {
562
- &.trumbowyg-bold-button, &.trumbowyg-strong-button { @include sprite-pos($gras-2x, true); }
563
- &.trumbowyg-underline-button { @include sprite-pos($souligne-2x, true); }
564
- &.trumbowyg-strikethrough-button, &.trumbowyg-del-button { @include sprite-pos($barre-2x, true); }
755
+ .trumbowyg-overlay {
756
+ background-color: rgba(15, 15, 15, 0.6);
565
757
  }
566
- }
758
+ }