locomotivecms 4.0.0.rc0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +1 -1
  4. data/Rakefile +0 -6
  5. data/app/api/locomotive/api/entities/site_entity.rb +1 -1
  6. data/app/api/locomotive/api/forms/content_type_form.rb +1 -0
  7. data/app/api/locomotive/api/forms/page_form.rb +2 -1
  8. data/app/api/locomotive/api/forms/site_form.rb +7 -1
  9. data/app/api/locomotive/api/helpers/persistence_helper.rb +3 -0
  10. data/app/api/locomotive/api/resources/account_resource.rb +15 -3
  11. data/app/api/locomotive/api/resources/content_type_resource.rb +3 -0
  12. data/app/api/locomotive/api/resources/membership_resource.rb +1 -1
  13. data/app/api/locomotive/api/resources/site_resource.rb +6 -0
  14. data/app/assets/javascripts/locomotive/editor.js +1311 -703
  15. data/app/assets/javascripts/locomotive/views/content_entries/edit_view.js.coffee +5 -0
  16. data/app/assets/javascripts/locomotive/views/content_entries/index_view.js.coffee +1 -0
  17. data/app/assets/javascripts/locomotive/views/content_entries/new_view.js.coffee +4 -0
  18. data/app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee +6 -0
  19. data/app/assets/javascripts/locomotive/views/page_content/edit_view.js.coffee +1 -0
  20. data/app/assets/javascripts/locomotive/views/pages/_form_view.js.coffee +6 -0
  21. data/app/assets/javascripts/locomotive/views/pages/edit_view.js.coffee +4 -0
  22. data/app/assets/javascripts/locomotive/views/pages/list_view.js.coffee +5 -0
  23. data/app/assets/javascripts/locomotive/views/pages/new_view.js.coffee +4 -0
  24. data/app/assets/stylesheets/locomotive/editor.css +390 -127
  25. data/app/assets/stylesheets/locomotive/new/_sidebar.scss +4 -0
  26. data/app/assets/stylesheets/locomotive/old/_list.scss +35 -0
  27. data/app/assets/stylesheets/locomotive/old/_main.scss +6 -6
  28. data/app/controllers/locomotive/concerns/authorization_controller.rb +4 -2
  29. data/app/controllers/locomotive/content_entries_controller.rb +6 -0
  30. data/app/controllers/locomotive/content_entry_impersonations_controller.rb +11 -0
  31. data/app/controllers/locomotive/current_site_controller.rb +0 -1
  32. data/app/controllers/locomotive/dashboard_controller.rb +2 -0
  33. data/app/helpers/locomotive/dashboard_helper.rb +0 -101
  34. data/app/helpers/locomotive/shared/activities_helper.rb +106 -0
  35. data/app/helpers/locomotive/shared/site_metafields_helper.rb +1 -1
  36. data/app/mailers/locomotive/notifications.rb +8 -0
  37. data/app/models/locomotive/account.rb +1 -0
  38. data/app/models/locomotive/concerns/site/cache.rb +2 -0
  39. data/app/models/locomotive/concerns/site/locales.rb +1 -0
  40. data/app/models/locomotive/content_type.rb +8 -7
  41. data/app/models/locomotive/membership.rb +1 -1
  42. data/app/models/locomotive/page.rb +2 -0
  43. data/app/models/locomotive/section.rb +1 -1
  44. data/app/policies/locomotive/account_policy.rb +1 -1
  45. data/app/policies/locomotive/content_asset_policy.rb +11 -3
  46. data/app/policies/locomotive/content_entry_policy.rb +11 -3
  47. data/app/policies/locomotive/page_policy.rb +16 -5
  48. data/app/policies/locomotive/site_policy.rb +18 -4
  49. data/app/policies/locomotive/translation_policy.rb +12 -4
  50. data/app/views/locomotive/content_entries/form/_actions.html.slim +12 -1
  51. data/app/views/locomotive/content_entries/form/_advanced.html.slim +1 -1
  52. data/app/views/locomotive/content_entries/index.html.slim +25 -17
  53. data/app/views/locomotive/current_site/form/_advanced.html.slim +6 -1
  54. data/app/views/locomotive/current_site/form/_url_redirections.html.slim +9 -3
  55. data/app/views/locomotive/layouts/account.html.slim +1 -33
  56. data/app/views/locomotive/pages/form/_main.html.slim +5 -2
  57. data/app/views/locomotive/shared/_head.html.slim +1 -1
  58. data/app/views/locomotive/shared/account/_head.html.slim +33 -0
  59. data/app/views/locomotive/shared/account/_navigation.html.slim +2 -1
  60. data/app/views/locomotive/sites/index.html.slim +4 -3
  61. data/config/locales/en.yml +7 -5
  62. data/config/locales/fr.yml +2 -0
  63. data/config/locales/simple_form.en.yml +3 -0
  64. data/config/webpack/production.js +1 -1
  65. data/lib/generators/locomotive/install/install_generator.rb +15 -2
  66. data/lib/generators/locomotive/install/templates/README +1 -1
  67. data/lib/generators/locomotive/install/templates/mongoid_heroku.yml +1 -1
  68. data/lib/locomotive/steam/middlewares/missing_translations.rb +3 -0
  69. data/lib/locomotive/steam/middlewares/page_editing.rb +7 -0
  70. data/lib/locomotive/steam/services/liquid_parser_with_cache_service.rb +22 -15
  71. data/lib/locomotive/steam_adaptor.rb +1 -1
  72. data/lib/locomotive/version.rb +1 -1
  73. data/lib/tasks/development_tasks.rake +7 -3
  74. data/lib/tasks/locomotive_tasks.rake +10 -0
  75. metadata +43 -16
  76. data/config/initializers/rails_fixes.rb +0 -16
  77. data/lib/locomotive/steam/middlewares/cache.rb +0 -69
