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

14 exports
View source packages/ui-machines/src/file-dropzone/index.ts

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();

Exports

DeclarationView source
evaluateFileDropzoneAddts
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
current
parameter
readonly FileDropzoneFile[]
required
incoming
parameter
readonly FileDropzoneFile[]
required
input
parameter
FileDropzoneInput
required
return
return value
{ readonly files: readonly FileDropzoneFile[]; readonly accepted: readonly number[]; readonly rejections: readonly FileDropzoneRejection[]; }
n/a
Name
current
Kind
parameter
Type
readonly FileDropzoneFile[]
Requirement
required
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
DeclarationView source
FileDropzoneCommandts
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;
});
DeclarationView source
FileDropzoneContextts
type FileDropzoneContext = {
readonly files: readonly FileDropzoneFile[];
readonly mode: BindingMode;
};
Name
Kind
Type
Requirement
files
property
readonly FileDropzoneFile[]
required
mode
property
BindingMode
required
Name
files
Kind
property
Type
readonly FileDropzoneFile[]
Requirement
required
Name
mode
Kind
property
Type
BindingMode
Requirement
required
DeclarationView source
FileDropzoneDiagnosticCodests
export declare const FileDropzoneDiagnosticCodes: readonly DiagnosticCatalogueEntry[];
DeclarationView source
FileDropzoneEventts
type FileDropzoneEvent = {
readonly type: "ADD";
readonly files: readonly FileDropzoneFile[];
readonly reason: FileDropzoneReason;
} | {
readonly type: "REMOVE";
readonly index: number;
readonly reason: FileDropzoneReason;
} | {
readonly type: "RESET";
};
DeclarationView source
FileDropzoneFilets
type FileDropzoneFile = {
readonly name: string;
readonly size: number;
readonly type: string;
};
Name
Kind
Type
Requirement
name
property
string
required
size
property
number
required
type
property
string
required
Name
name
Kind
property
Type
string
Requirement
required
Name
size
Kind
property
Type
number
Requirement
required
Name
type
Kind
property
Type
string
Requirement
required
DeclarationView source
FileDropzoneInputts
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
accept
property
string
optional
defaultFiles
property
readonly FileDropzoneFile[]
optional
disabled
property
boolean
optional
files
property
readonly FileDropzoneFile[]
optional
maxFiles
property
number
optional
maxFileSize
property
number
optional
multiple
property
boolean
optional
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
DeclarationView source
fileDropzoneMachinets
export declare const fileDropzoneMachine: Machine<FileDropzoneInput, "ready", FileDropzoneContext, FileDropzoneEvent, FileDropzoneCommand>;
DeclarationView source
FileDropzoneReasonts
type FileDropzoneReason = "pointer" | "keyboard" | "programmatic";
DeclarationView source
FileDropzoneRejectionts
type FileDropzoneRejection = {
readonly file: FileDropzoneFile;
readonly reason: FileDropzoneRejectionReason;
readonly index: number;
};
Name
Kind
Type
Requirement
file
property
FileDropzoneFile
required
index
property
number
required
reason
property
FileDropzoneRejectionReason
required
Name
file
Kind
property
Type
FileDropzoneFile
Requirement
required
Name
index
Kind
property
Type
number
Requirement
required
Name
reason
Kind
property
Type
FileDropzoneRejectionReason
Requirement
required
DeclarationView source
FileDropzoneRejectionReasonts
type FileDropzoneRejectionReason = "file-type" | "file-size" | "file-count";
DeclarationView source
fileDropzoneReplaySequencets
export declare const fileDropzoneReplaySequence: readonly FileDropzoneEvent[];
DeclarationView source
fileDropzoneSelectorsts
export declare const fileDropzoneSelectors: {
files: (snapshot: FileDropzoneSnapshot) => readonly FileDropzoneFile[];
};
Name
Kind
Type
Requirement
files
property
(snapshot: FileDropzoneSnapshot) => readonly FileDropzoneFile[]
required
Name
files
Kind
property
Type
(snapshot: FileDropzoneSnapshot) => readonly FileDropzoneFile[]
Requirement
required
DeclarationView source
FileDropzoneSnapshotts
type FileDropzoneSnapshot = Snapshot<"ready", FileDropzoneContext>;