- Name
current- Kind
- parameter
- Type
readonly FileDropzoneFile[]- Requirement
- required
DocsAPI referenceUI machinesfile-dropzone
file-dropzone machine
The public state machine contract for @grassroot/ui-machines/file-dropzone. The machine owns behaviour; the matching headless layer owns composition.
@grassroot/ui-machines/file-dropzone
Package
Service example
file-dropzone.tsts
import { createService } from "@grassroot/statechart";import { fileDropzoneMachine } from "@grassroot/ui-machines/file-dropzone"; const service = createService(fileDropzoneMachine, { input: {} });service.start();service.send({ type: "…" });service.stop();14 of 14
Exports
evaluateFileDropzoneAdd
functionevaluateFileDropzoneAddts
declare function evaluateFileDropzoneAdd(current: readonly FileDropzoneFile[], incoming: readonly FileDropzoneFile[], input: FileDropzoneInput): { readonly files: readonly FileDropzoneFile[]; readonly accepted: readonly number[]; readonly rejections: readonly FileDropzoneRejection[];};Name
Kind
Type
Requirement
currentparameter
readonly FileDropzoneFile[]required
incomingparameter
readonly FileDropzoneFile[]required
inputparameter
FileDropzoneInputrequired
returnreturn value
{
readonly files: readonly FileDropzoneFile[];
readonly accepted: readonly number[];
readonly rejections: readonly FileDropzoneRejection[];
}n/a
- Name
incoming- Kind
- parameter
- Type
readonly FileDropzoneFile[]- Requirement
- required
- Name
input- Kind
- parameter
- Type
FileDropzoneInput- Requirement
- required
- Name
return- Kind
- return value
- Type
{ readonly files: readonly FileDropzoneFile[]; readonly accepted: readonly number[]; readonly rejections: readonly FileDropzoneRejection[]; }- Requirement
- n/a
FileDropzoneCommand
typeFileDropzoneCommandts
type FileDropzoneCommand = CommandObject & ({ readonly type: "FILES_CHANGE_REQUEST"; readonly files: readonly FileDropzoneFile[]; readonly reason: FileDropzoneReason;} | { readonly type: "FILES_REJECTED"; readonly rejections: readonly FileDropzoneRejection[]; readonly reason: FileDropzoneReason;});FileDropzoneContext
typeFileDropzoneContextts
type FileDropzoneContext = { readonly files: readonly FileDropzoneFile[]; readonly mode: BindingMode;};Name
Kind
Type
Requirement
filesproperty
readonly FileDropzoneFile[]required
modeproperty
BindingModerequired
- Name
files- Kind
- property
- Type
readonly FileDropzoneFile[]- Requirement
- required
- Name
mode- Kind
- property
- Type
BindingMode- Requirement
- required
FileDropzoneDiagnosticCodests
export declare const FileDropzoneDiagnosticCodes: readonly DiagnosticCatalogueEntry[];FileDropzoneEvent
typeFileDropzoneEventts
type FileDropzoneEvent = { readonly type: "ADD"; readonly files: readonly FileDropzoneFile[]; readonly reason: FileDropzoneReason;} | { readonly type: "REMOVE"; readonly index: number; readonly reason: FileDropzoneReason;} | { readonly type: "RESET";};FileDropzoneFile
typeFileDropzoneFilets
type FileDropzoneFile = { readonly name: string; readonly size: number; readonly type: string;};Name
Kind
Type
Requirement
nameproperty
stringrequired
sizeproperty
numberrequired
typeproperty
stringrequired
- Name
name- Kind
- property
- Type
string- Requirement
- required
- Name
size- Kind
- property
- Type
number- Requirement
- required
- Name
type- Kind
- property
- Type
string- Requirement
- required
FileDropzoneInput
typeFileDropzoneInputts
type FileDropzoneInput = { readonly files?: readonly FileDropzoneFile[]; readonly defaultFiles?: readonly FileDropzoneFile[]; readonly multiple?: boolean; readonly accept?: string; readonly disabled?: boolean; readonly maxFileSize?: number; readonly maxFiles?: number;};Name
Kind
Type
Requirement
acceptproperty
stringoptional
defaultFilesproperty
readonly FileDropzoneFile[]optional
disabledproperty
booleanoptional
filesproperty
readonly FileDropzoneFile[]optional
maxFilesproperty
numberoptional
maxFileSizeproperty
numberoptional
multipleproperty
booleanoptional
- Name
accept- Kind
- property
- Type
string- Requirement
- optional
- Name
defaultFiles- Kind
- property
- Type
readonly FileDropzoneFile[]- Requirement
- optional
- Name
disabled- Kind
- property
- Type
boolean- Requirement
- optional
- Name
files- Kind
- property
- Type
readonly FileDropzoneFile[]- Requirement
- optional
- Name
maxFiles- Kind
- property
- Type
number- Requirement
- optional
- Name
maxFileSize- Kind
- property
- Type
number- Requirement
- optional
- Name
multiple- Kind
- property
- Type
boolean- Requirement
- optional
fileDropzoneMachine
valuefileDropzoneMachinets
export declare const fileDropzoneMachine: Machine<FileDropzoneInput, "ready", FileDropzoneContext, FileDropzoneEvent, FileDropzoneCommand>;FileDropzoneReason
typeFileDropzoneReasonts
type FileDropzoneReason = "pointer" | "keyboard" | "programmatic";FileDropzoneRejectionts
type FileDropzoneRejection = { readonly file: FileDropzoneFile; readonly reason: FileDropzoneRejectionReason; readonly index: number;};Name
Kind
Type
Requirement
fileproperty
FileDropzoneFilerequired
indexproperty
numberrequired
reasonproperty
FileDropzoneRejectionReasonrequired
- Name
file- Kind
- property
- Type
FileDropzoneFile- Requirement
- required
- Name
index- Kind
- property
- Type
number- Requirement
- required
- Name
reason- Kind
- property
- Type
FileDropzoneRejectionReason- Requirement
- required
FileDropzoneRejectionReasonts
type FileDropzoneRejectionReason = "file-type" | "file-size" | "file-count";fileDropzoneReplaySequencets
export declare const fileDropzoneReplaySequence: readonly FileDropzoneEvent[];fileDropzoneSelectors
valuefileDropzoneSelectorsts
export declare const fileDropzoneSelectors: { files: (snapshot: FileDropzoneSnapshot) => readonly FileDropzoneFile[];};Name
Kind
Type
Requirement
filesproperty
(snapshot: FileDropzoneSnapshot) => readonly FileDropzoneFile[]required
- Name
files- Kind
- property
- Type
(snapshot: FileDropzoneSnapshot) => readonly FileDropzoneFile[]- Requirement
- required
FileDropzoneSnapshot
typeFileDropzoneSnapshotts
type FileDropzoneSnapshot = Snapshot<"ready", FileDropzoneContext>;