chrome:shell.skip

generated:catalog.entry.file-upload.title

generated:catalog.entry.file-upload.description

@xngui/components/file-upload
@xngui/components/file-upload

chrome:demo.section

chrome:demo.preview

No file chosen

demo-preview:file-upload.accept-hint

demo-preview:hints.category.navigation:
Tab
demo-preview:hints.category.focus:
Focus
demo-preview:hints.category.pointer:
ClickDrop
import { Component } from '@angular/core';
import { XFileUpload } from '@xngui/components/file-upload';
import { XForm } from '@xngui/components/form';
import { XFormField } from '@xngui/components/form-field';
 
@Component({
selector: 'app-example',
imports: [XFileUpload, XForm, XFormField],
templateUrl: './file-upload.component.html',
})
export class ExampleComponent {}

chrome:demo.events.title

chrome:demo.events.empty

chrome:demo.api.title

x-file-upload

chrome:demo.api.col.property
chrome:demo.api.col.type
chrome:demo.api.col.default
chrome:demo.api.col.description
size
XSize
—
Visual size tier — falls back to XConfigService when unset.
density
XDensity
—
Spacing offsets — orthogonal to `size`; falls back to XConfigService when unset.
accept
string
—
Native `accept` value — MIME types and/or extensions (e.g. `image/*,.pdf`).
multiple
boolean
false
Allow selecting multiple files.
minFiles
number
—
Minimum number of files required.
maxFiles
number
—
Maximum number of files allowed.
maxFileSize
number
—
Maximum size per file in bytes.
maxTotalSize
number
—
Maximum combined size of all files in bytes.
disabled
boolean
false
Prevents interaction and sets `aria-disabled` on the trigger.
invalid
boolean
false
Marks the control invalid for styling and ARIA.
required
boolean
false
Marks the control as required for validation and ARIA.
name
string
''
Native form control `name` attribute.
controlId
string
—
Native `id` on the visible trigger; falls back to `name`, then a generated id.
buttonLabel
string
—
Label on the choose-file button.
emptyLabel
string
—
Text shown when no file is selected.
useDefaultTrigger
boolean
true
When `false`, project a custom trigger in the default slot and call XFileUpload.openPicker.