+
+ Select file(s) to see them in the component.
+
+
+
+
+
+
+
+ Multiple files can be selected.
+
+
+
+
+
+
+
+ Automatically resets the BitFileInput state each time before browsing files.
+
+
+
+
+
+
+
+ When selected, additional files will be appended to the existing list without overwriting previous selections.
+
+
+
+
+
+
+
+ The file size can be limited using the MaxSize parameter (1 MB in this example).
+
+
+
+
+
+
+
+ Limits file browsing by the provided file extensions.
+
+
+
+
+
+
+
+ Enables the remove functionality of the BitFileInput.
+
+
+
+
+
+
+
+ Different events can be configured for file selection.
+
+
+
+
+
+ Selected files:
+
+ @foreach (var file in selectedFiles)
+ {
+ @file.Name (@FileSizeHumanizer.Humanize(file.Size))
+ }
+
+
+
+ The BitFileInput can be further customized using templates.
+
+
+
+
+
+ @if (bitFileInput.Files?.Any() is not true)
+ {
+ bitFileInput.Browse()">
+
+
+
+
+ }
+
+
+ @if (!string.IsNullOrEmpty(file.Name))
+ {
+
+
+
+
+
+ }
+
+
+
+
+
+ Use custom methods to interact with the file input.
+
+
+
+
+
+
+
+
+ Browse file
+ Reset
+
+
+
+
diff --git a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Pages/Components/Inputs/FileInput/BitFileInputDemo.razor.cs b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Pages/Components/Inputs/FileInput/BitFileInputDemo.razor.cs
new file mode 100644
index 0000000000..3591bf50a0
--- /dev/null
+++ b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Pages/Components/Inputs/FileInput/BitFileInputDemo.razor.cs
@@ -0,0 +1,453 @@
+namespace Bit.BlazorUI.Demo.Client.Core.Pages.Components.Inputs.FileInput;
+
+public partial class BitFileInputDemo
+{
+ private readonly List