@@ -2,4 +2,9 @@ Locomotive.Views.ContentEntries ||= {}
2
2
 
3
3
  class Locomotive.Views.ContentEntries.EditView extends Locomotive.Views.Shared.FormView
4
4
 
5
+ initialize: ->
6
+ super()
7
+ $('#collapseContentTypes').addClass('in')
8
+
9
+
5
10
 
@@ -7,6 +7,7 @@ class Locomotive.Views.ContentEntries.IndexView extends Backbone.View
7
7
  initialize: ->
8
8
  @list_view = new Locomotive.Views.Shared.ListView(el: @$('.big-list'))
9
9
  @bulk_delete_view = new Locomotive.Views.Shared.BulkDeleteView()
10
+ $('#collapseContentTypes').addClass('in')
10
11
 
11
12
  render: ->
12
13
  @list_view.render()
@@ -4,6 +4,10 @@ class Locomotive.Views.ContentEntries.NewView extends Locomotive.Views.Shared.Fo
4
4
 
5
5
  el: '.main'
6
6
 
7
+ initialize: ->
8
+ super()
9
+ $('#collapseContentTypes').addClass('in')
10
+
7
11
  render: ->
8
12
  super()
9
13
 
@@ -8,6 +8,7 @@ class Locomotive.Views.CurrentSite.EditView extends Locomotive.Views.Shared.Form
8
8
 
9
9
  initialize: ->
10
10
  @attach_events_on_private_access_attribute()
11
+ @attach_events_on_cache_enabled_attribute()
11
12
  @display_locale_picker_only_for_seo()
12
13
  @allow_url_redirections_expert_mode()
13
14
 
@@ -16,6 +17,11 @@ class Locomotive.Views.CurrentSite.EditView extends Locomotive.Views.Shared.Form
16
17
  $inputs = $('.locomotive_site_password')
17
18
  $inputs.toggleClass('hide')
18
19
 
20
+ attach_events_on_cache_enabled_attribute: ->
21
+ @$('#site_cache_enabled').on 'switchChange.bootstrapSwitch', (event, state) ->
22
+ $inputs = $('.locomotive_site_cache_control, .locomotive_site_cache_vary')
23
+ $inputs.toggleClass('hide')
24
+
19
25
  display_locale_picker_only_for_seo: ->
20
26
  $picker = @$('.locale-picker-btn-group').css(visibility: 'hidden')
21
27
 
@@ -9,6 +9,7 @@ class Locomotive.Views.PageContent.EditView extends Backbone.View
9
9
 
10
10
  initialize: ->
11
11
  _.bindAll(@, 'shrink_preview', 'close_sidebar')
12
+ $('#collapsePages').addClass('in')
12
13
 
13
14
  render: ->
14
15
  super()
@@ -8,8 +8,14 @@ class Locomotive.Views.Pages.FormView extends Locomotive.Views.Shared.FormView
8
8
 
9
9
  initialize: ->
10
10
  @attach_events_on_redirect_attribute()
11
+ @attach_events_on_cache_enabled_attribute()
11
12
 
12
13
  attach_events_on_redirect_attribute: ->
13
14
  @$('#page_redirect').on 'switchChange.bootstrapSwitch', (event, state) ->
14
15
  $inputs = $('.locomotive_page_redirect_url, .locomotive_page_redirect_type')
15
16
  $inputs.toggleClass('hide')
17
+
18
+ attach_events_on_cache_enabled_attribute: ->
19
+ @$('#page_cache_enabled').on 'switchChange.bootstrapSwitch', (event, state) ->
20
+ $inputs = $('.locomotive_page_cache_control, .locomotive_page_cache_vary')
21
+ $inputs.toggleClass('hide')
@@ -5,3 +5,7 @@ Locomotive.Views.Pages ||= {}
5
5
  class Locomotive.Views.Pages.EditView extends Locomotive.Views.Pages.FormView
6
6
 
7
7
  el: '.main'
8
+
9
+ initialize: ->
10
+ super()
11
+ $('#collapsePages').addClass('in')
@@ -4,6 +4,11 @@ class Locomotive.Views.Pages.ListView extends Backbone.View
4
4
 
5
5
  el: '.pages-tree'
6
6
 
7
+ initialize: ->
8
+ super()
9
+ if $('body').hasClass('pages')
10
+ $('#collapsePages').addClass('in')
11
+
7
12
  render: ->
8
13
  @make_foldable()
9
14
 
@@ -3,3 +3,7 @@ Locomotive.Views.Pages ||= {}
3
3
  class Locomotive.Views.Pages.NewView extends Locomotive.Views.Pages.FormView
4
4
 
5
5
  el: '.main'
6
+
7
+ initialize: ->
8
+ super()
9
+ $('#collapsePages').addClass('in')
@@ -269,6 +269,7 @@
269
269
  width: 22px;
270
270
  height: 22px;
271
271
  min-width: 22px;
272
+ box-shadow: 1px 2px 1px #BFBDBD inset;
272
273
  }
