trumbowyg_rails 1.1.3 → 2.1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
+ }