diff --git a/build/npm/Plugins.js b/build/npm/Plugins.js
index 30f191527..f0ce223de 100644
--- a/build/npm/Plugins.js
+++ b/build/npm/Plugins.js
@@ -389,6 +389,11 @@ const Plugins = [
from: 'node_modules/jquery-validation/dist/',
to : 'plugins/jquery-validation'
},
+ // bs-custom-file-input
+ {
+ from: 'node_modules/bs-custom-file-input/dist/',
+ to : 'plugins/bs-custom-file-input'
+ },
]
module.exports = Plugins
diff --git a/docs/dependencies.md b/docs/dependencies.md
index 438c049ec..08b73fcf1 100644
--- a/docs/dependencies.md
+++ b/docs/dependencies.md
@@ -50,6 +50,7 @@ AdminLTE makes use of the following plugins. For documentation, updates or licen
Select2
Tempus Dominus
Bootstrap4 Duallistbox
+ bs-custom-file-input
diff --git a/package-lock.json b/package-lock.json
index 859c1a776..ecc10ef58 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1840,6 +1840,11 @@
"node-releases": "^1.1.36"
}
},
+ "bs-custom-file-input": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/bs-custom-file-input/-/bs-custom-file-input-1.3.2.tgz",
+ "integrity": "sha512-lzgtGX2GDo7nUmsTCcTvYkCc35d3/E14h+HXmFKV8z2EJmtkMcvYT8BsWOjK67+ogZR3kc8OfH5O8APjvDUtFg=="
+ },
"bs-recipes": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz",
diff --git a/package.json b/package.json
index ef681c1ce..08b6f57db 100644
--- a/package.json
+++ b/package.json
@@ -65,6 +65,7 @@
"bootstrap-slider": "^10.6.2",
"bootstrap-switch": "^3.4.0",
"bootstrap4-duallistbox": "^4.0.1",
+ "bs-custom-file-input": "^1.3.2",
"chart.js": "^2.8.0",
"datatables.net": "^1.10.20",
"datatables.net-autofill-bs4": "^2.3.4",
diff --git a/pages/forms/general.html b/pages/forms/general.html
index c37a4c32d..21c824db3 100644
--- a/pages/forms/general.html
+++ b/pages/forms/general.html
@@ -1240,7 +1240,8 @@