273
274
  .rdw-colorpicker-option:hover {
274
275
  box-shadow: 1px 2px 1px #BFBDBD;
@@ -860,6 +861,261 @@
860
861
  * of patent rights can be found in the PATENTS file in the same directory.
861
862
  */
862
863
  .DraftEditor-editorContainer,.DraftEditor-root,.public-DraftEditor-content{height:inherit;text-align:initial}.public-DraftEditor-content[contenteditable=true]{-webkit-user-modify:read-write-plaintext-only}.DraftEditor-root{position:relative}.DraftEditor-editorContainer{background-color:rgba(255,255,255,0);border-left:.1px solid transparent;position:relative;z-index:1}.public-DraftEditor-block{position:relative}.DraftEditor-alignLeft .public-DraftStyleDefault-block{text-align:left}.DraftEditor-alignLeft .public-DraftEditorPlaceholder-root{left:0;text-align:left}.DraftEditor-alignCenter .public-DraftStyleDefault-block{text-align:center}.DraftEditor-alignCenter .public-DraftEditorPlaceholder-root{margin:0 auto;text-align:center;width:100%}.DraftEditor-alignRight .public-DraftStyleDefault-block{text-align:right}.DraftEditor-alignRight .public-DraftEditorPlaceholder-root{right:0;text-align:right}.public-DraftEditorPlaceholder-root{color:#9197a3;position:absolute;z-index:0}.public-DraftEditorPlaceholder-hasFocus{color:#bdc1c9}.DraftEditorPlaceholder-hidden{display:none}.public-DraftStyleDefault-block{position:relative;white-space:pre-wrap}.public-DraftStyleDefault-ltr{direction:ltr;text-align:left}.public-DraftStyleDefault-rtl{direction:rtl;text-align:right}.public-DraftStyleDefault-listLTR{direction:ltr}.public-DraftStyleDefault-listRTL{direction:rtl}.public-DraftStyleDefault-ol,.public-DraftStyleDefault-ul{margin:16px 0;padding:0}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-listLTR{margin-left:1.5em}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-listRTL{margin-right:1.5em}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-listLTR{margin-left:3em}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-listRTL{margin-right:3em}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-listLTR{margin-left:4.5em}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-listRTL{margin-right:4.5em}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-listLTR{margin-left:6em}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-listRTL{margin-right:6em}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-listLTR{margin-left:7.5em}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-listRTL{margin-right:7.5em}.public-DraftStyleDefault-unorderedListItem{list-style-type:square;position:relative}.public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth0{list-style-type:disc}.public-DraftStyleDefault-unorderedListItem.public-DraftStyleDefault-depth1{list-style-type:circle}.public-DraftStyleDefault-orderedListItem{list-style-type:none;position:relative}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listLTR:before{left:-36px;position:absolute;text-align:right;width:30px}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listRTL:before{position:absolute;right:-36px;text-align:left;width:30px}.public-DraftStyleDefault-orderedListItem:before{content:counter(ol0) ". ";counter-increment:ol0}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth1:before{content:counter(ol1) ". ";counter-increment:ol1}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth2:before{content:counter(ol2) ". ";counter-increment:ol2}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth3:before{content:counter(ol3) ". ";counter-increment:ol3}.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth4:before{content:counter(ol4) ". ";counter-increment:ol4}.public-DraftStyleDefault-depth0.public-DraftStyleDefault-reset{counter-reset:ol0}.public-DraftStyleDefault-depth1.public-DraftStyleDefault-reset{counter-reset:ol1}.public-DraftStyleDefault-depth2.public-DraftStyleDefault-reset{counter-reset:ol2}.public-DraftStyleDefault-depth3.public-DraftStyleDefault-reset{counter-reset:ol3}.public-DraftStyleDefault-depth4.public-DraftStyleDefault-reset{counter-reset:ol4}
864
+ .rc-slider {
865
+ position: relative;
866
+ height: 14px;
867
+ padding: 5px 0;
868
+ width: 100%;
869
+ border-radius: 6px;
870
+ -ms-touch-action: none;
871
+ touch-action: none;
872
+ box-sizing: border-box;
873
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
874
+ }
875
+ .rc-slider * {
876
+ box-sizing: border-box;
877
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
878
+ }
879
+ .rc-slider-rail {
880
+ position: absolute;
881
+ width: 100%;
882
+ background-color: #e9e9e9;
883
+ height: 4px;
884
+ border-radius: 6px;
885
+ }
886
+ .rc-slider-track {
887
+ position: absolute;
888
+ left: 0;
889
+ height: 4px;
890
+ border-radius: 6px;
891
+ background-color: #abe2fb;
892
+ }
893
+ .rc-slider-handle {
894
+ position: absolute;
895
+ margin-left: -7px;
896
+ margin-top: -5px;
897
+ width: 14px;
898
+ height: 14px;
899
+ cursor: pointer;
900
+ cursor: -webkit-grab;
901
+ cursor: grab;
902
+ border-radius: 50%;
903
+ border: solid 2px #96dbfa;
904
+ background-color: #fff;
905
+ -ms-touch-action: pan-x;
906
+ touch-action: pan-x;
907
+ }
908
+ .rc-slider-handle:focus {
909
+ border-color: #57c5f7;
910
+ box-shadow: 0 0 0 5px #96dbfa;
911
+ outline: none;
912
+ }
913
+ .rc-slider-handle-click-focused:focus {
914
+ border-color: #96dbfa;
915
+ box-shadow: unset;
916
+ }
917
+ .rc-slider-handle:hover {
918
+ border-color: #57c5f7;
919
+ }
920
+ .rc-slider-handle:active {
921
+ border-color: #57c5f7;
922
+ box-shadow: 0 0 5px #57c5f7;
923
+ cursor: -webkit-grabbing;
924
+ cursor: grabbing;
925
+ }
926
+ .rc-slider-mark {
927
+ position: absolute;
928
+ top: 18px;
929
+ left: 0;
930
+ width: 100%;
931
+ font-size: 12px;
932
+ }
933
+ .rc-slider-mark-text {
934
+ position: absolute;
935
+ display: inline-block;
936
+ vertical-align: middle;
937
+ text-align: center;
938
+ cursor: pointer;
939
+ color: #999;
940
+ }
941
+ .rc-slider-mark-text-active {
942
+ color: #666;
943
+ }
944
+ .rc-slider-step {
945
+ position: absolute;
946
+ width: 100%;
947
+ height: 4px;
948
+ background: transparent;
949
+ }
950
+ .rc-slider-dot {
951
+ position: absolute;
952
+ bottom: -2px;
953
+ margin-left: -4px;
954
+ width: 8px;
955
+ height: 8px;
956
+ border: 2px solid #e9e9e9;
957
+ background-color: #fff;
958
+ cursor: pointer;
959
+ border-radius: 50%;
960
+ vertical-align: middle;
961
+ }
962
+ .rc-slider-dot-active {
963
+ border-color: #96dbfa;
964
+ }
965
+ .rc-slider-disabled {
966
+ background-color: #e9e9e9;
967
+ }
968
+ .rc-slider-disabled .rc-slider-track {
969
+ background-color: #ccc;
970
+ }
971
+ .rc-slider-disabled .rc-slider-handle,
972
+ .rc-slider-disabled .rc-slider-dot {
973
+ border-color: #ccc;
974
+ box-shadow: none;
975
+ background-color: #fff;
976
+ cursor: not-allowed;
977
+ }
978
+ .rc-slider-disabled .rc-slider-mark-text,
979
+ .rc-slider-disabled .rc-slider-dot {
980
+ cursor: not-allowed !important;
981
+ }
982
+ .rc-slider-vertical {
983
+ width: 14px;
984
+ height: 100%;
985
+ padding: 0 5px;
986
+ }
987
+ .rc-slider-vertical .rc-slider-rail {
988
+ height: 100%;
989
+ width: 4px;
990
+ }
991
+ .rc-slider-vertical .rc-slider-track {
992
+ left: 5px;
993
+ bottom: 0;
994
+ width: 4px;
995
+ }
996
+ .rc-slider-vertical .rc-slider-handle {
997
+ margin-left: -5px;
998
+ margin-bottom: -7px;
999
+ -ms-touch-action: pan-y;
1000
+ touch-action: pan-y;
1001
+ }
1002
+ .rc-slider-vertical .rc-slider-mark {
1003
+ top: 0;
1004
+ left: 18px;
1005
+ height: 100%;
1006
+ }
1007
+ .rc-slider-vertical .rc-slider-step {
1008
+ height: 100%;
1009
+ width: 4px;
1010
+ }
1011
+ .rc-slider-vertical .rc-slider-dot {
1012
+ left: 2px;
1013
+ margin-bottom: -4px;
1014
+ }
1015
+ .rc-slider-vertical .rc-slider-dot:first-child {
1016
+ margin-bottom: -4px;
1017
+ }
1018
+ .rc-slider-vertical .rc-slider-dot:last-child {
1019
+ margin-bottom: -4px;
1020
+ }
1021
+ .rc-slider-tooltip-zoom-down-enter,
1022
+ .rc-slider-tooltip-zoom-down-appear {
1023
+ animation-duration: .3s;
1024
+ animation-fill-mode: both;
1025
+ display: block !important;
1026
+ animation-play-state: paused;
1027
+ }
1028
+ .rc-slider-tooltip-zoom-down-leave {
1029
+ animation-duration: .3s;
1030
+ animation-fill-mode: both;
1031
+ display: block !important;
1032
+ animation-play-state: paused;
1033
+ }
1034
+ .rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active,
1035
+ .rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active {
1036
+ animation-name: rcSliderTooltipZoomDownIn;
1037
+ animation-play-state: running;
1038
+ }
1039
+ .rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active {
1040
+ animation-name: rcSliderTooltipZoomDownOut;
1041
+ animation-play-state: running;
1042
+ }
1043
+ .rc-slider-tooltip-zoom-down-enter,
1044
+ .rc-slider-tooltip-zoom-down-appear {
1045
+ transform: scale(0, 0);
1046
+ animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
1047
+ }
1048
+ .rc-slider-tooltip-zoom-down-leave {
1049
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
1050
+ }
1051
+ @keyframes rcSliderTooltipZoomDownIn {
1052
+ 0% {
1053
+ opacity: 0;
1054
+ transform-origin: 50% 100%;
1055
+ transform: scale(0, 0);
1056
+ }
1057
+ 100% {
1058
+ transform-origin: 50% 100%;
1059
+ transform: scale(1, 1);
1060
+ }
1061
+ }
1062
+ @keyframes rcSliderTooltipZoomDownOut {
1063
+ 0% {
1064
+ transform-origin: 50% 100%;
1065
+ transform: scale(1, 1);
1066
+ }
1067
+ 100% {
1068
+ opacity: 0;
1069
+ transform-origin: 50% 100%;
1070
+ transform: scale(0, 0);
1071
+ }
1072
+ }
1073
+ .rc-slider-tooltip {
1074
+ position: absolute;
1075
+ left: -9999px;
1076
+ top: -9999px;
1077
+ visibility: visible;
1078
+ box-sizing: border-box;
1079
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
1080
+ }
1081
+ .rc-slider-tooltip * {
1082
+ box-sizing: border-box;
1083
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
1084
+ }
1085
+ .rc-slider-tooltip-hidden {
1086
+ display: none;
1087
+ }
1088
+ .rc-slider-tooltip-placement-top {
1089
+ padding: 4px 0 8px 0;
1090
+ }
1091
+ .rc-slider-tooltip-inner {
1092
+ padding: 6px 2px;
1093
+ min-width: 24px;
1094
+ height: 24px;
1095
+ font-size: 12px;
1096
+ line-height: 1;
1097
+ color: #fff;
1098
+ text-align: center;
1099
+ text-decoration: none;
1100
+ background-color: #6c6c6c;
1101
+ border-radius: 6px;
1102
+ box-shadow: 0 0 4px #d9d9d9;
1103
+ }
1104
+ .rc-slider-tooltip-arrow {
1105
+ position: absolute;
1106
+ width: 0;
1107
+ height: 0;
1108
+ border-color: transparent;
1109
+ border-style: solid;
1110
+ }
1111
+ .rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow {
1112
+ bottom: 4px;
1113
+ left: 50%;
1114
+ margin-left: -4px;
1115
+ border-width: 4px 4px 0;
1116
+ border-top-color: #6c6c6c;
1117
+ }
1118
+
863
1119
  .ReactCrop {
864
1120
  position: relative;
865
1121
  display: inline-block;
@@ -1029,12 +1285,9 @@
1029
1285
  margin-left: -7px; } }
1030
1286
 
1031
1287
  .editor-list-item {
1032
- display: -ms-flexbox;
1033
1288
  display: flex;
1034
- -ms-flex-align: center;
1035
- align-items: center;
1036
- -ms-flex-pack: center;
1037
- justify-content: center;
1289
+ align-items: center;
1290
+ justify-content: center;
1038
1291
  border-radius: 3px;
1039
1292
  margin: 1rem 0rem;
1040
1293
  background: #f7f7f7;
@@ -1053,12 +1306,9 @@
1053
1306
  width: 4rem;
1054
1307
  height: 4rem; }
1055
1308
  .editor-list-item--icon {
1056
- display: -ms-flexbox;
1057
1309
  display: flex;
1058
- -ms-flex-pack: center;
1059
- justify-content: center;
1060
- -ms-flex-align: center;
1061
- align-items: center; }
1310
+ justify-content: center;
1311
+ align-items: center; }
1062
1312
  .editor-list-item--image {
1063
1313
  background-position: center center;
1064
1314
  background-repeat: no-repeat;
@@ -1075,12 +1325,9 @@
1075
1325
  .editor-list-item--actions {
1076
1326
  margin-left: auto;
1077
1327
  margin-right: 2rem;
1078
- display: -ms-flexbox;
1079
1328
  display: flex;
1080
- -ms-flex-pack: center;
1081
- justify-content: center;
1082
- -ms-flex-align: center;
1083
- align-items: center; }
1329
+ justify-content: center;
1330
+ align-items: center; }
1084
1331
  .editor-list-item--actions--button {
1085
1332
  height: 17px; }
