scrivito_editors 1.9.1 → 1.10.0.rc1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d565ce33c3e27e10c1a10803af4831457fd7562c
4
- data.tar.gz: 12fe05dbc49c71bf3754b247fc2e317d41500a7c
3
+ metadata.gz: 12afd5797c95745c3281910571247396c91e1c54
4
+ data.tar.gz: ba2fe5054e918c7689fb04d738c95d13a65c6aa6
5
5
  SHA512:
6
- metadata.gz: 04e7e140f51f9e72739fe28331bcf671f6d4e510a68d5c45c6a0bd47975f76517bbed6e3ca1b9ee13374b5f2c377b02b30666596b983865085ac682b730926f9
7
- data.tar.gz: eb781565d466a49a34aed3ab54e75a496a1735b1b29d7ac3314c403587b1b41dfe592f42f2d70fe27d3c835b30cd0e52f24dec09be3d768e3e07d6e982629b67
6
+ metadata.gz: 38da4a94954844ededa09cb0a5d42068185f4df4b65f098a93f31208bf0996d6b7738a7bb6bfab789f35c08179e5040f187cc98bbac8db7b25f77bf9e8051d1a
7
+ data.tar.gz: 56285984fad82f49e04215665f0d26cbf5381bb72d3942104f6ce1e4ad41eec25616a161059a9521ab6cab1128fa65867f10ad6face3dbd8a459fbde9663687e
@@ -28,6 +28,7 @@
28
28
  activate = function(element) {
29
29
  var cmsField;
30
30
  cmsField = $(element);
31
+ scrivito.editors.applyPlaceholder(cmsField);
31
32
  return cmsField.on('click', function(event) {
32
33
  var content, dateFormat, options, timeFormat;
33
34
  if (cmsField.is('.hasDatepicker')) {
@@ -17,8 +17,8 @@
17
17
  fetchDescription = function(cmsField, objId) {
18
18
  return scrivito.description_for_editor([objId]).then(function(descriptions) {
19
19
  var urlInput;
20
- urlInput = cmsField.find('[name=url]');
21
- if (descriptions[0] && urlInput.not(':focus')) {
20
+ urlInput = cmsField.find('[name=url][data-value]');
21
+ if (descriptions[0]) {
22
22
  return urlInput.val(descriptions[0]);
23
23
  }
24
24
  });
@@ -46,17 +46,18 @@
46
46
  if (raw) {
47
47
  input.val(raw);
48
48
  }
49
- return input.attr('data-value', null);
49
+ return input.removeAttr('data-value');
50
50
  });
51
51
  };
52
52
 
53
53
  template = function(link) {
54
- var objUrl, url;
54
+ var objUrl, title, url;
55
55
  if (link.obj_id) {
56
56
  objUrl = URI(scrivito.path_for_id(link.obj_id)).query(link.query || null).fragment(link.fragment || null);
57
57
  }
58
58
  url = link.url || objUrl || '';
59
- return $("<ul>\n <li data-id=\"" + (link.obj_id || '') + "\" data-target=\"\">\n <input type=\"text\" name=\"title\" value=\"" + (link.title || '') + "\" placeholder=\"Title\" />\n <input type=\"text\" name=\"url\" value=\"" + url + "\" data-value=\"" + url + "\" placeholder=\"URL\"\n class=\"editing-url\" />\n <div class=\"actions\">\n <div class=\"input_group_btn\">\n <a href=\"#\" class=\"editing-button editing-grey editing-clear\"\n data-scrivito-editors-toggle-target>\n <span class=\"scrivito_editors_current_target\"></span>\n <i class=\"scrivito_icon scrivito_icon_link_target\"></i>\n </a>\n <ul class=\"dropdown_menu\"></ul>\n </div>\n <a href=\"#\" class=\"editing-button content-browser-open editing-green\"\n data-scrivito-editors-browse>\n <i class=\"scrivito_icon scrivito_icon_content_browser\"></i>\n </a>\n </div>\n </li>\n</ul>");
59
+ title = link.title || '';
60
+ return $("<ul>\n <li data-id=\"" + (link.obj_id || '') + "\" data-target=\"\">\n <input type=\"text\" name=\"title\" placeholder=\"Title\" />\n <input type=\"text\" name=\"url\" placeholder=\"URL\" class=\"editing-url\" />\n <div class=\"actions\">\n <div class=\"input_group_btn\">\n <a href=\"#\" class=\"editing-button editing-grey editing-clear\"\n data-scrivito-editors-toggle-target>\n <span class=\"scrivito_editors_current_target\"></span>\n <i class=\"scrivito_icon scrivito_icon_link_target\"></i>\n </a>\n <ul class=\"dropdown_menu\"></ul>\n </div>\n <a href=\"#\" class=\"editing-button content-browser-open editing-green\"\n data-scrivito-editors-browse>\n <i class=\"scrivito_icon scrivito_icon_content_browser\"></i>\n </a>\n </div>\n </li>\n</ul>").find('[name=title]').val(title).end().find('[name=url]').attr('data-value', url).val(url).end();
60
61
  };
61
62
 
62
63
  openContentBrowser = function(cmsField) {
@@ -40,8 +40,8 @@
40
40
  results = [];
41
41
  for (i = j = 0, len = objIds.length; j < len; i = ++j) {
42
42
  objId = objIds[i];
43
- urlInput = cmsField.find("[data-id='" + objId + "'] [name=url]");
44
- if (descriptions[i] && urlInput.not(':focus')) {
43
+ urlInput = cmsField.find("[data-id='" + objId + "'] [name=url][data-value]");
44
+ if (descriptions[i]) {
45
45
  results.push(urlInput.val(descriptions[i]));
46
46
  } else {
47
47
  results.push(void 0);
@@ -103,17 +103,18 @@
103
103
  if (raw) {
104
104
  input.val(raw);
105
105
  }
106
- return input.attr('data-value', null);
106
+ return input.removeAttr('data-value');
107
107
  });
108
108
  };
109
109
 
110
110
  linkTemplate = function(link) {
111
- var objUrl, url;
111
+ var objUrl, title, url;
112
112
  if (link.obj_id) {
113
113
  objUrl = URI(scrivito.path_for_id(link.obj_id)).query(link.query || null).fragment(link.fragment || null);
114
114
  }
115
115
  url = link.url || objUrl || '';
116
- return $("<li data-id=\"" + (link.obj_id || '') + "\" data-title=\"" + (link.title || '') + "\" data-url=\"" + url + "\"\n data-target=\"\">\n <span class=\"scrivito-editors-handle\"></span>\n <input type=\"text\" name=\"title\" value=\"" + (link.title || '') + "\" placeholder=\"Title\" />\n <input type=\"text\" name=\"url\" value=\"" + url + "\" data-value=\"" + url + "\" placeholder=\"URL\"\n class=\"editing-url\" />\n <div class=\"actions\">\n <div class=\"input_group_btn\">\n <a href=\"#\" class=\"editing-button editing-grey editing-clear\"\n data-scrivito-editors-toggle-target>\n <span class=\"scrivito_editors_current_target\"></span>\n <i class=\"scrivito_icon scrivito_icon_link_target\"></i>\n </a>\n <ul class=\"dropdown_menu\"></ul>\n </div>\n <a href=\"#\" class=\"editing-button content-browser-open editing-green\"\n data-scrivito-editors-browse>\n <i class=\"scrivito_icon scrivito_icon_content_browser\"></i>\n </a>\n <a href=\"#\" class=\"editing-button editing-red delete\">\n <i class=\"scrivito_icon scrivito_icon_trash\"></i>\n </a>\n </div>\n</li>");
116
+ title = link.title || '';
117
+ return $("<li data-id=\"" + (link.obj_id || '') + "\" data-target=\"\">\n <span class=\"scrivito-editors-handle\"></span>\n <input type=\"text\" name=\"title\" placeholder=\"Title\" />\n <input type=\"text\" name=\"url\" placeholder=\"URL\" class=\"editing-url\" />\n <div class=\"actions\">\n <div class=\"input_group_btn\">\n <a href=\"#\" class=\"editing-button editing-grey editing-clear\"\n data-scrivito-editors-toggle-target>\n <span class=\"scrivito_editors_current_target\"></span>\n <i class=\"scrivito_icon scrivito_icon_link_target\"></i>\n </a>\n <ul class=\"dropdown_menu\"></ul>\n </div>\n <a href=\"#\" class=\"editing-button content-browser-open editing-green\"\n data-scrivito-editors-browse>\n <i class=\"scrivito_icon scrivito_icon_content_browser\"></i>\n </a>\n <a href=\"#\" class=\"editing-button editing-red delete\">\n <i class=\"scrivito_icon scrivito_icon_trash\"></i>\n </a>\n </div>\n</li>").attr('data-title', title).attr('data-url', url).find('[name=title]').val(title).end().find('[name=url]').attr('data-value', url).val(url).end();
117
118
  };
118
119
 
119
120
  save = function(cmsField) {
@@ -89,6 +89,7 @@
89
89
  activate = function(proxy) {
90
90
  var cmsField, mediumEditor, scrivitoAnchorExtension;
91
91
  cmsField = proxy.jQueryElement();
92
+ scrivito.editors.applyPlaceholder(cmsField);
92
93
  mediumEditor = new MediumEditor(cmsField, editorOptions()).subscribe('editableInput', function() {
93
94
  return proxy.save(cmsField.html());
94
95
  });
@@ -1,37 +1,36 @@
1
- (function() {
2
- var addPlaceholder, applyBrowserWorkarounds;
1
+ 'use strict';
3
2
 
4
- addPlaceholder = function() {
5
- var cmsFields;
6
- cmsFields = $('[data-scrivito-field-type]').not('[data-scrivito-field-type=widgetlist]');
7
- return cmsFields.each(function() {
8
- var cmsField, defaultPlaceholder, fieldName, placeholder;
9
- cmsField = $(this);
10
- fieldName = cmsField.attr('data-scrivito-field-name');
11
- defaultPlaceholder = "Click to edit the “" + fieldName + "” attribute ...";
12
- placeholder = cmsField.attr('data-scrivito-editors-placeholder') || defaultPlaceholder;
13
- cmsField.attr('data-scrivito-editors-placeholder', placeholder);
14
- return applyBrowserWorkarounds(cmsField);
15
- });
16
- };
17
-
18
- applyBrowserWorkarounds = function(cmsField) {
19
- return cmsField.on('focus', (function(_this) {
20
- return function() {
21
- if (cmsField.is(':empty')) {
22
- cmsField.text('_');
23
- window.getSelection().selectAllChildren(cmsField[0]);
24
- cmsField.text('');
25
- return window.getSelection().collapseToStart(cmsField[0]);
26
- }
27
- };
28
- })(this));
29
- };
3
+ (function () {
4
+ /*
5
+ * Display a placeholder for empty CMS attributes. The placeholder can be overwritten by
6
+ * defining a +data-scrivito-editors-placeholder+ HTML attribute on the DOM element generated
7
+ * by +scrivito_tag+.
8
+ *
9
+ * For example:
10
+ * scrivito_tag(:div, @obj, :my_attribute, data: { scrivito_editors_placeholder: 'My text' })
11
+ */
12
+ scrivito.editors.applyPlaceholder = function ($cmsField) {
13
+ if (!$cmsField.is('data-scrivito-editors-placeholder')) {
14
+ var fieldName = $cmsField.attr('data-scrivito-field-name');
15
+ var defaultPlaceholder = 'Click to edit the “' + fieldName + '” attribute ...';
30
16
 
31
- scrivito.on('content', function() {
32
- if (scrivito.in_editable_view()) {
33
- return addPlaceholder();
17
+ $cmsField.attr('data-scrivito-editors-placeholder', defaultPlaceholder);
34
18
  }
35
- });
36
19
 
37
- }).call(this);
20
+ applyBrowserWorkarounds($cmsField);
21
+ };
22
+
23
+ // Chrome: fixes span element issue: sometimes the focus is set, but the element receives no input
24
+ // Firefox: in combination with CSS, helps positioning the cursor at the correct position
25
+ function applyBrowserWorkarounds($cmsField) {
26
+ $cmsField.on('focus', function () {
27
+ if ($cmsField.is(':empty')) {
28
+ $cmsField.text('_');
29
+ window.getSelection().selectAllChildren($cmsField.get(0));
30
+ $cmsField.text('');
31
+ // needed for IE11: make cursor blink
32
+ window.getSelection().collapseToStart($cmsField.get(0));
33
+ }
34
+ });
35
+ }
36
+ })();
@@ -129,6 +129,7 @@
129
129
  activate = function(element) {
130
130
  var cmsField;
131
131
  cmsField = $(element);
132
+ scrivito.editors.applyPlaceholder(cmsField);
132
133
  cmsField.on('click', function(event) {
133
134
  event.preventDefault();
134
135
  if (!cmsField.hasClass('scrivito_editors_redactor')) {
@@ -4,6 +4,7 @@
4
4
  activate = function(element) {
5
5
  var cmsField, objId;
6
6
  cmsField = $(element);
7
+ scrivito.editors.applyPlaceholder(cmsField);
7
8
  if (cmsField.is('[data-scrivito-editors-allow-delete=true]')) {
8
9
  activateUi(cmsField);
9
10
  }
@@ -33,6 +33,7 @@
33
33
  };
34
34
 
35
35
  activate = function(element) {
36
+ scrivito.editors.applyPlaceholder($(element));
36
37
  return $(element).on('click', function() {
37
38
  var cmsField, content, max, min, step;
38
39
  cmsField = $(element);
@@ -111,6 +111,7 @@
111
111
  activate = function(proxy) {
112
112
  var cmsField;
113
113
  cmsField = proxy.jQueryElement();
114
+ scrivito.editors.applyPlaceholder(cmsField);
114
115
  cmsField.attr('contenteditable', true).blur(function() {
115
116
  return onBlur(proxy);
116
117
  }).focus(function() {
@@ -9,23 +9,19 @@ module ScrivitoEditors
9
9
  ActionView::Base.send :include, ScrivitoTagHelper
10
10
  end
11
11
 
12
- class << self
13
- def imgly_assets
14
- imgly_assets_paths.sort.inject({}) do |asset_map, file|
15
- asset_map[file] = yield(file)
16
- asset_map
17
- end
12
+ def self.imgly_assets
13
+ imgly_assets_paths.sort.inject({}) do |asset_map, file|
14
+ asset_map[file] = yield(file)
15
+ asset_map
18
16
  end
17
+ end
19
18
 
20
- private
21
-
22
- def imgly_assets_paths
23
- images_path = ScrivitoEditors::Engine.root + 'vendor/assets/images/'
24
- absolute_paths = Dir[images_path + 'imgly_sdk/**/*'].select { |f| File.file?(f) }
19
+ private_class_method def self.imgly_assets_paths
20
+ images_path = ScrivitoEditors::Engine.root + 'vendor/assets/images/'
21
+ absolute_paths = Dir[images_path + 'imgly_sdk/**/*'].select { |f| File.file?(f) }
25
22
 
26
- absolute_paths.map do |absolute_path|
27
- Pathname.new(absolute_path).relative_path_from(images_path).to_s
28
- end
23
+ absolute_paths.map do |absolute_path|
24
+ Pathname.new(absolute_path).relative_path_from(images_path).to_s
29
25
  end
30
26
  end
31
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrivito_editors
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.1
4
+ version: 1.10.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scrivito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-10 00:00:00.000000000 Z
11
+ date: 2017-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jquery-ui-rails
@@ -50,28 +50,28 @@ dependencies:
50
50
  requirements:
51
51
  - - '='
52
52
  - !ruby/object:Gem::Version
53
- version: 1.9.1
53
+ version: 1.10.0.rc1
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - '='
59
59
  - !ruby/object:Gem::Version
60
- version: 1.9.1
60
+ version: 1.10.0.rc1
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: scrivito_sdk
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - '='
66
66
  - !ruby/object:Gem::Version
67
- version: 1.9.1
67
+ version: 1.10.0.rc1
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - '='
73
73
  - !ruby/object:Gem::Version
74
- version: 1.9.1
74
+ version: 1.10.0.rc1
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: coffee-rails
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -222,8 +222,6 @@ files:
222
222
  - app/assets/stylesheets/scrivito_editors/imglykit_override.css
223
223
  - app/assets/stylesheets/scrivito_editors/link_editor.css
224
224
  - app/assets/stylesheets/scrivito_editors/linklist_editor.css
225
- - app/assets/stylesheets/scrivito_editors/medium_editor.css
226
- - app/assets/stylesheets/scrivito_editors/placeholder.css
227
225
  - app/assets/stylesheets/scrivito_editors/redactor_editor.css
228
226
  - app/assets/stylesheets/scrivito_editors/referencelist_editor.css
229
227
  - app/assets/stylesheets/scrivito_editors/stringlist_editor.css
@@ -315,8 +313,6 @@ files:
315
313
  - vendor/assets/stylesheets/imglykit-night-ui.css
316
314
  - vendor/assets/stylesheets/jquery-ui-timepicker-addon.min.css
317
315
  - vendor/assets/stylesheets/jquery.tag-editor.css
318
- - vendor/assets/stylesheets/medium-editor-themes/flat.css
319
- - vendor/assets/stylesheets/medium-editor.css
320
316
  - vendor/assets/stylesheets/redactor.css
321
317
  homepage: https://scrivito.com
322
318
  licenses:
@@ -1,20 +0,0 @@
1
- /*
2
- *= require medium-editor
3
- *= require medium-editor-themes/flat
4
- *= require_self
5
- */
6
- .medium-toolbar-arrow-under::after { top: auto;}
7
- .medium-editor-toolbar { z-index: 111112; margin:0 10px; background:rgba(67, 148, 57, 0.9);
8
- border-radius:4px;}
9
- .medium-editor-toolbar li button { height:40px; min-width:40px; padding:10px;
10
- border:none; margin:1px; background:rgba(0,0,0,.1);
11
- }
12
- .medium-editor-toolbar li button * { color: inherit; }
13
- .medium-editor-toolbar li button .scrivito_customer_icon { font-size:18px;}
14
- .medium-editor-toolbar-form .scrivito_customer_icon { font-size:18px;
15
- min-width:40px; height:40px; line-height: 40px!important;
16
- display:inline-block; text-align:center;
17
- color: #fff; margin: 1px; background:rgba(0,0,0,.1);
18
- }
19
- .medium-editor-toolbar-form .scrivito_customer_icon:hover {background:rgba(0,0,0,.3);}
20
- .medium-editor-toolbar-form .medium-editor-toolbar-input {margin: 1px;height:40px; background:rgba(0,0,0,.3);}
@@ -1,30 +0,0 @@
1
- /*
2
- Placeholder styling for empty CMS attributes. The placeholder text is only displayed, if the
3
- element is not focused and it gets a slightly less visible style.
4
- */
5
- [data-scrivito-display-mode="editing"] [data-scrivito-editors-placeholder]:empty:not(:focus):before {
6
- content: attr(data-scrivito-editors-placeholder);
7
- color: rgba(64, 64, 64, 0.53);
8
- display: inline-block;
9
- font-size: 13px;
10
- font-style: normal;
11
- font-weight: normal;
12
- line-height: 28px;
13
- margin: 0;
14
- padding: 0;
15
- text-decoration: none;
16
- vertical-align: middle;
17
- cursor: pointer;
18
- white-space: nowrap;
19
- overflow: hidden;
20
- text-overflow: ellipsis;
21
- max-width: 100%;
22
- }
23
-
24
- /* Firefox: Let the input cursor appear at the expected position */
25
- [data-scrivito-display-mode="editing"] [data-scrivito-editors-placeholder]:empty:focus:after,
26
- [data-scrivito-display-mode="editing"] [data-scrivito-editors-placeholder]:empty:focus:before {
27
- content: "\200b";
28
- color: transparent;
29
- display: inline-block;
30
- }
@@ -1,58 +0,0 @@
1
- .medium-toolbar-arrow-under:after {
2
- top: 60px;
3
- border-color: #57ad68 transparent transparent transparent; }
4
-
5
- .medium-toolbar-arrow-over:before {
6
- top: -8px;
7
- border-color: transparent transparent #57ad68 transparent; }
8
-
9
- .medium-editor-toolbar {
10
- background-color: #57ad68; }
11
- .medium-editor-toolbar li {
12
- padding: 0; }
13
- .medium-editor-toolbar li button {
14
- min-width: 60px;
15
- height: 60px;
16
- border: none;
17
- border-right: 1px solid #9ccea6;
18
- background-color: transparent;
19
- color: #fff;
20
- -webkit-transition: background-color .2s ease-in, color .2s ease-in;
21
- transition: background-color .2s ease-in, color .2s ease-in; }
22
- .medium-editor-toolbar li button:hover {
23
- background-color: #346a3f;
24
- color: #fff; }
25
- .medium-editor-toolbar li .medium-editor-button-active {
26
- background-color: #23482a;
27
- color: #fff; }
28
- .medium-editor-toolbar li .medium-editor-button-last {
29
- border-right: none; }
30
-
31
- .medium-editor-toolbar-form .medium-editor-toolbar-input {
32
- height: 60px;
33
- background: #57ad68;
34
- color: #fff; }
35
- .medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder {
36
- color: #fff;
37
- color: rgba(255, 255, 255, 0.8); }
38
- .medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder {
39
- /* Firefox 18- */
40
- color: #fff;
41
- color: rgba(255, 255, 255, 0.8); }
42
- .medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder {
43
- /* Firefox 19+ */
44
- color: #fff;
45
- color: rgba(255, 255, 255, 0.8); }
46
- .medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder {
47
- color: #fff;
48
- color: rgba(255, 255, 255, 0.8); }
49
-
50
- .medium-editor-toolbar-form a {
51
- color: #fff; }
52
-
53
- .medium-editor-toolbar-anchor-preview {
54
- background: #57ad68;
55
- color: #fff; }
56
-
57
- .medium-editor-placeholder:after {
58
- color: #9ccea6; }
@@ -1,230 +0,0 @@
1
- @-webkit-keyframes medium-editor-image-loading {
2
- 0% {
3
- -webkit-transform: scale(0);
4
- transform: scale(0); }
5
- 100% {
6
- -webkit-transform: scale(1);
7
- transform: scale(1); } }
8
-
9
- @keyframes medium-editor-image-loading {
10
- 0% {
11
- -webkit-transform: scale(0);
12
- transform: scale(0); }
13
- 100% {
14
- -webkit-transform: scale(1);
15
- transform: scale(1); } }
16
-
17
- @-webkit-keyframes medium-editor-pop-upwards {
18
- 0% {
19
- opacity: 0;
20
- -webkit-transform: matrix(0.97, 0, 0, 1, 0, 12);
21
- transform: matrix(0.97, 0, 0, 1, 0, 12); }
22
- 20% {
23
- opacity: .7;
24
- -webkit-transform: matrix(0.99, 0, 0, 1, 0, 2);
25
- transform: matrix(0.99, 0, 0, 1, 0, 2); }
26
- 40% {
27
- opacity: 1;
28
- -webkit-transform: matrix(1, 0, 0, 1, 0, -1);
29
- transform: matrix(1, 0, 0, 1, 0, -1); }
30
- 100% {
31
- -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
32
- transform: matrix(1, 0, 0, 1, 0, 0); } }
33
-
34
- @keyframes medium-editor-pop-upwards {
35
- 0% {
36
- opacity: 0;
37
- -webkit-transform: matrix(0.97, 0, 0, 1, 0, 12);
38
- transform: matrix(0.97, 0, 0, 1, 0, 12); }
39
- 20% {
40
- opacity: .7;
41
- -webkit-transform: matrix(0.99, 0, 0, 1, 0, 2);
42
- transform: matrix(0.99, 0, 0, 1, 0, 2); }
43
- 40% {
44
- opacity: 1;
45
- -webkit-transform: matrix(1, 0, 0, 1, 0, -1);
46
- transform: matrix(1, 0, 0, 1, 0, -1); }
47
- 100% {
48
- -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
49
- transform: matrix(1, 0, 0, 1, 0, 0); } }
50
-
51
- .medium-editor-anchor-preview {
52
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
53
- font-size: 16px;
54
- left: 0;
55
- line-height: 1.4;
56
- max-width: 280px;
57
- position: absolute;
58
- text-align: center;
59
- top: 0;
60
- word-break: break-all;
61
- word-wrap: break-word;
62
- visibility: hidden;
63
- z-index: 2000; }
64
- .medium-editor-anchor-preview a {
65
- color: #fff;
66
- display: inline-block;
67
- margin: 5px 5px 10px; }
68
-
69
- .medium-editor-anchor-preview-active {
70
- visibility: visible; }
71
-
72
- .medium-editor-dragover {
73
- background: #ddd; }
74
-
75
- .medium-editor-image-loading {
76
- -webkit-animation: medium-editor-image-loading 1s infinite ease-in-out;
77
- animation: medium-editor-image-loading 1s infinite ease-in-out;
78
- background-color: #333;
79
- border-radius: 100%;
80
- display: inline-block;
81
- height: 40px;
82
- width: 40px; }
83
-
84
- .medium-editor-placeholder {
85
- position: relative; }
86
- .medium-editor-placeholder:after {
87
- content: attr(data-placeholder) !important;
88
- font-style: italic;
89
- position: absolute;
90
- left: 0;
91
- top: 0;
92
- white-space: pre;
93
- padding: inherit;
94
- margin: inherit; }
95
-
96
- .medium-editor-placeholder-relative {
97
- position: relative; }
98
- .medium-editor-placeholder-relative:after {
99
- content: attr(data-placeholder) !important;
100
- font-style: italic;
101
- position: relative;
102
- white-space: pre;
103
- padding: inherit;
104
- margin: inherit; }
105
-
106
- .medium-toolbar-arrow-under:after, .medium-toolbar-arrow-over:before {
107
- border-style: solid;
108
- content: '';
109
- display: block;
110
- height: 0;
111
- left: 50%;
112
- margin-left: -8px;
113
- position: absolute;
114
- width: 0; }
115
-
116
- .medium-toolbar-arrow-under:after {
117
- border-width: 8px 8px 0 8px; }
118
-
119
- .medium-toolbar-arrow-over:before {
120
- border-width: 0 8px 8px 8px;
121
- top: -8px; }
122
-
123
- .medium-editor-toolbar {
124
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
125
- font-size: 16px;
126
- left: 0;
127
- position: absolute;
128
- top: 0;
129
- visibility: hidden;
130
- z-index: 2000; }
131
- .medium-editor-toolbar ul {
132
- margin: 0;
133
- padding: 0; }
134
- .medium-editor-toolbar li {
135
- float: left;
136
- list-style: none;
137
- margin: 0;
138
- padding: 0; }
139
- .medium-editor-toolbar li button {
140
- box-sizing: border-box;
141
- cursor: pointer;
142
- display: block;
143
- font-size: 14px;
144
- line-height: 1.33;
145
- margin: 0;
146
- padding: 15px;
147
- text-decoration: none; }
148
- .medium-editor-toolbar li button:focus {
149
- outline: none; }
150
- .medium-editor-toolbar li .medium-editor-action-underline {
151
- text-decoration: underline; }
152
- .medium-editor-toolbar li .medium-editor-action-pre {
153
- font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
154
- font-size: 12px;
155
- font-weight: 100;
156
- padding: 15px 0; }
157
-
158
- .medium-editor-toolbar-active {
159
- visibility: visible; }
160
-
161
- .medium-editor-sticky-toolbar {
162
- position: fixed;
163
- top: 1px; }
164
-
165
- .medium-editor-relative-toolbar {
166
- position: relative; }
167
-
168
- .medium-editor-toolbar-active.medium-editor-stalker-toolbar {
169
- -webkit-animation: medium-editor-pop-upwards 160ms forwards linear;
170
- animation: medium-editor-pop-upwards 160ms forwards linear; }
171
-
172
- .medium-editor-action-bold {
173
- font-weight: bolder; }
174
-
175
- .medium-editor-action-italic {
176
- font-style: italic; }
177
-
178
- .medium-editor-toolbar-form {
179
- display: none; }
180
- .medium-editor-toolbar-form input,
181
- .medium-editor-toolbar-form a {
182
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
183
- .medium-editor-toolbar-form .medium-editor-toolbar-form-row {
184
- line-height: 14px;
185
- margin-left: 5px;
186
- padding-bottom: 5px; }
187
- .medium-editor-toolbar-form .medium-editor-toolbar-input,
188
- .medium-editor-toolbar-form label {
189
- border: none;
190
- box-sizing: border-box;
191
- font-size: 14px;
192
- margin: 0;
193
- padding: 6px;
194
- width: 316px;
195
- display: inline-block; }
196
- .medium-editor-toolbar-form .medium-editor-toolbar-input:focus,
197
- .medium-editor-toolbar-form label:focus {
198
- -webkit-appearance: none;
199
- -moz-appearance: none;
200
- appearance: none;
201
- border: none;
202
- box-shadow: none;
203
- outline: 0; }
204
- .medium-editor-toolbar-form a {
205
- display: inline-block;
206
- font-size: 24px;
207
- font-weight: bolder;
208
- margin: 0 10px;
209
- text-decoration: none; }
210
-
211
- .medium-editor-toolbar-form-active {
212
- display: block; }
213
-
214
- .medium-editor-toolbar-actions:after {
215
- clear: both;
216
- content: "";
217
- display: table; }
218
-
219
- .medium-editor-element {
220
- word-wrap: break-word;
221
- min-height: 30px; }
222
- .medium-editor-element img {
223
- max-width: 100%; }
224
- .medium-editor-element sub {
225
- vertical-align: sub; }
226
- .medium-editor-element sup {
227
- vertical-align: super; }
228
-
229
- .medium-editor-hidden {
230
- display: none; }