generated:catalog.entry.file-upload.title
generated:catalog.entry.file-upload.description
@xngui/components/file-upload@xngui/components/file-uploadchrome:demo.section
chrome:demo.preview
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
sizeXSize—Visual size tier — falls back to XConfigService when unset.
densityXDensity—Spacing offsets — orthogonal to `size`; falls back to XConfigService when unset.
acceptstring—Native `accept` value — MIME types and/or extensions (e.g. `image/*,.pdf`).
multiplebooleanfalseAllow selecting multiple files.
minFilesnumber—Minimum number of files required.
maxFilesnumber—Maximum number of files allowed.
maxFileSizenumber—Maximum size per file in bytes.
maxTotalSizenumber—Maximum combined size of all files in bytes.
disabledbooleanfalsePrevents interaction and sets `aria-disabled` on the trigger.
invalidbooleanfalseMarks the control invalid for styling and ARIA.
requiredbooleanfalseMarks the control as required for validation and ARIA.
namestring''Native form control `name` attribute.
controlIdstring—Native `id` on the visible trigger; falls back to `name`, then a generated id.
buttonLabelstring—Label on the choose-file button.
emptyLabelstring—Text shown when no file is selected.
useDefaultTriggerbooleantrueWhen `false`, project a custom trigger in the default slot and call XFileUpload.openPicker.