1086
1333
  .editor-list-item--edit-button {
@@ -1130,8 +1377,14 @@
1130
1377
  padding: 0.5rem 0.8rem;
1131
1378
  border-radius: 3px;
1132
1379
  border: 1px solid #e3e4e7; }
1380
+ .editor-input--text::-webkit-input-placeholder {
1381
+ color: #c8cbcf; }
1382
+ .editor-input--text::-moz-placeholder {
1383
+ color: #c8cbcf; }
1133
1384
  .editor-input--text:-ms-input-placeholder {
1134
1385
  color: #c8cbcf; }
1386
+ .editor-input--text::-ms-input-placeholder {
1387
+ color: #c8cbcf; }
1135
1388
  .editor-input--text::placeholder {
1136
1389
  color: #c8cbcf; }
1137
1390
  .editor-input--select {
@@ -1148,14 +1401,10 @@
1148
1401
  padding-right: 2.5rem;
1149
1402
  cursor: pointer; }
1150
1403
  .editor-input--image-picker {
1151
- display: -ms-flexbox;
1152
1404
  display: flex;
1153
- -ms-flex-align: center;
1154
- align-items: center;
1155
- -ms-flex-pack: center;
1156
- justify-content: center;
1157
- -ms-flex-direction: column;
1158
- flex-direction: column; }
1405
+ align-items: center;
1406
+ justify-content: center;
1407
+ flex-direction: column; }
1159
1408
 
1160
1409
  .editor-input-image-picker--source {
1161
1410
  background: #f9f9fa;
@@ -1169,29 +1418,21 @@
1169
1418
 
1170
1419
  .editor-input-image-picker--actions {
1171
1420
  margin-top: 1rem;
1172
- display: -ms-flexbox;
1173
1421
  display: flex;
1174
- -ms-flex-align: center;
1175
- align-items: center;
1176
- -ms-flex-pack: center;
1177
- justify-content: center; }
1422
+ align-items: center;
1423
+ justify-content: center; }
1178
1424
 
1179
1425
  .editor-input-url--info {
1180
- display: -ms-flexbox;
1181
1426
  display: flex;
1182
- -ms-flex-align: center;
1183
- align-items: center; }
1427
+ align-items: center; }
1184
1428
  .editor-input-url--info-type {
1185
1429
  margin-right: 1rem; }
1186
1430
 
1187
1431
  .editor-input-url--actions {
1188
1432
  margin-top: 1rem;
1189
- display: -ms-flexbox;
1190
1433
  display: flex;
1191
- -ms-flex-align: center;
1192
- align-items: center;
1193
- -ms-flex-pack: center;
1194
- justify-content: center; }
1434
+ align-items: center;
1435
+ justify-content: center; }
1195
1436
 
1196
1437
  .editor-input-radio--option input {
1197
1438
  margin-right: 1rem; }
@@ -1203,7 +1444,7 @@
1203
1444
  position: absolute;
1204
1445
  top: 0.5rem;
1205
1446
  right: 1rem;
1206
- content: "\F107";
1447
+ content: "\f107";
1207
1448
  font-family: 'Font Awesome 5 Free';
1208
1449
  font-size: 1.8rem;
1209
1450
  font-weight: 900;
@@ -1213,10 +1454,8 @@
1213
1454
  color: #1c77c3; }
1214
1455
 
1215
1456
  .editor-input-checkbox {
1216
- display: -ms-flexbox;
1217
1457
  display: flex;
1218
- -ms-flex-align: center;
1219
- align-items: center; }
1458
+ align-items: center; }
1220
1459
  .editor-input-checkbox .editor-input--label {
1221
1460
  display: block;
1222
1461
  margin: 0 1rem 0 0; }
@@ -1224,17 +1463,24 @@
1224
1463
  margin-left: auto; }
1225
1464
 
1226
1465
  .editor-input-content-type {
1227
- display: -ms-flexbox;
1228
1466
  display: flex;
1229
- -ms-flex-direction: row;
1230
- flex-direction: row;
1231
- -ms-flex-align: center;
1232
- align-items: center; }
1467
+ flex-direction: row;
1468
+ align-items: center; }
1233
1469
  .editor-input-content-type .editor-input--label {
1234
1470
  margin: 0; }
