added admin interface
This commit is contained in:
240
admin/template_assets/vendor/cropper/cropper-init.js
vendored
Normal file
240
admin/template_assets/vendor/cropper/cropper-init.js
vendored
Normal file
@ -0,0 +1,240 @@
|
||||
$(function () {
|
||||
|
||||
'use strict';
|
||||
|
||||
var console = window.console || { log: function () {} };
|
||||
var $image = $('#image');
|
||||
var $download = $('#download');
|
||||
var $dataX = $('#dataX');
|
||||
var $dataY = $('#dataY');
|
||||
var $dataHeight = $('#dataHeight');
|
||||
var $dataWidth = $('#dataWidth');
|
||||
var $dataRotate = $('#dataRotate');
|
||||
var $dataScaleX = $('#dataScaleX');
|
||||
var $dataScaleY = $('#dataScaleY');
|
||||
var options = {
|
||||
aspectRatio: 16 / 9,
|
||||
preview: '.img-preview',
|
||||
crop: function (e) {
|
||||
$dataX.val(Math.round(e.x));
|
||||
$dataY.val(Math.round(e.y));
|
||||
$dataHeight.val(Math.round(e.height));
|
||||
$dataWidth.val(Math.round(e.width));
|
||||
$dataRotate.val(e.rotate);
|
||||
$dataScaleX.val(e.scaleX);
|
||||
$dataScaleY.val(e.scaleY);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// Tooltip
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
|
||||
|
||||
// Cropper
|
||||
$image.on({
|
||||
'build.cropper': function (e) {
|
||||
console.log(e.type);
|
||||
},
|
||||
'built.cropper': function (e) {
|
||||
console.log(e.type);
|
||||
},
|
||||
'cropstart.cropper': function (e) {
|
||||
console.log(e.type, e.action);
|
||||
},
|
||||
'cropmove.cropper': function (e) {
|
||||
console.log(e.type, e.action);
|
||||
},
|
||||
'cropend.cropper': function (e) {
|
||||
console.log(e.type, e.action);
|
||||
},
|
||||
'crop.cropper': function (e) {
|
||||
console.log(e.type, e.x, e.y, e.width, e.height, e.rotate, e.scaleX, e.scaleY);
|
||||
},
|
||||
'zoom.cropper': function (e) {
|
||||
console.log(e.type, e.ratio);
|
||||
}
|
||||
}).cropper(options);
|
||||
|
||||
|
||||
// Buttons
|
||||
if (!$.isFunction(document.createElement('canvas').getContext)) {
|
||||
$('button[data-method="getCroppedCanvas"]').prop('disabled', true);
|
||||
}
|
||||
|
||||
if (typeof document.createElement('cropper').style.transition === 'undefined') {
|
||||
$('button[data-method="rotate"]').prop('disabled', true);
|
||||
$('button[data-method="scale"]').prop('disabled', true);
|
||||
}
|
||||
|
||||
|
||||
// Download
|
||||
if (typeof $download[0].download === 'undefined') {
|
||||
$download.addClass('disabled');
|
||||
}
|
||||
|
||||
|
||||
// Options
|
||||
$('.docs-toggles').on('change', 'input', function () {
|
||||
var $this = $(this);
|
||||
var name = $this.attr('name');
|
||||
var type = $this.prop('type');
|
||||
var cropBoxData;
|
||||
var canvasData;
|
||||
|
||||
if (!$image.data('cropper')) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (type === 'checkbox') {
|
||||
options[name] = $this.prop('checked');
|
||||
cropBoxData = $image.cropper('getCropBoxData');
|
||||
canvasData = $image.cropper('getCanvasData');
|
||||
|
||||
options.built = function () {
|
||||
$image.cropper('setCropBoxData', cropBoxData);
|
||||
$image.cropper('setCanvasData', canvasData);
|
||||
};
|
||||
} else if (type === 'radio') {
|
||||
options[name] = $this.val();
|
||||
}
|
||||
|
||||
$image.cropper('destroy').cropper(options);
|
||||
});
|
||||
|
||||
|
||||
// Methods
|
||||
$('.docs-buttons').on('click', '[data-method]', function () {
|
||||
var $this = $(this);
|
||||
var data = $this.data();
|
||||
var $target;
|
||||
var result;
|
||||
|
||||
if ($this.prop('disabled') || $this.hasClass('disabled')) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($image.data('cropper') && data.method) {
|
||||
data = $.extend({}, data); // Clone a new one
|
||||
|
||||
if (typeof data.target !== 'undefined') {
|
||||
$target = $(data.target);
|
||||
|
||||
if (typeof data.option === 'undefined') {
|
||||
try {
|
||||
data.option = JSON.parse($target.val());
|
||||
} catch (e) {
|
||||
console.log(e.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (data.method === 'rotate') {
|
||||
$image.cropper('clear');
|
||||
}
|
||||
|
||||
result = $image.cropper(data.method, data.option, data.secondOption);
|
||||
|
||||
if (data.method === 'rotate') {
|
||||
$image.cropper('crop');
|
||||
}
|
||||
|
||||
switch (data.method) {
|
||||
case 'scaleX':
|
||||
case 'scaleY':
|
||||
$(this).data('option', -data.option);
|
||||
break;
|
||||
|
||||
case 'getCroppedCanvas':
|
||||
if (result) {
|
||||
|
||||
// Bootstrap's Modal
|
||||
$('#getCroppedCanvasModal').modal().find('.modal-body').html(result);
|
||||
|
||||
if (!$download.hasClass('disabled')) {
|
||||
$download.attr('href', result.toDataURL('image/jpeg'));
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if ($.isPlainObject(result) && $target) {
|
||||
try {
|
||||
$target.val(JSON.stringify(result));
|
||||
} catch (e) {
|
||||
console.log(e.message);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Keyboard
|
||||
$(document.body).on('keydown', function (e) {
|
||||
|
||||
if (!$image.data('cropper') || this.scrollTop > 300) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (e.which) {
|
||||
case 37:
|
||||
e.preventDefault();
|
||||
$image.cropper('move', -1, 0);
|
||||
break;
|
||||
|
||||
case 38:
|
||||
e.preventDefault();
|
||||
$image.cropper('move', 0, -1);
|
||||
break;
|
||||
|
||||
case 39:
|
||||
e.preventDefault();
|
||||
$image.cropper('move', 1, 0);
|
||||
break;
|
||||
|
||||
case 40:
|
||||
e.preventDefault();
|
||||
$image.cropper('move', 0, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
// Import image
|
||||
var $inputImage = $('#inputImage');
|
||||
var URL = window.URL || window.webkitURL;
|
||||
var blobURL;
|
||||
|
||||
if (URL) {
|
||||
$inputImage.change(function () {
|
||||
var files = this.files;
|
||||
var file;
|
||||
|
||||
if (!$image.data('cropper')) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (files && files.length) {
|
||||
file = files[0];
|
||||
|
||||
if (/^image\/\w+$/.test(file.type)) {
|
||||
blobURL = URL.createObjectURL(file);
|
||||
$image.one('built.cropper', function () {
|
||||
|
||||
// Revoke when load complete
|
||||
URL.revokeObjectURL(blobURL);
|
||||
}).cropper('reset').cropper('replace', blobURL);
|
||||
$inputImage.val('');
|
||||
} else {
|
||||
window.alert('Please choose an image file.');
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$inputImage.prop('disabled', true).parent().addClass('disabled');
|
||||
}
|
||||
|
||||
});
|
||||
328
admin/template_assets/vendor/cropper/cropper.css
vendored
Normal file
328
admin/template_assets/vendor/cropper/cropper.css
vendored
Normal file
@ -0,0 +1,328 @@
|
||||
/*!
|
||||
* Cropper v3.0.0-beta
|
||||
* https://github.com/fengyuanchen/cropper
|
||||
*
|
||||
* Copyright (c) 2017 Fengyuan Chen
|
||||
* Released under the MIT license
|
||||
*
|
||||
* Date: 2017-02-25T07:44:44.656Z
|
||||
*/
|
||||
|
||||
.cropper-container {
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
|
||||
position: relative;
|
||||
|
||||
-webkit-user-select: none;
|
||||
|
||||
-moz-user-select: none;
|
||||
|
||||
-ms-user-select: none;
|
||||
|
||||
user-select: none;
|
||||
|
||||
direction: ltr;
|
||||
-ms-touch-action: none;
|
||||
touch-action: none
|
||||
}
|
||||
|
||||
.cropper-container img {
|
||||
/* Avoid margin top issue (Occur only when margin-top <= -height) */
|
||||
display: block;
|
||||
min-width: 0 !important;
|
||||
max-width: none !important;
|
||||
min-height: 0 !important;
|
||||
max-height: none !important;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
image-orientation: 0deg
|
||||
}
|
||||
|
||||
.cropper-wrap-box,
|
||||
.cropper-canvas,
|
||||
.cropper-drag-box,
|
||||
.cropper-crop-box,
|
||||
.cropper-modal {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.cropper-wrap-box {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cropper-drag-box {
|
||||
opacity: 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.cropper-modal {
|
||||
opacity: .5;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.cropper-view-box {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
outline: 1px solid #39f;
|
||||
outline-color: rgba(51, 153, 255, 0.75);
|
||||
}
|
||||
|
||||
.cropper-dashed {
|
||||
position: absolute;
|
||||
|
||||
display: block;
|
||||
|
||||
opacity: .5;
|
||||
border: 0 dashed #eee
|
||||
}
|
||||
|
||||
.cropper-dashed.dashed-h {
|
||||
top: 33.33333%;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 33.33333%;
|
||||
border-top-width: 1px;
|
||||
border-bottom-width: 1px
|
||||
}
|
||||
|
||||
.cropper-dashed.dashed-v {
|
||||
top: 0;
|
||||
left: 33.33333%;
|
||||
width: 33.33333%;
|
||||
height: 100%;
|
||||
border-right-width: 1px;
|
||||
border-left-width: 1px
|
||||
}
|
||||
|
||||
.cropper-center {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
|
||||
display: block;
|
||||
|
||||
width: 0;
|
||||
height: 0;
|
||||
|
||||
opacity: .75
|
||||
}
|
||||
|
||||
.cropper-center:before,
|
||||
.cropper-center:after {
|
||||
position: absolute;
|
||||
display: block;
|
||||
content: ' ';
|
||||
background-color: #eee
|
||||
}
|
||||
|
||||
.cropper-center:before {
|
||||
top: 0;
|
||||
left: -3px;
|
||||
width: 7px;
|
||||
height: 1px
|
||||
}
|
||||
|
||||
.cropper-center:after {
|
||||
top: -3px;
|
||||
left: 0;
|
||||
width: 1px;
|
||||
height: 7px
|
||||
}
|
||||
|
||||
.cropper-face,
|
||||
.cropper-line,
|
||||
.cropper-point {
|
||||
position: absolute;
|
||||
|
||||
display: block;
|
||||
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
opacity: .1;
|
||||
}
|
||||
|
||||
.cropper-face {
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.cropper-line {
|
||||
background-color: #39f
|
||||
}
|
||||
|
||||
.cropper-line.line-e {
|
||||
top: 0;
|
||||
right: -3px;
|
||||
width: 5px;
|
||||
cursor: e-resize
|
||||
}
|
||||
|
||||
.cropper-line.line-n {
|
||||
top: -3px;
|
||||
left: 0;
|
||||
height: 5px;
|
||||
cursor: n-resize
|
||||
}
|
||||
|
||||
.cropper-line.line-w {
|
||||
top: 0;
|
||||
left: -3px;
|
||||
width: 5px;
|
||||
cursor: w-resize
|
||||
}
|
||||
|
||||
.cropper-line.line-s {
|
||||
bottom: -3px;
|
||||
left: 0;
|
||||
height: 5px;
|
||||
cursor: s-resize
|
||||
}
|
||||
|
||||
.cropper-point {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
|
||||
opacity: .75;
|
||||
background-color: #39f
|
||||
}
|
||||
|
||||
.cropper-point.point-e {
|
||||
top: 50%;
|
||||
right: -3px;
|
||||
margin-top: -3px;
|
||||
cursor: e-resize
|
||||
}
|
||||
|
||||
.cropper-point.point-n {
|
||||
top: -3px;
|
||||
left: 50%;
|
||||
margin-left: -3px;
|
||||
cursor: n-resize
|
||||
}
|
||||
|
||||
.cropper-point.point-w {
|
||||
top: 50%;
|
||||
left: -3px;
|
||||
margin-top: -3px;
|
||||
cursor: w-resize
|
||||
}
|
||||
|
||||
.cropper-point.point-s {
|
||||
bottom: -3px;
|
||||
left: 50%;
|
||||
margin-left: -3px;
|
||||
cursor: s-resize
|
||||
}
|
||||
|
||||
.cropper-point.point-ne {
|
||||
top: -3px;
|
||||
right: -3px;
|
||||
cursor: ne-resize
|
||||
}
|
||||
|
||||
.cropper-point.point-nw {
|
||||
top: -3px;
|
||||
left: -3px;
|
||||
cursor: nw-resize
|
||||
}
|
||||
|
||||
.cropper-point.point-sw {
|
||||
bottom: -3px;
|
||||
left: -3px;
|
||||
cursor: sw-resize
|
||||
}
|
||||
|
||||
.cropper-point.point-se {
|
||||
right: -3px;
|
||||
bottom: -3px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
cursor: se-resize;
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
|
||||
.cropper-point.point-se {
|
||||
width: 15px;
|
||||
height: 15px
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
|
||||
.cropper-point.point-se {
|
||||
width: 10px;
|
||||
height: 10px
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
|
||||
.cropper-point.point-se {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
opacity: .75
|
||||
}
|
||||
}
|
||||
|
||||
.cropper-point.point-se:before {
|
||||
position: absolute;
|
||||
right: -50%;
|
||||
bottom: -50%;
|
||||
display: block;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
content: ' ';
|
||||
opacity: 0;
|
||||
background-color: #39f
|
||||
}
|
||||
|
||||
.cropper-invisible {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.cropper-bg {
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');
|
||||
}
|
||||
|
||||
.cropper-hide {
|
||||
position: absolute;
|
||||
|
||||
display: block;
|
||||
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.cropper-hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.cropper-move {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.cropper-crop {
|
||||
cursor: crosshair;
|
||||
}
|
||||
|
||||
.cropper-disabled .cropper-drag-box,
|
||||
.cropper-disabled .cropper-face,
|
||||
.cropper-disabled .cropper-line,
|
||||
.cropper-disabled .cropper-point {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
3130
admin/template_assets/vendor/cropper/cropper.js
vendored
Normal file
3130
admin/template_assets/vendor/cropper/cropper.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
317
admin/template_assets/vendor/cropper/cropper.min.css
vendored
Normal file
317
admin/template_assets/vendor/cropper/cropper.min.css
vendored
Normal file
@ -0,0 +1,317 @@
|
||||
/*!
|
||||
* Cropper v2.3.3
|
||||
* https://github.com/fengyuanchen/cropper
|
||||
*
|
||||
* Copyright (c) 2014-2016 Fengyuan Chen and contributors
|
||||
* Released under the MIT license
|
||||
*
|
||||
* Date: 2016-08-10T08:58:55.176Z
|
||||
*/.cropper-container{font-size:0;line-height:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;direction:ltr!important}.cropper-container img{display:block;width:100%;min-width:0!important;max-width:none!important;height:100%;min-height:0!important;max-height:none!important;image-orientation:0deg!important}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-wrap-box{overflow:hidden}.cropper-drag-box{opacity:0;background-color:#fff;filter:alpha(opacity=0)}.cropper-dashed,.cropper-modal{opacity:.5;filter:alpha(opacity=50)}.cropper-modal{background-color:#000}.cropper-view-box{display:block;overflow:hidden;width:100%;height:100%;outline:#39f solid 1px;outline-color:rgba(51,153,255,.75)}.cropper-dashed{position:absolute;display:block;border:0 dashed #eee}.cropper-dashed.dashed-h{top:33.33333%;left:0;width:100%;height:33.33333%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.33333%;width:33.33333%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-center{position:absolute;top:50%;left:50%;display:block;width:0;height:0;opacity:.75;filter:alpha(opacity=75)}.cropper-center:after,.cropper-center:before{position:absolute;display:block;content:' ';background-color:#eee}.cropper-center:before{top:0;left:-3px;width:7px;height:1px}.cropper-center:after{top:-3px;left:0;width:1px;height:7px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;background-color:#fff}.cropper-line,.cropper-point{background-color:#39f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:' ';opacity:0;background-color:#39f;filter:alpha(opacity=0)}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-invisible{opacity:0;filter:alpha(opacity=0)}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{position:absolute;display:block;width:0;height:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}
|
||||
|
||||
.browserupgrade {
|
||||
margin: 0;
|
||||
padding: .5em 1em;
|
||||
background-color: #fcfcfc;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
/* Header */
|
||||
|
||||
.docs-header {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-toggle:hover,
|
||||
.navbar-toggle:focus {
|
||||
border-color: #0074d9;
|
||||
}
|
||||
|
||||
.navbar-toggle .icon-bar {
|
||||
background-color: #0074d9;
|
||||
}
|
||||
|
||||
|
||||
/* Jumbotron */
|
||||
|
||||
.docs-jumbotron {
|
||||
background-color: #0074d9;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.docs-jumbotron .version {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
filter: alpha(opacity=50);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.docs-jumbotron h1,
|
||||
.docs-jumbotron p {
|
||||
margin-right: 380px;
|
||||
}
|
||||
}
|
||||
|
||||
.docs-carbonads-container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.docs-carbonads {
|
||||
max-width: 350px;
|
||||
padding: 15px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.carbon-wrap {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.carbon-img {
|
||||
clear: left;
|
||||
float: left;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.carbon-text,
|
||||
.carbon-poweredby {
|
||||
display: block;
|
||||
margin-left: 140px;
|
||||
}
|
||||
|
||||
.carbon-text,
|
||||
.carbon-text:hover,
|
||||
.carbon-text:focus {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.carbon-poweredby,
|
||||
.carbon-poweredby:hover,
|
||||
.carbon-poweredby:focus {
|
||||
color: #ddd;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.docs-carbonads {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Content */
|
||||
|
||||
.img-container,
|
||||
.img-preview {
|
||||
background-color: #f7f7f7;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.img-container {
|
||||
min-height: 200px;
|
||||
max-height: 516px;
|
||||
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.img-container {
|
||||
min-height: 516px;
|
||||
}
|
||||
}
|
||||
|
||||
.img-container > img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.docs-preview {
|
||||
margin-right: -15px;
|
||||
}
|
||||
|
||||
.img-preview {
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.img-preview > img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.preview-lg {
|
||||
width: 263px;
|
||||
height: 148px;
|
||||
}
|
||||
|
||||
.preview-md {
|
||||
width: 139px;
|
||||
height: 78px;
|
||||
}
|
||||
|
||||
.preview-sm {
|
||||
width: 69px;
|
||||
height: 39px;
|
||||
}
|
||||
|
||||
.preview-xs {
|
||||
width: 35px;
|
||||
height: 20px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.docs-data > .input-group {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.docs-data > .input-group > label {
|
||||
min-width: 80px;
|
||||
}
|
||||
|
||||
.docs-data > .input-group > span {
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
.docs-buttons > .btn,
|
||||
.docs-buttons > .btn-group,
|
||||
.docs-buttons > .form-control {
|
||||
margin-right: 5px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.docs-toggles > .btn,
|
||||
.docs-toggles > .btn-group,
|
||||
.docs-toggles > .dropdown {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.docs-tooltip {
|
||||
display: block;
|
||||
margin: -6px -12px;
|
||||
padding: 6px 12px;
|
||||
}
|
||||
|
||||
.docs-tooltip > .icon {
|
||||
margin: 0 -3px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.tooltip-inner {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.btn-upload .tooltip-inner,
|
||||
.btn-toggle .tooltip-inner {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.btn-toggle {
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
.btn-toggle > .docs-tooltip {
|
||||
margin: -6px;
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
@media (max-width: 400px) {
|
||||
.btn-group-crop {
|
||||
margin-right: -15px!important;
|
||||
}
|
||||
|
||||
.btn-group-crop > .btn {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.btn-group-crop .docs-tooltip {
|
||||
margin-left: -5px;
|
||||
margin-right: -5px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.docs-options .dropdown-menu {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.docs-options .dropdown-menu > li {
|
||||
padding: 3px 20px;
|
||||
}
|
||||
|
||||
.docs-options .dropdown-menu > li:hover {
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
|
||||
.docs-options .dropdown-menu > li > label {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.docs-cropped .modal-body {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.docs-cropped .modal-body > img,
|
||||
.docs-cropped .modal-body > canvas {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.docs-diagram .modal-dialog {
|
||||
max-width: 352px;
|
||||
}
|
||||
|
||||
|
||||
/* Footer */
|
||||
|
||||
.docs-footer {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.links {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.heart {
|
||||
position: relative;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
color: #ddd;
|
||||
font-size: 18px;
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.heart:hover {
|
||||
color: #ff4136;
|
||||
}
|
||||
|
||||
.heart:before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
height: 0;
|
||||
border-top: 1px solid #eee;
|
||||
content: " ";
|
||||
}
|
||||
|
||||
.heart:after {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
background-color: #fff;
|
||||
content: "♥";
|
||||
}
|
||||
|
||||
11
admin/template_assets/vendor/cropper/cropper.min.js
vendored
Normal file
11
admin/template_assets/vendor/cropper/cropper.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user