diff --git a/classes/controller.php b/classes/controller.php
index b36a3b3c..e8075da7 100644
--- a/classes/controller.php
+++ b/classes/controller.php
@@ -107,7 +107,22 @@ class AdminController
} else {
$nonce = $this->grav['uri']->param('admin-nonce');
}
- if (!$nonce || !Utils::verifyNonce($nonce, 'admin-form')) {
+
+ if (!$nonce || !Utils::verifyNonce($nonce, 'admin-form'))
+ {
+ if ($this->task == 'addmedia') {
+
+ $message = sprintf($this->admin->translate('PLUGIN_ADMIN.FILE_TOO_LARGE', null, true), ini_get('post_max_size'));
+
+ //In this case it's more likely that the image is too big than POST can handle. Show message
+ $this->admin->json_response = [
+ 'status' => 'error',
+ 'message' => $message
+ ];
+
+ return false;
+ }
+
$this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.INVALID_SECURITY_TOKEN'), 'error');
$this->admin->json_response = [
'status' => 'error',
diff --git a/languages/en.yaml b/languages/en.yaml
index 8f3e828d..f56faf2b 100644
--- a/languages/en.yaml
+++ b/languages/en.yaml
@@ -484,6 +484,7 @@ PLUGIN_ADMIN:
FILE_ERROR_UPLOAD: "An error occurred while trying to upload the file"
FILE_UNSUPPORTED: "Unsupported file type"
ADD_ITEM: "Add item"
+ FILE_TOO_LARGE: "The file is too large to be uploaded, maximum allowed is %s according
to your PHP settings. Increase your `post_max_size` PHP setting"
INSTALLING: "Installing"
LOADING: "Loading.."
DEPENDENCIES_NOT_MET_MESSAGE: "The following dependencies need to be fulfilled first:"
@@ -504,4 +505,4 @@ PLUGIN_ADMIN:
ERROR_UPDATING_PACKAGES: "Error while updating the package(s)"
UPDATING_PACKAGES: "Updating package(s).."
PACKAGES_SUCCESSFULLY_UPDATED: "Package(s) successfully updated."
- UPDATING: "Updating"
\ No newline at end of file
+ UPDATING: "Updating"
diff --git a/pages/admin/register.md b/pages/admin/register.md
index 176276ab..ff0b13bb 100644
--- a/pages/admin/register.md
+++ b/pages/admin/register.md
@@ -4,6 +4,7 @@ form:
- name: username
type: text
label: PLUGIN_ADMIN.USERNAME
+ autofocus: true
placeholder: "lowercase chars only, e.g. 'admin'"
validate:
required: true
diff --git a/themes/grav/app/forms/fields/colorpicker.js b/themes/grav/app/forms/fields/colorpicker.js
index 2f11a5c1..0eadfced 100644
--- a/themes/grav/app/forms/fields/colorpicker.js
+++ b/themes/grav/app/forms/fields/colorpicker.js
@@ -149,12 +149,19 @@ export default class ColorpickerField {
}
reposition() {
+ let ct = $('.content-wrapper')[0];
let offset = this.element[0].getBoundingClientRect();
- let ct = $('.content-wrapper')[0].getBoundingClientRect();
+ let ctOffset = ct.getBoundingClientRect();
+ let delta = { x: 0, y: 0 };
+
+ if (this.options.offset) {
+ delta.x = this.options.offset.x || 0;
+ delta.y = this.options.offset.y || 0;
+ }
this.wrapper.css({
- top: offset.top + offset.height - ct.top,
- left: offset.left - ct.left
+ top: offset.top + offset.height + ct.scrollTop - ctOffset.top + delta.y,
+ left: offset.left + ct.scrollLeft - ctOffset.left + delta.x
});
}
@@ -206,9 +213,10 @@ export default class ColorpickerField {
let phi;
// Touch support
- if (event && event.changedTouches) {
- x = (event.changedTouches ? event.changedTouches[0].pageX : 0) - offsetX;
- y = (event.changedTouches ? event.changedTouches[0].pageY : 0) - offsetY;
+ let touchEvents = event.changedTouches || (event.originalEvent && event.originalEvent.changedTouches);
+ if (event && touchEvents) {
+ x = (touchEvents ? touchEvents[0].pageX : 0) - offsetX;
+ y = (touchEvents ? touchEvents[0].pageY : 0) - offsetY;
}
if (event && event.manualOpacity) {
diff --git a/themes/grav/app/pages/page/multilang.js b/themes/grav/app/pages/page/multilang.js
index 2f58ccc0..d91b862b 100644
--- a/themes/grav/app/pages/page/multilang.js
+++ b/themes/grav/app/pages/page/multilang.js
@@ -6,20 +6,16 @@ $('[name="task"][value="saveas"], [name="task"][value="switchlanguage"]').on('mo
let form = $(`#${element.attr('form')}`);
if (!form.length) { return; }
-
fields.forEach((field) => {
let value = element.attr(field);
if (!value) { return; }
-
- let input = form.find(`[name="${field}"]`);
-
+ let input = form.find(`[name="data[${field}]"]`);
if (!input.length) {
- input = $(``);
+ input = $(``);
form.append(input);
}
input.val(value);
-
});
return true;
diff --git a/themes/grav/css-compiled/fonts.css b/themes/grav/css-compiled/fonts.css
index 5c90d40a..2d303148 100644
--- a/themes/grav/css-compiled/fonts.css
+++ b/themes/grav/css-compiled/fonts.css
@@ -1 +1,3 @@
@font-face{font-family:"Montserrat";font-weight:400;font-style:normal;src:url("../fonts/Montserrat-regular/Montserrat-regular.eot");src:url("../fonts/Montserrat-regular/Montserrat-regular.eot?#iefix") format("embedded-opentype"),local("Montserrat-regular"),url("../fonts/Montserrat-regular/Montserrat-regular.woff2") format("woff2"),url("../fonts/Montserrat-regular/Montserrat-regular.woff") format("woff"),url("../fonts/Montserrat-regular/Montserrat-regular.ttf") format("truetype"),url("../fonts/Montserrat-regular/Montserrat-regular.svg#Montserrat") format("svg")}@font-face{font-family:"Lato";font-weight:300;font-style:normal;src:url("../fonts/Lato-300/Lato-300.eot");src:url("../fonts/Lato-300/Lato-300.eot?#iefix") format("embedded-opentype"),local("Lato-300"),url("../fonts/Lato-300/Lato-300.woff2") format("woff2"),url("../fonts/Lato-300/Lato-300.woff") format("woff"),url("../fonts/Lato-300/Lato-300.ttf") format("truetype"),url("../fonts/Lato-300/Lato-300.svg#Lato") format("svg")}@font-face{font-family:"Lato";font-weight:400;font-style:normal;src:url("../fonts/Lato-regular/Lato-regular.eot");src:url("../fonts/Lato-regular/Lato-regular.eot?#iefix") format("embedded-opentype"),local("Lato-regular"),url("../fonts/Lato-regular/Lato-regular.woff2") format("woff2"),url("../fonts/Lato-regular/Lato-regular.woff") format("woff"),url("../fonts/Lato-regular/Lato-regular.ttf") format("truetype"),url("../fonts/Lato-regular/Lato-regular.svg#Lato") format("svg")}@font-face{font-family:"Lato";font-weight:700;font-style:normal;src:url("../fonts/Lato-700/Lato-700.eot");src:url("../fonts/Lato-700/Lato-700.eot?#iefix") format("embedded-opentype"),local("Lato-700"),url("../fonts/Lato-700/Lato-700.woff2") format("woff2"),url("../fonts/Lato-700/Lato-700.woff") format("woff"),url("../fonts/Lato-700/Lato-700.ttf") format("truetype"),url("../fonts/Lato-700/Lato-700.svg#Lato") format("svg")}@font-face{font-family:"Inconsolata";font-weight:400;font-style:normal;src:url("../fonts/Inconsolata-regular/Inconsolata-regular.eot");src:url("../fonts/Inconsolata-regular/Inconsolata-regular.eot?#iefix") format("embedded-opentype"),local("Inconsolata-regular"),url("../fonts/Inconsolata-regular/Inconsolata-regular.woff2") format("woff2"),url("../fonts/Inconsolata-regular/Inconsolata-regular.woff") format("woff"),url("../fonts/Inconsolata-regular/Inconsolata-regular.ttf") format("truetype"),url("../fonts/Inconsolata-regular/Inconsolata-regular.svg#Inconsolata") format("svg")}@font-face{font-family:"Inconsolata";font-weight:700;font-style:normal;src:url("../fonts/Inconsolata-700/Inconsolata-700.eot");src:url("../fonts/Inconsolata-700/Inconsolata-700.eot?#iefix") format("embedded-opentype"),local("Inconsolata-700"),url("../fonts/Inconsolata-700/Inconsolata-700.woff2") format("woff2"),url("../fonts/Inconsolata-700/Inconsolata-700.woff") format("woff"),url("../fonts/Inconsolata-700/Inconsolata-700.ttf") format("truetype"),url("../fonts/Inconsolata-700/Inconsolata-700.svg#Inconsolata") format("svg")}body,h5,h6,.badge,.note,.grav-mdeditor-preview,input,select,textarea,button,.selectize-input{font-family:"Lato","Helvetica","Tahoma","Geneva","Arial",sans-serif}h1,h2,h3,h4,#admin-menu li,.form-tabs>label,.label{font-family:"Montserrat","Helvetica","Tahoma","Geneva","Arial",sans-serif}code,kbd,pre,samp,body .CodeMirror{font-family:"Inconsolata","Monaco","Consolas","Lucida Console",monospace !important}
+
+/*# sourceMappingURL=fonts.css.map */
diff --git a/themes/grav/css-compiled/nucleus.css b/themes/grav/css-compiled/nucleus.css
index 61aa1c7d..9b51b3f3 100644
--- a/themes/grav/css-compiled/nucleus.css
+++ b/themes/grav/css-compiled/nucleus.css
@@ -1 +1,3 @@
*,*::before,*::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-webkit-viewport{width:device-width}@-moz-viewport{width:device-width}@-ms-viewport{width:device-width}@-o-viewport{width:device-width}@viewport{width:device-width}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent;text-decoration:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}mark{background:#ff0;color:#000}sub,sup{font-size:0.75rem;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0}pre{overflow:auto}code,kbd,pre,samp{font-size:1rem}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0;table-layout:fixed;width:100%}tr,td,th{vertical-align:middle}th,td{padding:0.425rem 0}th{text-align:left}.container{width:75em;margin:0 auto;padding:0}@media only all and (min-width: 60em) and (max-width: 74.938em){.container{width:60em}}@media only all and (min-width: 48em) and (max-width: 59.938em){.container{width:48em}}@media only all and (min-width: 30.063em) and (max-width: 47.938em){.container{width:30em}}@media only all and (max-width: 30em){.container{width:100%}}.grid{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row;-moz-flex-flow:row;flex-flow:row;list-style:none;margin:0;padding:0}@media only all and (max-width: 47.938em){.grid{-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;flex-flow:row wrap}}.block{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}@media only all and (max-width: 47.938em){.block{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 100%;-moz-flex:0 100%;-ms-flex:0 100%;flex:0 100%}}.content{margin:0.625rem;padding:0.938rem}@media only all and (max-width: 47.938em){body [class*="size-"]{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 100%;-moz-flex:0 100%;-ms-flex:0 100%;flex:0 100%}}.size-1-2{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 50%;-moz-flex:0 50%;-ms-flex:0 50%;flex:0 50%}.size-1-3{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 33.33333%;-moz-flex:0 33.33333%;-ms-flex:0 33.33333%;flex:0 33.33333%}.size-1-4{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 25%;-moz-flex:0 25%;-ms-flex:0 25%;flex:0 25%}.size-1-5{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 20%;-moz-flex:0 20%;-ms-flex:0 20%;flex:0 20%}.size-1-6{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 16.66667%;-moz-flex:0 16.66667%;-ms-flex:0 16.66667%;flex:0 16.66667%}.size-1-7{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 14.28571%;-moz-flex:0 14.28571%;-ms-flex:0 14.28571%;flex:0 14.28571%}.size-1-8{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 12.5%;-moz-flex:0 12.5%;-ms-flex:0 12.5%;flex:0 12.5%}.size-1-9{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 11.11111%;-moz-flex:0 11.11111%;-ms-flex:0 11.11111%;flex:0 11.11111%}.size-1-10{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 10%;-moz-flex:0 10%;-ms-flex:0 10%;flex:0 10%}.size-1-11{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 9.09091%;-moz-flex:0 9.09091%;-ms-flex:0 9.09091%;flex:0 9.09091%}.size-1-12{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 8.33333%;-moz-flex:0 8.33333%;-ms-flex:0 8.33333%;flex:0 8.33333%}@media only all and (min-width: 48em) and (max-width: 59.938em){.size-tablet-1-2{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 50%;-moz-flex:0 50%;-ms-flex:0 50%;flex:0 50%}.size-tablet-1-3{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 33.33333%;-moz-flex:0 33.33333%;-ms-flex:0 33.33333%;flex:0 33.33333%}.size-tablet-1-4{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 25%;-moz-flex:0 25%;-ms-flex:0 25%;flex:0 25%}.size-tablet-1-5{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 20%;-moz-flex:0 20%;-ms-flex:0 20%;flex:0 20%}.size-tablet-1-6{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 16.66667%;-moz-flex:0 16.66667%;-ms-flex:0 16.66667%;flex:0 16.66667%}.size-tablet-1-7{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 14.28571%;-moz-flex:0 14.28571%;-ms-flex:0 14.28571%;flex:0 14.28571%}.size-tablet-1-8{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 12.5%;-moz-flex:0 12.5%;-ms-flex:0 12.5%;flex:0 12.5%}.size-tablet-1-9{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 11.11111%;-moz-flex:0 11.11111%;-ms-flex:0 11.11111%;flex:0 11.11111%}.size-tablet-1-10{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 10%;-moz-flex:0 10%;-ms-flex:0 10%;flex:0 10%}.size-tablet-1-11{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 9.09091%;-moz-flex:0 9.09091%;-ms-flex:0 9.09091%;flex:0 9.09091%}.size-tablet-1-12{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 8.33333%;-moz-flex:0 8.33333%;-ms-flex:0 8.33333%;flex:0 8.33333%}}@media only all and (max-width: 47.938em){@supports not (flex-wrap: wrap){.grid{display:block;-webkit-box-lines:inherit;-moz-box-lines:inherit;box-lines:inherit;-webkit-flex-wrap:inherit;-moz-flex-wrap:inherit;-ms-flex-wrap:inherit;flex-wrap:inherit}.block{display:block;-webkit-box-flex:inherit;-moz-box-flex:inherit;box-flex:inherit;-webkit-flex:inherit;-moz-flex:inherit;-ms-flex:inherit;flex:inherit}}}.first-block{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.last-block{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.fixed-blocks{-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;flex-flow:row wrap}.fixed-blocks .block{-webkit-box-flex:inherit;-moz-box-flex:inherit;box-flex:inherit;-webkit-flex:inherit;-moz-flex:inherit;-ms-flex:inherit;flex:inherit;width:25%}@media only all and (min-width: 60em) and (max-width: 74.938em){.fixed-blocks .block{width:33.33333%}}@media only all and (min-width: 48em) and (max-width: 59.938em){.fixed-blocks .block{width:50%}}@media only all and (max-width: 47.938em){.fixed-blocks .block{width:100%}}@supports not (flex-wrap: wrap){.fixed-blocks{display:block;-webkit-flex-flow:inherit;-moz-flex-flow:inherit;flex-flow:inherit}}body{font-size:1rem;line-height:1.7}h1,h2,h3,h4,h5,h6{margin:1.7rem 0 0.85rem 0;text-rendering:optimizeLegibility}h1{font-size:3.2rem}h2{font-size:2.5rem}h3{font-size:2.1rem}h4{font-size:1.75rem}h5{font-size:1.35rem}h6{font-size:0.85rem}p{margin:0.85rem 0 1.7rem}ul,ol{margin-top:1.7rem;margin-bottom:1.7rem}ul ul,ul ol,ol ul,ol ol{margin-top:0;margin-bottom:0}blockquote{margin:1.7rem 0;padding-left:0.85rem}cite{display:block;font-size:0.875rem}cite:before{content:"\2014 \0020"}pre{margin:1.7rem 0;padding:0.938rem}code{vertical-align:bottom}small{font-size:0.875rem}hr{border-left:none;border-right:none;border-top:none;margin:1.7rem 0}fieldset{border:0;padding:0.938rem;margin:0 0 1.7rem 0}input,label,select{display:block}label{margin-bottom:0.425rem}label.required:after{content:"*"}label abbr{display:none}textarea,input[type="email"],input[type="number"],input[type="password"],input[type="search"],input[type="tel"],input[type="text"],input[type="url"],input[type="color"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="time"],input[type="week"],select[multiple=multiple]{-webkit-transition:border-color;-moz-transition:border-color;transition:border-color;border-radius:0.1875rem;padding:0.425rem 0.425rem;width:100%}textarea:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="text"]:focus,input[type="url"]:focus,input[type="color"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,select[multiple=multiple]:focus{outline:none}textarea{resize:vertical}input[type="checkbox"],input[type="radio"]{display:inline;margin-right:0.425rem}input[type="file"]{width:100%}select{width:auto;max-width:100%;margin-bottom:1.7rem}button,input[type="submit"]{cursor:pointer;user-select:none;vertical-align:middle;white-space:nowrap;border:inherit}
+
+/*# sourceMappingURL=nucleus.css.map */
diff --git a/themes/grav/package.json b/themes/grav/package.json
index c533178e..9feeb143 100644
--- a/themes/grav/package.json
+++ b/themes/grav/package.json
@@ -15,7 +15,7 @@
"dependencies": {
"bootstrap": "^3.3.6",
"chartist": "^0.9.7",
- "codemirror": "^5.12.0",
+ "codemirror": "^5.13.0",
"cookies-js": "^1.2.2",
"debounce": "^1.0.0",
"dropzone": "^4.3.0",
@@ -24,7 +24,7 @@
"gemini-scrollbar": "^1.3.2",
"immutable": "^3.7.6",
"immutablediff": "^0.4.2",
- "js-yaml": "^3.5.3",
+ "js-yaml": "^3.5.5",
"mout": "^0.12.0",
"remodal": "^1.0.6",
"selectize": "^0.12.1",
@@ -35,12 +35,12 @@
"whatwg-fetch": "^0.11.0"
},
"devDependencies": {
- "babel-core": "^6.6.4",
+ "babel-core": "^6.7.2",
"babel-loader": "^6.2.4",
- "babel-polyfill": "^6.6.1",
+ "babel-polyfill": "^6.7.2",
"babel-preset-es2015": "^6.6.0",
"css-loader": "^0.23.1",
- "eslint": "^2.2.0",
+ "eslint": "^2.4.0",
"eslint-loader": "^1.3.0",
"exports-loader": "^0.6.3",
"gulp": "^3.9.1",
diff --git a/themes/grav/scss/template/modules/_colorpicker.scss b/themes/grav/scss/template/modules/_colorpicker.scss
index 22ec0287..206e21c2 100644
--- a/themes/grav/scss/template/modules/_colorpicker.scss
+++ b/themes/grav/scss/template/modules/_colorpicker.scss
@@ -1,11 +1,9 @@
.g-colorpicker {
- @extend %g-transparent-bg;
position: relative;
border-radius: $core-border-radius;
max-width: 100%;
input {
- color: #333;
width: 100% !important;
}
@@ -30,18 +28,12 @@
.g-colorpicker-preview {
position: absolute;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
+ top: 0px;
+ right: 0px;
+ bottom: 0px;
+ left: 0px;
border-radius: 0 3px 3px 0;
}
-
- &.light-text {
- input, i {
- color: $white;
- }
- }
}
.cp-sprite {
@@ -52,7 +44,7 @@
.cp-wrapper {
position: absolute;
width: 173px;
- height: 208px;
+ height: 211px;
background: white;
border: solid 1px #CCC;
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
diff --git a/themes/grav/templates/forms/fields/column/column.html.twig b/themes/grav/templates/forms/fields/column/column.html.twig
index c4aeb8e1..451a289e 100644
--- a/themes/grav/templates/forms/fields/column/column.html.twig
+++ b/themes/grav/templates/forms/fields/column/column.html.twig
@@ -3,7 +3,7 @@
{% for field in field.fields %}
{% if field.type %}
{% set value = data.value(field.name) %}
- {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %}
+ {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %}
{% endif %}
{% endfor %}
diff --git a/themes/grav/templates/forms/fields/columns/columns.html.twig b/themes/grav/templates/forms/fields/columns/columns.html.twig
index 6e72c24a..4650ba88 100644
--- a/themes/grav/templates/forms/fields/columns/columns.html.twig
+++ b/themes/grav/templates/forms/fields/columns/columns.html.twig
@@ -2,7 +2,7 @@
{% if field.fields %}
{% set cols = field.fields|length %}
{% for field in field.fields %}
- {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/column/column.html.twig'] with {'cols':cols} %}
+ {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/column/column.html.twig'] with {'cols':cols} %}
{% endfor %}
{% endif %}
diff --git a/themes/grav/templates/forms/fields/datetime/datetime.html.twig b/themes/grav/templates/forms/fields/datetime/datetime.html.twig
new file mode 100644
index 00000000..81a770ae
--- /dev/null
+++ b/themes/grav/templates/forms/fields/datetime/datetime.html.twig
@@ -0,0 +1,26 @@
+{% extends "forms/field.html.twig" %}
+
+{% set default_php_dateformat = "d-m-Y H:i" %}
+{% set php_dateformat = config.system.pages.dateformat.default ?: default_php_dateformat %}
+{% set js_dateformat = admin.dateformatToMomentJS(php_dateformat) %}
+{% set value = (value is null ? field.default : value) %}
+{% set value = (value is null ? value : value|date(php_dateformat)) %}
+
+{% block input %}
+