1235
1471
  .editor-input-content-type .editor-input--action {
1236
1472
  margin-left: auto; }
1237
1473
 
1474
+ .editor-input-integer .editor-input--label {
1475
+ display: flex;
1476
+ flex-direction: row;
1477
+ align-items: center; }
1478
+ .editor-input-integer .editor-input--label--value {
1479
+ margin-left: auto;
1480
+ text-transform: lowercase;
1481
+ color: #1c77c3;
1482
+ font-size: 1.25rem; }
1483
+
1238
1484
  .editor-input-hint .editor-input--label {
1239
1485
  font-weight: normal;
1240
1486
  font-size: 1.3rem;
@@ -1278,26 +1524,19 @@
1278
1524
  font-size: 1.2rem; }
1279
1525
 
1280
1526
  .rdw-link-modal-actions {
1281
- display: -ms-flexbox;
1282
1527
  display: flex;
1283
- -ms-flex-pack: center;
1284
- justify-content: center;
1528
+ justify-content: center;
1285
1529
  margin-bottom: 2rem; }
1286
1530
 
1287
1531
  .editor-view {
1288
1532
  height: 100%;
1289
- display: -ms-flexbox;
1290
1533
  display: flex;
1291
- -ms-flex-direction: column;
1292
- flex-direction: column;
1534
+ flex-direction: column;
1293
1535
  background: #fff; }
1294
1536
  .editor-view--header {
1295
- display: -ms-flexbox;
1296
1537
  display: flex;
1297
- -ms-flex-pack: start;
1298
- justify-content: flex-start;
1299
- -ms-flex-align: center;
1300
- align-items: center;
1538
+ justify-content: flex-start;
1539
+ align-items: center;
1301
1540
  padding: 0rem 2rem;
1302
1541
  min-height: 5rem;
1303
1542
  border-bottom: 1px solid #e3e4e7; }
@@ -1319,8 +1558,7 @@
1319
1558
  margin-left: auto; }
1320
1559
  .editor-view--scrollable {
1321
1560
  position: relative;
1322
- -ms-flex-positive: 1;
1323
- flex-grow: 1; }
1561
+ flex-grow: 1; }
1324
1562
 
