.js` can be optionally included for translating for your language if needed.
diff --git a/css/fileinput-rtl.css b/css/fileinput-rtl.css
index 27fb4e42..147ca7c1 100644
--- a/css/fileinput-rtl.css
+++ b/css/fileinput-rtl.css
@@ -13,67 +13,86 @@
.kv-rtl .close, .kv-rtl .krajee-default .file-actions, .kv-rtl .krajee-default .file-other-error {
float: left;
}
+
.kv-rtl .krajee-default.file-preview-frame, .kv-rtl .krajee-default .file-drag-handle, .kv-rtl .krajee-default .file-upload-indicator {
float: right;
}
+
.kv-rtl .file-zoom-dialog, .kv-rtl .file-error-message pre, .kv-rtl .file-error-message ul {
text-align: right;
}
+
.kv-rtl {
direction: rtl;
}
+
.kv-rtl .floating-buttons {
left: 10px;
right: auto;
}
+
.kv-rtl .floating-buttons .btn-kv {
margin-left: 0;
margin-right: 3px;
}
+
.kv-rtl .file-caption-icon {
left: auto;
right: 8px;
}
+
.kv-rtl .file-drop-zone {
margin: 12px 12px 12px 15px;
}
+
.kv-rtl .btn-prev {
right: 1px;
left: auto;
}
+
.kv-rtl .btn-next {
left: 1px;
right: auto;
}
+
.kv-rtl .pull-right, .kv-rtl .float-right {
float: left !important;
}
+
.kv-rtl .pull-left, .kv-rtl .float-left {
float: right !important;
}
+
.kv-rtl .kv-zoom-title {
direction: ltr;
}
+
.kv-rtl .krajee-default.file-preview-frame {
box-shadow: -1px 1px 5px 0 #a2958a;
}
+
.kv-rtl .krajee-default.file-preview-frame:not(.file-preview-error):hover {
box-shadow: -3px 3px 5px 0 #333;
}
+
.kv-rtl .kv-zoom-actions .btn-kv {
margin-left: 0;
margin-right: 3px;
}
+
.kv-rtl .file-caption.icon-visible .file-caption-name {
padding-left: 0;
padding-right: 15px;
}
+
.kv-rtl .input-group-btn:last-child > .btn {
border-radius: 4px 0 0 4px;
}
+
.kv-rtl .input-group .form-control:first-child {
border-radius: 0 4px 4px 0;
}
+
.kv-rtl .btn-file input[type=file] {
right: auto;
left: 0;
diff --git a/css/fileinput.css b/css/fileinput.css
index 20b95dca..f715db67 100755
--- a/css/fileinput.css
+++ b/css/fileinput.css
@@ -14,32 +14,40 @@
width: 0;
height: 0;
}
+
.kv-hidden, .file-caption-icon, .file-zoom-dialog .modal-header:before, .file-zoom-dialog .modal-header:after, .file-input-new .file-preview, .file-input-new .close, .file-input-new .glyphicon-file, .file-input-new .fileinput-remove-button, .file-input-new .fileinput-upload-button, .file-input-new .no-browse .input-group-btn, .file-input-ajax-new .fileinput-remove-button, .file-input-ajax-new .fileinput-upload-button, .file-input-ajax-new .no-browse .input-group-btn, .hide-content .kv-file-content {
display: none;
}
+
.btn-file input[type=file], .file-caption-icon, .file-preview .fileinput-remove, .krajee-default .file-thumb-progress, .file-zoom-dialog .btn-navigate, .file-zoom-dialog .floating-buttons {
position: absolute;
}
+
.file-loading:before, .btn-file, .file-caption, .file-preview, .krajee-default.file-preview-frame, .krajee-default .file-thumbnail-footer, .file-zoom-dialog .modal-dialog {
position: relative;
}
+
.file-error-message pre, .file-error-message ul, .krajee-default .file-actions, .krajee-default .file-other-error {
text-align: left;
}
+
.file-error-message pre, .file-error-message ul {
margin: 0;
}
+
.krajee-default .file-drag-handle, .krajee-default .file-upload-indicator {
float: left;
margin: 5px 0 -5px;
width: 16px;
height: 16px;
}
+
.krajee-default .file-thumb-progress .progress, .krajee-default .file-thumb-progress .progress-bar {
height: 11px;
font-size: 9px;
line-height: 10px;
}
+
.krajee-default .file-caption-info, .krajee-default .file-size-info {
display: block;
white-space: nowrap;
@@ -49,38 +57,49 @@
height: 15px;
margin: auto;
}
+
.file-zoom-content > .file-object.type-video, .file-zoom-content > .file-object.type-flash, .file-zoom-content > .file-object.type-image {
max-width: 100%;
max-height: 100%;
width: auto;
}
+
.file-zoom-content > .file-object.type-video, .file-zoom-content > .file-object.type-flash {
height: 100%;
}
+
.file-zoom-content > .file-object.type-pdf, .file-zoom-content > .file-object.type-html, .file-zoom-content > .file-object.type-text, .file-zoom-content > .file-object.type-default {
width: 100%;
}
+
.rotate-2 {
transform: rotateY(180deg);
}
+
.rotate-3 {
transform: rotate(180deg);
}
+
.rotate-4 {
transform: rotate(180deg) rotateY(180deg);
}
+
.rotate-5 {
transform: rotate(270deg) rotateY(180deg);
}
+
.rotate-6 {
transform: rotate(90deg);
}
+
.rotate-7 {
transform: rotate(90deg) rotateY(180deg);
}
+
.rotate-8 {
transform: rotate(270deg);
}
+
.file-loading:before {
content: " Loading...";
display: inline-block;
@@ -91,13 +110,16 @@
color: #999;
background: transparent url(../img/loading.gif) top left no-repeat;
}
+
.file-object {
margin: 0 0 -5px 0;
padding: 0;
}
+
.btn-file {
overflow: hidden;
}
+
.btn-file input[type=file] {
top: 0;
right: 0;
@@ -109,11 +131,13 @@
cursor: inherit;
display: block;
}
+
.btn-file ::-ms-browse {
font-size: 10000px;
width: 100%;
height: 100%;
}
+
.file-caption .file-caption-name {
width: 100%;
margin: 0;
@@ -123,16 +147,20 @@
background: none;
outline: none;
}
+
.file-caption.icon-visible .file-caption-icon {
display: inline-block;
}
+
.file-caption.icon-visible .file-caption-name {
padding-left: 15px;
}
+
.file-caption-icon {
line-height: 1;
left: 8px;
}
+
.file-error-message {
color: #a94442;
background-color: #f2dede;
@@ -141,14 +169,17 @@
border-radius: 4px;
padding: 15px;
}
+
.file-error-message pre {
margin: 5px 0;
}
+
.file-caption-disabled {
background-color: #eee;
cursor: not-allowed;
opacity: 1;
}
+
.file-preview {
border-radius: 5px;
border: 1px solid #ddd;
@@ -156,24 +187,29 @@
width: 100%;
margin-bottom: 5px;
}
+
.file-preview .btn-xs {
padding: 1px 5px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
+
.file-preview .fileinput-remove {
top: 1px;
right: 1px;
line-height: 10px;
}
+
.file-preview .clickable {
cursor: pointer;
}
+
.file-preview-image {
font: 40px Impact, Charcoal, sans-serif;
color: #008000;
}
+
.krajee-default.file-preview-frame {
margin: 8px;
border: 1px solid #ddd;
@@ -182,16 +218,20 @@
float: left;
text-align: center;
}
+
.krajee-default.file-preview-frame .kv-file-content {
width: 213px;
height: 160px;
}
+
.krajee-default.file-preview-frame .file-thumbnail-footer {
height: 70px;
}
+
.krajee-default.file-preview-frame:not(.file-preview-error):hover {
box-shadow: 3px 3px 5px 0 #333;
}
+
.krajee-default .file-preview-text {
display: block;
color: #428bca;
@@ -201,17 +241,21 @@
padding: 8px;
resize: none;
}
+
.krajee-default .file-preview-html {
border: 1px solid #ddd;
padding: 8px;
overflow: auto;
}
+
.krajee-default .file-other-icon {
font-size: 6em;
}
+
.krajee-default .file-footer-buttons {
float: right;
}
+
.krajee-default .file-footer-caption {
display: block;
text-align: center;
@@ -220,49 +264,60 @@
color: #777;
margin-bottom: 15px;
}
+
.krajee-default .file-preview-error {
opacity: 0.65;
box-shadow: none;
}
+
.krajee-default .file-thumb-progress {
height: 11px;
top: 37px;
left: 0;
right: 0;
}
+
.krajee-default.kvsortable-ghost {
background: #e1edf7;
border: 2px solid #a1abff;
}
+
.krajee-default .file-preview-other:hover {
opacity: 0.8;
}
+
.krajee-default .file-preview-frame:not(.file-preview-error) .file-footer-caption:hover {
color: #000;
}
+
.kv-upload-progress .progress {
height: 20px;
line-height: 20px;
margin: 10px 0;
overflow: hidden;
}
+
.kv-upload-progress .progress-bar {
height: 20px;
line-height: 20px;
}
+
/*noinspection CssOverwrittenProperties*/
.file-zoom-dialog .file-other-icon {
font-size: 22em;
font-size: 50vmin;
}
+
.file-zoom-dialog .modal-dialog {
width: auto;
}
+
.file-zoom-dialog .modal-header {
display: flex;
align-items: center;
justify-content: space-between;
}
+
.file-zoom-dialog .btn-navigate {
padding: 0;
margin: 0;
@@ -274,24 +329,30 @@
font-size: 4em;
color: #1c94c4;
}
+
.file-zoom-dialog .btn-navigate:not([disabled]):hover {
outline: none;
box-shadow: none;
opacity: 0.6;
}
+
.file-zoom-dialog .floating-buttons {
top: 5px;
right: 10px;
}
+
.file-zoom-dialog .btn-navigate[disabled] {
opacity: 0.3;
}
+
.file-zoom-dialog .btn-prev {
left: 1px;
}
+
.file-zoom-dialog .btn-next {
right: 1px;
}
+
.file-zoom-dialog .kv-zoom-title {
font-weight: 300;
color: #999;
@@ -300,20 +361,25 @@
white-space: nowrap;
text-overflow: ellipsis;
}
+
.file-input-new .no-browse .form-control {
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
+
.file-input-ajax-new .no-browse .form-control {
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
+
.file-caption-main {
width: 100%;
}
+
.file-thumb-loading {
background: transparent url(../img/loading.gif) no-repeat scroll center center content-box !important;
}
+
.file-drop-zone {
border: 1px dashed #aaa;
border-radius: 4px;
@@ -323,39 +389,48 @@
margin: 12px 15px 12px 12px;
padding: 5px;
}
+
.file-drop-zone.clickable:hover {
border: 2px dashed #999;
}
+
.file-drop-zone.clickable:focus {
border: 2px solid #5acde2;
}
+
.file-drop-zone .file-preview-thumbnails {
cursor: default;
}
+
.file-drop-zone-title {
color: #aaa;
font-size: 1.6em;
padding: 85px 10px;
cursor: default;
}
+
.file-highlighted {
border: 2px dashed #999 !important;
background-color: #eee;
}
+
.file-uploading {
background: url(../img/loading-sm.gif) no-repeat center bottom 10px;
opacity: 0.65;
}
+
@media (min-width: 576px) {
.file-zoom-dialog .modal-dialog {
max-width: 500px;
}
}
+
@media (min-width: 992px) {
.file-zoom-dialog .modal-lg {
max-width: 800px;
}
}
+
.file-zoom-fullscreen.modal {
position: fixed;
top: 0;
@@ -363,6 +438,7 @@
bottom: 0;
left: 0;
}
+
.file-zoom-fullscreen .modal-dialog {
position: fixed;
margin: 0;
@@ -372,13 +448,16 @@
max-width: 100%;
max-height: 100%;
}
+
.file-zoom-fullscreen .modal-content {
border-radius: 0;
box-shadow: none;
}
+
.file-zoom-fullscreen .modal-body {
overflow-y: auto;
}
+
.btn-kv {
display: inline-block;
text-align: center;
@@ -389,34 +468,43 @@
font-size: 0.875rem;
border-radius: 0.2rem;
}
+
.floating-buttons {
z-index: 3000;
}
+
.floating-buttons .btn-kv {
margin-left: 3px;
z-index: 3000;
}
+
.file-zoom-content {
height: 480px;
text-align: center;
}
+
.file-zoom-content .file-preview-image {
max-height: 100%;
}
+
.file-zoom-content .file-preview-video {
max-height: 100%;
}
+
.file-zoom-content .is-portrait-gt4 {
margin-top: 60px;
}
+
.file-zoom-content > .file-object.type-image {
height: auto;
min-height: inherit;
}
+
.file-zoom-content > .file-object.type-audio {
width: auto;
height: 30px;
}
+
@media screen and (max-width: 767px) {
.file-preview-thumbnails {
display: flex;
@@ -424,33 +512,41 @@
align-items: center;
flex-direction: column;
}
+
.file-zoom-dialog .modal-header {
flex-direction: column;
}
}
+
@media screen and (max-width: 350px) {
.krajee-default.file-preview-frame .kv-file-content {
width: 160px;
}
}
+
.file-loading[dir=rtl]:before {
background: transparent url(../img/loading.gif) top right no-repeat;
padding-left: 0;
padding-right: 20px;
}
+
.file-sortable .file-drag-handle {
cursor: move;
opacity: 1;
}
+
.file-sortable .file-drag-handle:hover {
opacity: 0.7;
}
+
.clickable .file-drop-zone-title {
cursor: pointer;
}
+
.kv-zoom-actions .btn-kv {
margin-left: 3px;
}
+
.file-preview-initial.sortable-chosen {
background-color: #d9edf7;
}
\ No newline at end of file
diff --git a/examples/index.html b/examples/index.html
index b6fe49f5..4b1fea1a 100755
--- a/examples/index.html
+++ b/examples/index.html
@@ -5,16 +5,19 @@
Krajee JQuery Plugins - © Kartik
-
+
-
-
+
+
+
-
-
+
+
+
+
@@ -25,9 +28,13 @@
Bootstrap File Input Example