1325
1563
  .editor-view.slide-up-enter,
1326
1564
  .editor-view.slide-down-enter,
@@ -1362,21 +1600,16 @@
1362
1600
  transition: opacity 100ms ease-in; }
1363
1601
 
1364
1602
  .editor-menu .nav-tabs {
1365
- display: -ms-flexbox;
1366
1603
  display: flex;
1367
1604
  min-height: 5rem; }
1368
1605
 
1369
1606
  .editor-menu .nav-tab {
1370
- -ms-flex-positive: 1;
1371
- flex-grow: 1;
1607
+ flex-grow: 1;
1372
1608
  text-align: center; }
1373
1609
  .editor-menu .nav-tab a {
1374
- display: -ms-flexbox;
1375
1610
  display: flex;
1376
- -ms-flex-pack: center;
1377
- justify-content: center;
1378
- -ms-flex-align: center;
1379
- align-items: center;
1611
+ justify-content: center;
1612
+ align-items: center;
1380
1613
  min-height: 5rem;
1381
1614
  padding: 0;
1382
1615
  margin-right: 0;
@@ -1387,6 +1620,14 @@
1387
1620
  .editor-tabpanes-wrapper {
1388
1621
  height: 100%; }
1389
1622
 
1623
+ @-webkit-keyframes final-text {
1624
+ 0% {
1625
+ opacity: 0;
1626
+ transform: translate(-2rem, 0); }
1627
+ 100% {
1628
+ opacity: 1;
1629
+ transform: translate(0px, 0); } }
1630
+
1390
1631
  @keyframes final-text {
1391
1632
  0% {
1392
1633
  opacity: 0;
@@ -1395,6 +1636,17 @@
1395
1636
  opacity: 1;
1396
1637
  transform: translate(0px, 0); } }
1397
1638
 
1639
+ @-webkit-keyframes final-icon {
1640
+ 0% {
1641
+ opacity: 0;
1642
+ transform: scale(0); }
1643
+ 50% {
1644
+ opacity: 1;
1645
+ transform: scale(2); }
1646
+ 100% {
1647
+ opacity: 1;
1648
+ transform: scale(1); } }
1649
+
1398
1650
  @keyframes final-icon {
1399
1651
  0% {
1400
1652
  opacity: 0;
@@ -1407,14 +1659,11 @@
1407
1659
  transform: scale(1); } }
1408
1660
 
1409
1661
  .editor-header {
1410
- display: -ms-flexbox;
1411
1662
  display: flex;
1412
1663
  padding: 0rem 2rem;
1413
1664
  min-height: 10rem;
1414
- -ms-flex-align: center;
1415
- align-items: center;
1416
- -ms-flex-pack: justify;
1417
- justify-content: space-between;
1665
+ align-items: center;
1666
+ justify-content: space-between;
1418
1667
  background: #33373B; }
1419
1668
  .editor-header--navinfo {
1420
1669
  padding: 2rem 0; }
@@ -1441,10 +1690,12 @@
1441
1690
  display: inline-block; }
1442
1691
  .editor-header--savebtn .btn-save--success i, .editor-header--savebtn .btn-save--error i {
1443
1692
  display: inline-block;
1444
- animation: final-icon 0.3s ease-out alternate; }
1693
+ -webkit-animation: final-icon 0.3s ease-out alternate;
1694
+ animation: final-icon 0.3s ease-out alternate; }
1445
1695
  .editor-header--savebtn .btn-save--success span, .editor-header--savebtn .btn-save--error span {
1446
1696
  display: inline-block;
1447
- animation: final-text 0.3s ease-out alternate; }
1697
+ -webkit-animation: final-text 0.3s ease-out alternate;
1698
+ animation: final-text 0.3s ease-out alternate; }
1448
1699
  .editor-header--savebtn .btn-save--success {
1449
1700
  background: #31BD9C;
1450
1701
  border-color: #27957b; }
@@ -1473,10 +1724,8 @@
1473
1724
  max-height: 667px; }
1474
1725
 
1475
1726
  .preview-actionbar {
1476
- display: -ms-flexbox;
1477
1727
  display: flex;
1478
- -ms-flex-pack: justify;
1479
- justify-content: space-between;
1728
+ justify-content: space-between;
1480
1729
  padding-bottom: 1rem; }
1481
1730
  .preview-actionbar--view-btn {
1482
1731
  display: inline-block;
@@ -1507,12 +1756,9 @@
1507
1756
  opacity: 1; }
1508
1757
  .preview-iframe > .preview-iframe-loader {
1509
1758
  background: #fff;
1510
- display: -ms-flexbox;
1511
1759
  display: flex;
1512
- -ms-flex-align: center;
1513
- align-items: center;
1514
- -ms-flex-pack: center;
1515
- justify-content: center;
1760
+ align-items: center;
1761
+ justify-content: center;
1516
1762
  position: absolute;
1517
1763
  top: 0;
1518
1764
  left: 0;
@@ -1658,12 +1904,9 @@
1658
1904
  border: none; }
1659
1905
 
1660
1906
  .editor-image-uploader {
1661
- display: -ms-flexbox;
1662
1907
  display: flex;
1663
- -ms-flex-align: center;
1664
- align-items: center;
1665
- -ms-flex-pack: center;
1666
- justify-content: center;
1908
+ align-items: center;
1909
+ justify-content: center;
1667
1910
  width: calc(100% / 3 - 0.5rem);
1668
1911
  background: #fff;
1669
1912
  border: dashed 1px #e3e4e7;
@@ -1680,28 +1923,18 @@
1680
1923
  margin: 2rem; }
1681
1924
  .editor-image-list--loading {
1682
1925
  height: 100%;
1683
- display: -ms-flexbox;
1684
1926
  display: flex;
1685
- -ms-flex-align: center;
1686
- align-items: center;
1687
- -ms-flex-pack: center;
1688
- justify-content: center; }
1927
+ align-items: center;
1928
+ justify-content: center; }
1689
1929
  .editor-image-list--container {
1690
- display: -ms-flexbox;
1691
1930
  display: flex;
1692
- -ms-flex-wrap: wrap;
1693
- flex-wrap: wrap;
1694
- -ms-flex-direction: row;
1695
- flex-direction: row;
1696
- -ms-flex-line-pack: start;
1697
- align-content: flex-start;
1698
- -ms-flex-pack: distribute;
1699
- justify-content: space-around; }
1931
+ flex-wrap: wrap;
1932
+ flex-direction: row;
1933
+ align-content: flex-start;
1934
+ justify-content: space-around; }
1700
1935
  .editor-image-list--pagination {
1701
- display: -ms-flexbox;
1702
1936
  display: flex;
1703
- -ms-flex-align: center;
1704
- align-items: center;
1937
+ align-items: center;
1705
1938
  margin-top: 2rem; }
1706
1939
  .editor-image-list--pagination .pagination {
1707
1940
  margin: 0 auto; }
@@ -1762,12 +1995,10 @@
1762
1995
  .url-picker {
1763
1996
  padding: 2rem; }
1764
1997
  .url-picker-type-list {
1765
- display: -ms-flexbox;
1766
1998
  display: flex;
1767
1999
  margin-bottom: 2rem; }
1768
2000
  .url-picker-type-option {
1769
- -ms-flex: 1 1;
1770
- flex: 1 1; }
2001
+ flex: 1 1; }
1771
2002
  .url-picker-type-option--checked label {
1772
2003
  color: #000 !important; }
1773
2004
  .url-picker-type-option input {
@@ -1777,8 +2008,14 @@
1777
2008
  color: #91979f;
1778
2009
  margin-bottom: 0;
1779
2010
  cursor: pointer; }
2011
+ .url-picker .react-autosuggest__input::-webkit-input-placeholder {
2012
+ color: #c8cbcf; }
2013
+ .url-picker .react-autosuggest__input::-moz-placeholder {
2014
+ color: #c8cbcf; }
1780
2015
  .url-picker .react-autosuggest__input:-ms-input-placeholder {
1781
2016
  color: #c8cbcf; }
2017
+ .url-picker .react-autosuggest__input::-ms-input-placeholder {
2018
+ color: #c8cbcf; }
1782
2019
  .url-picker .react-autosuggest__input::placeholder {
1783
2020
  color: #c8cbcf; }
1784
2021
 
@@ -1787,6 +2024,8 @@
1787
2024
  padding: 2rem 0 0 0; }
1788
2025
 
1789
2026
  .locale-switcher {
2027
+ position: relative;
2028
+ display: inline-block;
1790
2029
  margin-top: 0.2rem; }
1791
2030
  .locale-switcher-button {
1792
2031
  color: #adb1b7;
@@ -1806,6 +2045,9 @@
1806
2045
  z-index: 999 !important; }
1807
2046
  .locale-switcher-content > span {
1808
2047
  z-index: 1000; }
2048
+ .locale-switcher .rap-popper-div {
2049
+ z-index: 999 !important;
2050
+ transform: translate3d(0px, 25px, 0px) !important; }
1809
2051
  .locale-switcher-locales {
1810
2052
  position: relative;
1811
2053
  z-index: 100;
@@ -1818,7 +2060,7 @@
1818
2060
  border-radius: 3px; }
1819
2061
  .locale-switcher-locale a {
1820
2062
  display: block;
1821
- padding: 0.8rem 1rem;
2063
+ padding: 1rem 2rem;
1822
2064
  font-size: 1.2rem;
1823
2065
  color: #6a707a;
1824
2066
  white-space: nowrap;
@@ -1868,12 +2110,16 @@
1868
2110
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);
1869
2111
  transform: scale(1);
1870
2112
  transition: left 0.3s cubic-bezier(0.35, 0, 0.25, 1);
1871
- animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
1872
- animation-duration: 0.3s;
1873
- animation-name: rcSwitchOff; }
2113
+ -webkit-animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
2114
+ animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
2115
+ -webkit-animation-duration: 0.3s;
2116
+ animation-duration: 0.3s;
2117
+ -webkit-animation-name: rcSwitchOff;
2118
+ animation-name: rcSwitchOff; }
1874
2119
  .rc-switch:hover:after {
1875
2120
  transform: scale(1.1);
1876
- animation-name: rcSwitchOn; }
2121
+ -webkit-animation-name: rcSwitchOn;
2122
+ animation-name: rcSwitchOn; }
1877
2123
  .rc-switch:focus {
1878
2124
  box-shadow: 0 0 0 2px tint(#2db7f5, 80%);
1879
2125
  outline: none; }
@@ -1890,11 +2136,13 @@
1890
2136
  border-color: #ccc; }
1891
2137
  .rc-switch-disabled:after {
1892
2138
  background: #9e9e9e;
1893
- animation-name: none;
2139
+ -webkit-animation-name: none;
2140
+ animation-name: none;
1894
2141
  cursor: no-drop; }
1895
2142
  .rc-switch-disabled:hover:after {
1896
2143
  transform: scale(1);
1897
- animation-name: none; }
2144
+ -webkit-animation-name: none;
2145
+ animation-name: none; }
1898
2146
  .rc-switch-label {
1899
2147
  display: inline-block;
1900
2148
  line-height: 20px;
@@ -1908,6 +2156,14 @@
1908
2156
  -ms-user-select: text;
1909
2157
  user-select: text; }
1910
2158
 
2159
+ @-webkit-keyframes rcSwitchOn {
2160
+ 0% {
2161
+ transform: scale(1); }
2162
+ 50% {
2163
+ transform: scale(1.25); }
2164
+ 100% {
2165
+ transform: scale(1.1); } }
2166
+
1911
2167
  @keyframes rcSwitchOn {
1912
2168
  0% {
1913
2169
  transform: scale(1); }
@@ -1916,12 +2172,28 @@
1916
2172
  100% {
1917
2173
  transform: scale(1.1); } }
1918
2174
 
2175
+ @-webkit-keyframes rcSwitchOff {
2176
+ 0% {
2177
+ transform: scale(1.1); }
2178
+ 100% {
2179
+ transform: scale(1); } }
2180
+
1919
2181
  @keyframes rcSwitchOff {
1920
2182
  0% {
1921
2183
  transform: scale(1.1); }
1922
2184
  100% {
1923
2185
  transform: scale(1); } }
1924
2186
 
2187
+ .rc-slider {
2188
+ margin-top: 1.5rem; }
2189
+
2190
+ .rc-slider-track {
2191
+ background-color: #1c77c3; }
2192
+
2193
+ .rc-slider-handle {
2194
+ border: none;
2195
+ background-color: #1c77c3; }
2196
+
1925
2197
  .react-autosuggest {
1926
2198
  position: relative; }
1927
2199
  .react-autosuggest--loading .react-autosuggest__spinner {
@@ -1978,27 +2250,21 @@
1978
2250
  #editor-app, #editor-app .container-fluid {
1979
2251
  height: 100%; }
1980
2252
  #editor-app .actionbar, #editor-app .container-fluid .actionbar {
1981
- display: -ms-flexbox;
1982
2253
  display: flex;
1983
- -ms-flex-direction: column;
1984
- flex-direction: column;
2254
+ flex-direction: column;
1985
2255
  width: 400px; }
1986
2256
  #editor-app .actionbar .scrollable, #editor-app .container-fluid .actionbar .scrollable {
1987
2257
  margin-top: 0; }
1988
2258
 
1989
2259
  .editor-startup {
1990
2260
  height: 100%;
1991
- display: -ms-flexbox;
1992
2261
  display: flex;
1993
- -ms-flex-align: center;
1994
- align-items: center;
1995
- -ms-flex-pack: center;
1996
- justify-content: center; }
2262
+ align-items: center;
2263
+ justify-content: center; }
1997
2264
 
1998
2265
  .editor-route-wrapper {
1999
2266
  position: relative;
2000
- -ms-flex-positive: 1;
2001
- flex-grow: 1; }
2267
+ flex-grow: 1; }
2002
2268
 
2003
2269
  .editor-route-wrapper > div {
2004
2270
  position: absolute;
@@ -2008,12 +2274,9 @@
2008
2274
 
2009
2275
  .editor-error-container {
2010
2276
  height: 100%;
2011
- display: -ms-flexbox;
2012
2277
  display: flex;
2013
- -ms-flex-pack: center;
2014
- justify-content: center;
2015
- -ms-flex-align: center;
2016
- align-items: center; }
2278
+ justify-content: center;
2279
+ align-items: center; }
2017
2280
 
2018
2281
  .editor-error-message {
2019
2282
  margin-top: 4rem;