@arcfusionz/arc-primitive-ui 0.2.14 → 0.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -12,6 +12,12 @@ interface FileUploadRejection {
|
|
|
12
12
|
}
|
|
13
13
|
/** Per-file lifecycle the consumer drives while uploading. */
|
|
14
14
|
type FileUploadItemStatus = "idle" | "uploading" | "success" | "error";
|
|
15
|
+
/**
|
|
16
|
+
* Layout of the default `FileUploadDropzone` content. `default` is the full
|
|
17
|
+
* illustrated prompt; `compact` is a slim single row; `auto` shows `default`
|
|
18
|
+
* while empty and switches to `compact` once files are selected.
|
|
19
|
+
*/
|
|
20
|
+
type FileUploadDropzoneVariant = "default" | "compact" | "auto";
|
|
15
21
|
/** State exposed on the root element as `data-*` and to the `render` callback. */
|
|
16
22
|
interface FileUploadRenderState extends Record<string, unknown> {
|
|
17
23
|
/** A file is being dragged over the dropzone. */
|
|
@@ -22,6 +28,8 @@ interface FileUploadRenderState extends Record<string, unknown> {
|
|
|
22
28
|
invalid: boolean;
|
|
23
29
|
/** No files are selected. */
|
|
24
30
|
empty: boolean;
|
|
31
|
+
/** The selection has reached `maxFiles` (multiple mode only). */
|
|
32
|
+
atMax: boolean;
|
|
25
33
|
}
|
|
26
34
|
/** `1023 B`, `1.5 KB`, `12 MB` — a compact, locale-neutral size readout. */
|
|
27
35
|
declare function formatFileSize(bytes: number): string;
|
|
@@ -89,7 +97,7 @@ interface FileUploadProps extends Omit<ComponentPropsWithoutRef<"div">, "classNa
|
|
|
89
97
|
name?: string;
|
|
90
98
|
/** Accessible name for the hidden file input. */
|
|
91
99
|
inputLabel?: string;
|
|
92
|
-
/** Replace the rendered root `div` or inspect `{ dragging, disabled, invalid, empty }`. */
|
|
100
|
+
/** Replace the rendered root `div` or inspect `{ dragging, disabled, invalid, empty, atMax }`. */
|
|
93
101
|
render?: useRender.RenderProp<FileUploadRenderState>;
|
|
94
102
|
/** Compose the pieces: `FileUploadDropzone`, `FileUploadList`, `FileUploadTrigger`. */
|
|
95
103
|
children?: ReactNode;
|
|
@@ -120,17 +128,32 @@ interface FileUploadDropzoneVariantsOptions {
|
|
|
120
128
|
*/
|
|
121
129
|
declare function fileUploadDropzoneVariants({ className }?: FileUploadDropzoneVariantsOptions): string;
|
|
122
130
|
interface FileUploadDropzoneProps extends Omit<ComponentPropsWithoutRef<"div">, "className"> {
|
|
123
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* Default-content layout: `default` (full illustrated prompt), `compact`
|
|
133
|
+
* (slim single row), or `auto` (full while empty, compact once files are
|
|
134
|
+
* selected). Ignored when `children` are provided.
|
|
135
|
+
*/
|
|
136
|
+
variant?: FileUploadDropzoneVariant;
|
|
137
|
+
/**
|
|
138
|
+
* Show how many more files can be added, derived from the upload's
|
|
139
|
+
* `maxFiles` (multiple mode). Renders nothing when there is no cap. Ignored
|
|
140
|
+
* when `children` are provided.
|
|
141
|
+
*/
|
|
142
|
+
showRemaining?: boolean;
|
|
143
|
+
/** Replace the default prompt + `FileUploadTrigger`. */
|
|
124
144
|
children?: ReactNode;
|
|
125
145
|
className?: string;
|
|
126
146
|
}
|
|
127
147
|
/**
|
|
128
148
|
* The dashed drop area. Clicking anywhere in it opens the picker (a pointer
|
|
129
149
|
* convenience); the `FileUploadTrigger` inside is the focusable control for
|
|
130
|
-
* keyboard and assistive tech. With no `children` it renders
|
|
131
|
-
* (`upload`, or `upload-error` when
|
|
132
|
-
*
|
|
133
|
-
*
|
|
150
|
+
* keyboard and assistive tech. With no `children` it renders the default
|
|
151
|
+
* prompt for `variant` — a `SystemState` (`upload`, or `upload-error` when
|
|
152
|
+
* invalid) for `default`, a slim row for `compact`, switching automatically
|
|
153
|
+
* for `auto`. State hooks: `data-dragging`, `data-empty`, `data-at-max`,
|
|
154
|
+
* `data-invalid`, `data-disabled`. At `maxFiles` the browse control is
|
|
155
|
+
* disabled and clicks no longer open the picker. Consumer drag handlers are
|
|
156
|
+
* composed with the internal ones, not replaced.
|
|
134
157
|
*/
|
|
135
158
|
declare const FileUploadDropzone: import("react").ForwardRefExoticComponent<FileUploadDropzoneProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
136
159
|
type FileUploadTriggerProps = ButtonProps;
|
|
@@ -161,30 +184,40 @@ declare const FileUploadList: import("react").ForwardRefExoticComponent<FileUplo
|
|
|
161
184
|
interface FileUploadItemProps extends Omit<ComponentPropsWithoutRef<"li">, "className" | "children"> {
|
|
162
185
|
/** The file this row represents (name, size, and type come from it). */
|
|
163
186
|
file: File;
|
|
164
|
-
/** Upload lifecycle you drive: `uploading` shows a progress bar
|
|
187
|
+
/** Upload lifecycle you drive: `uploading` shows a progress bar; `success`/`error` show a status label. */
|
|
165
188
|
status?: FileUploadItemStatus;
|
|
166
189
|
/** Completion 0–100 while `status="uploading"`. Omit for an indeterminate bar. */
|
|
167
190
|
progress?: number;
|
|
168
|
-
/**
|
|
191
|
+
/** Detailed message shown while `status="error"`, in place of the size. */
|
|
169
192
|
error?: ReactNode;
|
|
193
|
+
/** Short visible, accessible status label. Defaults per `status` ("Uploading", "Uploaded", "Failed"); pass to override the copy. This is not a live-region announcement. */
|
|
194
|
+
statusLabel?: ReactNode;
|
|
170
195
|
/** Show the remove button. Defaults to `true`. */
|
|
171
196
|
removable?: boolean;
|
|
172
197
|
/** Remove handler. Defaults to removing this file from the selection. */
|
|
173
198
|
onRemove?: () => void;
|
|
174
199
|
/** Accessible name for the remove button. Defaults to `Remove {file name}`. */
|
|
175
200
|
removeLabel?: string;
|
|
176
|
-
/**
|
|
201
|
+
/**
|
|
202
|
+
* Replace the leading visual completely. This compatibility escape hatch
|
|
203
|
+
* takes precedence over `previewSrc`; the consumer owns its presentation and
|
|
204
|
+
* accessibility. Prefer `previewSrc` when a standard thumbnail is sufficient.
|
|
205
|
+
*/
|
|
177
206
|
preview?: ReactNode;
|
|
207
|
+
/** URL of a preview image (e.g. a server-side thumbnail). The primitive owns the dimensions, radius, `object-fit`, decorative attributes, and drag prevention — you supply only the URL. Falls back to a file icon when omitted, non-image, or the image fails to load. */
|
|
208
|
+
previewSrc?: string;
|
|
178
209
|
/** Replace the entire row body. */
|
|
179
210
|
children?: ReactNode;
|
|
180
211
|
className?: string;
|
|
181
212
|
}
|
|
182
213
|
/**
|
|
183
|
-
* One selected file: a thumbnail (auto-generated for images
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
214
|
+
* One selected file: a thumbnail (auto-generated for images, or from
|
|
215
|
+
* `previewSrc`) with a file-icon fallback, the name, and — depending on
|
|
216
|
+
* `status` — its size, an upload progress bar, or an error message, plus a
|
|
217
|
+
* visible status label and a remove button. `status`/`progress`/`error` are
|
|
218
|
+
* consumer-driven so the row reflects real upload state; the component shows
|
|
219
|
+
* failures but does not itself retry.
|
|
187
220
|
*/
|
|
188
221
|
declare const FileUploadItem: import("react").ForwardRefExoticComponent<FileUploadItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
189
222
|
//#endregion
|
|
190
|
-
export { FileUpload, FileUploadDropzone, FileUploadDropzoneProps, FileUploadDropzoneVariantsOptions, FileUploadHandle, FileUploadItem, FileUploadItemProps, FileUploadItemStatus, FileUploadList, FileUploadListProps, FileUploadProps, FileUploadRejection, FileUploadRejectionCode, FileUploadRenderState, FileUploadTrigger, FileUploadTriggerProps, fileUploadDropzoneVariants, formatFileSize, useFileUpload };
|
|
223
|
+
export { FileUpload, FileUploadDropzone, FileUploadDropzoneProps, FileUploadDropzoneVariant, FileUploadDropzoneVariantsOptions, FileUploadHandle, FileUploadItem, FileUploadItemProps, FileUploadItemStatus, FileUploadList, FileUploadListProps, FileUploadProps, FileUploadRejection, FileUploadRejectionCode, FileUploadRenderState, FileUploadTrigger, FileUploadTriggerProps, fileUploadDropzoneVariants, formatFileSize, useFileUpload };
|
|
@@ -40,6 +40,9 @@ function matchesAccept(file, accept) {
|
|
|
40
40
|
function fileKey(file) {
|
|
41
41
|
return `${file.name}:${file.size}:${file.lastModified}`;
|
|
42
42
|
}
|
|
43
|
+
function canUseObjectUrl() {
|
|
44
|
+
return typeof URL !== "undefined" && typeof URL.createObjectURL === "function" && typeof URL.revokeObjectURL === "function";
|
|
45
|
+
}
|
|
43
46
|
const FileUploadContext = createContext(null);
|
|
44
47
|
function useFileUploadContext(part) {
|
|
45
48
|
const context = useContext(FileUploadContext);
|
|
@@ -68,7 +71,8 @@ const stateAttributesMapping = {
|
|
|
68
71
|
dragging: (value) => value ? { "data-dragging": "" } : null,
|
|
69
72
|
disabled: (value) => value ? { "data-disabled": "" } : null,
|
|
70
73
|
invalid: (value) => value ? { "data-invalid": "" } : null,
|
|
71
|
-
empty: (value) => value ? { "data-empty": "" } : null
|
|
74
|
+
empty: (value) => value ? { "data-empty": "" } : null,
|
|
75
|
+
atMax: (value) => value ? { "data-at-max": "" } : null
|
|
72
76
|
};
|
|
73
77
|
/**
|
|
74
78
|
* Drag-and-drop / browse file selection built on a native input. Owns the
|
|
@@ -96,6 +100,10 @@ const FileUpload = forwardRef(({ accept, multiple = false, maxFiles, maxSize, mi
|
|
|
96
100
|
const [internalFiles, setInternalFiles] = useState(defaultValue ?? []);
|
|
97
101
|
const files = isControlled ? value : internalFiles;
|
|
98
102
|
const [isDragging, setIsDragging] = useState(false);
|
|
103
|
+
const fileCount = files.length;
|
|
104
|
+
const effectiveMaxFiles = multiple ? maxFiles : void 0;
|
|
105
|
+
const isAtMaxFiles = effectiveMaxFiles != null && fileCount >= effectiveMaxFiles;
|
|
106
|
+
const remainingFiles = effectiveMaxFiles != null ? Math.max(0, effectiveMaxFiles - fileCount) : void 0;
|
|
99
107
|
const syncInputFiles = (list) => {
|
|
100
108
|
const input = inputRef.current;
|
|
101
109
|
if (!input || typeof DataTransfer === "undefined") return;
|
|
@@ -198,9 +206,14 @@ const FileUpload = forwardRef(({ accept, multiple = false, maxFiles, maxSize, mi
|
|
|
198
206
|
}, [preventDocumentDrop, allowDrop]);
|
|
199
207
|
const contextValue = {
|
|
200
208
|
files,
|
|
209
|
+
fileCount,
|
|
201
210
|
disabled: resolvedDisabled,
|
|
202
211
|
invalid: resolvedInvalid,
|
|
203
212
|
multiple,
|
|
213
|
+
maxFiles: effectiveMaxFiles,
|
|
214
|
+
remainingFiles,
|
|
215
|
+
isAtMaxFiles,
|
|
216
|
+
isEmpty: fileCount === 0,
|
|
204
217
|
isDragging,
|
|
205
218
|
inputId,
|
|
206
219
|
openPicker,
|
|
@@ -213,17 +226,17 @@ const FileUpload = forwardRef(({ accept, multiple = false, maxFiles, maxSize, mi
|
|
|
213
226
|
onDrop
|
|
214
227
|
}
|
|
215
228
|
};
|
|
216
|
-
const state = {
|
|
217
|
-
dragging: isDragging,
|
|
218
|
-
disabled: resolvedDisabled,
|
|
219
|
-
invalid: resolvedInvalid,
|
|
220
|
-
empty: files.length === 0
|
|
221
|
-
};
|
|
222
229
|
return useRender({
|
|
223
230
|
defaultTagName: "div",
|
|
224
231
|
render,
|
|
225
232
|
ref: [ref, rootRef],
|
|
226
|
-
state
|
|
233
|
+
state: {
|
|
234
|
+
dragging: isDragging,
|
|
235
|
+
disabled: resolvedDisabled,
|
|
236
|
+
invalid: resolvedInvalid,
|
|
237
|
+
empty: fileCount === 0,
|
|
238
|
+
atMax: isAtMaxFiles
|
|
239
|
+
},
|
|
227
240
|
stateAttributesMapping,
|
|
228
241
|
props: {
|
|
229
242
|
className: cn(rootClasses, className),
|
|
@@ -255,7 +268,8 @@ const FileUpload = forwardRef(({ accept, multiple = false, maxFiles, maxSize, mi
|
|
|
255
268
|
});
|
|
256
269
|
});
|
|
257
270
|
FileUpload.displayName = "FileUpload";
|
|
258
|
-
const dropzoneClasses = "relative flex w-full flex-col items-center justify-center rounded-md border-2 border-dashed border-border bg-transparent cursor-pointer transition-colors duration-150 hover:border-slate-300 hover:bg-surface has-[:focus-visible]:border-primary has-[:focus-visible]:bg-primary-50 data-dragging:border-primary data-dragging:bg-primary-50 data-invalid:border-destructive data-disabled:cursor-default data-disabled:opacity-50 data-disabled:hover:border-border data-disabled:hover:bg-transparent";
|
|
271
|
+
const dropzoneClasses = "relative flex w-full flex-col items-center justify-center rounded-md border-2 border-dashed border-border bg-transparent cursor-pointer transition-colors duration-150 hover:border-slate-300 hover:bg-surface has-[:focus-visible]:border-primary has-[:focus-visible]:bg-primary-50 data-dragging:border-primary data-dragging:bg-primary-50 data-invalid:border-destructive data-at-max:cursor-default data-at-max:hover:border-border data-at-max:hover:bg-transparent data-disabled:cursor-default data-disabled:opacity-50 data-disabled:hover:border-border data-disabled:hover:bg-transparent";
|
|
272
|
+
const dropzoneCompactClasses = "flex-row items-center gap-3 px-4 py-3 text-start";
|
|
259
273
|
/**
|
|
260
274
|
* Class list for an element styled as the dashed drop area — for building a
|
|
261
275
|
* bespoke dropzone while keeping the brand's border, hover, and drag/invalid
|
|
@@ -268,30 +282,77 @@ function fileUploadDropzoneVariants({ className } = {}) {
|
|
|
268
282
|
/**
|
|
269
283
|
* The dashed drop area. Clicking anywhere in it opens the picker (a pointer
|
|
270
284
|
* convenience); the `FileUploadTrigger` inside is the focusable control for
|
|
271
|
-
* keyboard and assistive tech. With no `children` it renders
|
|
272
|
-
* (`upload`, or `upload-error` when
|
|
273
|
-
*
|
|
274
|
-
*
|
|
285
|
+
* keyboard and assistive tech. With no `children` it renders the default
|
|
286
|
+
* prompt for `variant` — a `SystemState` (`upload`, or `upload-error` when
|
|
287
|
+
* invalid) for `default`, a slim row for `compact`, switching automatically
|
|
288
|
+
* for `auto`. State hooks: `data-dragging`, `data-empty`, `data-at-max`,
|
|
289
|
+
* `data-invalid`, `data-disabled`. At `maxFiles` the browse control is
|
|
290
|
+
* disabled and clicks no longer open the picker. Consumer drag handlers are
|
|
291
|
+
* composed with the internal ones, not replaced.
|
|
275
292
|
*/
|
|
276
|
-
const FileUploadDropzone = forwardRef(({ children, className, onClick, ...rest }, ref) => {
|
|
293
|
+
const FileUploadDropzone = forwardRef(({ variant = "default", showRemaining = false, children, className, onClick, onDragEnter, onDragOver, onDragLeave, onDrop, ...rest }, ref) => {
|
|
277
294
|
const context = useFileUploadContext("FileUploadDropzone");
|
|
295
|
+
const listeners = context.dropzoneListeners;
|
|
296
|
+
const resolvedVariant = variant === "auto" ? context.isEmpty ? "default" : "compact" : variant;
|
|
297
|
+
const remaining = showRemaining && context.maxFiles != null ? /* @__PURE__ */ jsx("span", {
|
|
298
|
+
className: "font-sans text-xs text-muted-foreground",
|
|
299
|
+
children: context.isAtMaxFiles ? `Maximum of ${context.maxFiles} files reached` : `${context.remainingFiles} of ${context.maxFiles} files remaining`
|
|
300
|
+
}) : null;
|
|
278
301
|
return /* @__PURE__ */ jsx("div", {
|
|
279
302
|
ref,
|
|
280
303
|
"data-dragging": context.isDragging ? "" : void 0,
|
|
304
|
+
"data-empty": context.isEmpty ? "" : void 0,
|
|
305
|
+
"data-at-max": context.isAtMaxFiles ? "" : void 0,
|
|
281
306
|
"data-invalid": context.invalid ? "" : void 0,
|
|
282
307
|
"data-disabled": context.disabled ? "" : void 0,
|
|
283
|
-
className: fileUploadDropzoneVariants({ className }),
|
|
308
|
+
className: fileUploadDropzoneVariants({ className: cn(resolvedVariant === "compact" && dropzoneCompactClasses, className) }),
|
|
284
309
|
onClick: (event) => {
|
|
285
310
|
onClick?.(event);
|
|
286
|
-
if (
|
|
311
|
+
if (event.defaultPrevented || context.disabled || context.isAtMaxFiles) return;
|
|
312
|
+
context.openPicker();
|
|
313
|
+
},
|
|
314
|
+
onDragEnter: (event) => {
|
|
315
|
+
onDragEnter?.(event);
|
|
316
|
+
listeners.onDragEnter(event);
|
|
317
|
+
},
|
|
318
|
+
onDragOver: (event) => {
|
|
319
|
+
onDragOver?.(event);
|
|
320
|
+
listeners.onDragOver(event);
|
|
321
|
+
},
|
|
322
|
+
onDragLeave: (event) => {
|
|
323
|
+
onDragLeave?.(event);
|
|
324
|
+
listeners.onDragLeave(event);
|
|
325
|
+
},
|
|
326
|
+
onDrop: (event) => {
|
|
327
|
+
onDrop?.(event);
|
|
328
|
+
listeners.onDrop(event);
|
|
287
329
|
},
|
|
288
|
-
...context.dropzoneListeners,
|
|
289
330
|
...rest,
|
|
290
|
-
children: children ?? /* @__PURE__ */
|
|
331
|
+
children: children ?? (resolvedVariant === "compact" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
332
|
+
/* @__PURE__ */ jsx(UploadIcon, {
|
|
333
|
+
className: "size-5 shrink-0 text-muted-foreground",
|
|
334
|
+
"aria-hidden": "true"
|
|
335
|
+
}),
|
|
336
|
+
/* @__PURE__ */ jsxs("div", {
|
|
337
|
+
className: "flex min-w-0 flex-1 flex-col",
|
|
338
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
339
|
+
className: "font-sans text-sm font-medium text-foreground",
|
|
340
|
+
children: context.isAtMaxFiles ? "Maximum files reached" : "Drag and drop or browse"
|
|
341
|
+
}), remaining]
|
|
342
|
+
}),
|
|
343
|
+
/* @__PURE__ */ jsx(FileUploadTrigger, {
|
|
344
|
+
size: "sm",
|
|
345
|
+
startIcon: null,
|
|
346
|
+
disabled: context.isAtMaxFiles || void 0
|
|
347
|
+
})
|
|
348
|
+
] }) : /* @__PURE__ */ jsx(SystemState, {
|
|
291
349
|
variant: context.invalid ? "upload-error" : "upload",
|
|
292
350
|
bg: "transparent",
|
|
293
|
-
action: /* @__PURE__ */
|
|
294
|
-
|
|
351
|
+
action: /* @__PURE__ */ jsxs("div", {
|
|
352
|
+
className: "flex flex-col items-center gap-2",
|
|
353
|
+
children: [/* @__PURE__ */ jsx(FileUploadTrigger, { disabled: context.isAtMaxFiles || void 0 }), remaining]
|
|
354
|
+
})
|
|
355
|
+
}))
|
|
295
356
|
});
|
|
296
357
|
});
|
|
297
358
|
FileUploadDropzone.displayName = "FileUploadDropzone";
|
|
@@ -345,15 +406,31 @@ const itemClasses = "flex items-center gap-3 rounded-md border border-border bg-
|
|
|
345
406
|
const itemNameClasses = "truncate font-sans text-sm font-medium text-foreground";
|
|
346
407
|
const itemMetaClasses = "font-sans text-xs text-muted-foreground";
|
|
347
408
|
const itemErrorClasses = "font-sans text-xs font-medium text-error-700";
|
|
409
|
+
const itemStatusLabels = {
|
|
410
|
+
idle: "",
|
|
411
|
+
uploading: "Uploading",
|
|
412
|
+
success: "Uploaded",
|
|
413
|
+
error: "Failed"
|
|
414
|
+
};
|
|
415
|
+
const itemStatusColors = {
|
|
416
|
+
idle: "text-muted-foreground",
|
|
417
|
+
uploading: "text-muted-foreground",
|
|
418
|
+
success: "text-success-700",
|
|
419
|
+
error: "text-error-700"
|
|
420
|
+
};
|
|
348
421
|
/**
|
|
349
|
-
* One selected file: a thumbnail (auto-generated for images
|
|
350
|
-
*
|
|
351
|
-
*
|
|
352
|
-
*
|
|
422
|
+
* One selected file: a thumbnail (auto-generated for images, or from
|
|
423
|
+
* `previewSrc`) with a file-icon fallback, the name, and — depending on
|
|
424
|
+
* `status` — its size, an upload progress bar, or an error message, plus a
|
|
425
|
+
* visible status label and a remove button. `status`/`progress`/`error` are
|
|
426
|
+
* consumer-driven so the row reflects real upload state; the component shows
|
|
427
|
+
* failures but does not itself retry.
|
|
353
428
|
*/
|
|
354
|
-
const FileUploadItem = forwardRef(({ file, status = "idle", progress, error, removable = true, onRemove, removeLabel, preview, children, className, ...rest }, ref) => {
|
|
429
|
+
const FileUploadItem = forwardRef(({ file, status = "idle", progress, error, statusLabel, removable = true, onRemove, removeLabel, preview, previewSrc, children, className, ...rest }, ref) => {
|
|
355
430
|
const context = useFileUploadContext("FileUploadItem");
|
|
356
431
|
const handleRemove = onRemove ?? (() => context.removeFile(file));
|
|
432
|
+
const resolvedStatusLabel = statusLabel !== void 0 ? statusLabel : itemStatusLabels[status] || null;
|
|
433
|
+
const showStatusLabel = status !== "idle" && resolvedStatusLabel != null;
|
|
357
434
|
return /* @__PURE__ */ jsx("li", {
|
|
358
435
|
ref,
|
|
359
436
|
"data-status": status,
|
|
@@ -362,26 +439,32 @@ const FileUploadItem = forwardRef(({ file, status = "idle", progress, error, rem
|
|
|
362
439
|
children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
363
440
|
/* @__PURE__ */ jsx("span", {
|
|
364
441
|
className: "shrink-0",
|
|
365
|
-
children: preview ?? /* @__PURE__ */ jsx(FileUploadThumbnail, {
|
|
442
|
+
children: preview ?? /* @__PURE__ */ jsx(FileUploadThumbnail, {
|
|
443
|
+
file,
|
|
444
|
+
src: previewSrc
|
|
445
|
+
})
|
|
366
446
|
}),
|
|
367
447
|
/* @__PURE__ */ jsxs("div", {
|
|
368
448
|
className: "flex min-w-0 flex-1 flex-col gap-1",
|
|
369
449
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
370
450
|
className: "flex items-center gap-2",
|
|
371
|
-
children: [
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
451
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
452
|
+
className: itemNameClasses,
|
|
453
|
+
children: file.name
|
|
454
|
+
}), showStatusLabel && /* @__PURE__ */ jsxs("span", {
|
|
455
|
+
className: cn("ms-auto inline-flex shrink-0 items-center gap-1 font-sans text-xs font-medium", itemStatusColors[status]),
|
|
456
|
+
children: [
|
|
457
|
+
status === "success" && /* @__PURE__ */ jsx(CheckCircleIcon, {
|
|
458
|
+
className: "size-3.5",
|
|
459
|
+
"aria-hidden": "true"
|
|
460
|
+
}),
|
|
461
|
+
status === "error" && /* @__PURE__ */ jsx(AlertCircleIcon, {
|
|
462
|
+
className: "size-3.5",
|
|
463
|
+
"aria-hidden": "true"
|
|
464
|
+
}),
|
|
465
|
+
resolvedStatusLabel
|
|
466
|
+
]
|
|
467
|
+
})]
|
|
385
468
|
}), status === "uploading" ? /* @__PURE__ */ jsx(Progress, {
|
|
386
469
|
size: "sm",
|
|
387
470
|
value: progress ?? null,
|
|
@@ -402,33 +485,38 @@ const FileUploadItem = forwardRef(({ file, status = "idle", progress, error, rem
|
|
|
402
485
|
"aria-label": removeLabel ?? `Remove ${file.name}`,
|
|
403
486
|
disabled: context.disabled,
|
|
404
487
|
onClick: handleRemove,
|
|
405
|
-
className: "
|
|
488
|
+
className: "shrink-0 self-start",
|
|
406
489
|
children: /* @__PURE__ */ jsx(XIcon, {})
|
|
407
490
|
})
|
|
408
491
|
] })
|
|
409
492
|
});
|
|
410
493
|
});
|
|
411
494
|
FileUploadItem.displayName = "FileUploadItem";
|
|
412
|
-
|
|
413
|
-
|
|
495
|
+
const thumbnailImageClasses = "size-10 rounded-md object-cover";
|
|
496
|
+
const thumbnailFallbackClasses = "flex size-10 items-center justify-center rounded-md bg-muted text-muted-foreground";
|
|
497
|
+
function FileUploadThumbnail({ file, src }) {
|
|
498
|
+
const [autoUrl, setAutoUrl] = useState(null);
|
|
499
|
+
const [failedSrc, setFailedSrc] = useState(null);
|
|
414
500
|
useEffect(() => {
|
|
415
|
-
if (
|
|
416
|
-
|
|
501
|
+
if (src != null || !file.type.startsWith("image/") || !canUseObjectUrl()) {
|
|
502
|
+
setAutoUrl(null);
|
|
417
503
|
return;
|
|
418
504
|
}
|
|
419
505
|
const objectUrl = URL.createObjectURL(file);
|
|
420
|
-
|
|
506
|
+
setAutoUrl(objectUrl);
|
|
421
507
|
return () => URL.revokeObjectURL(objectUrl);
|
|
422
|
-
}, [file]);
|
|
423
|
-
|
|
424
|
-
|
|
508
|
+
}, [file, src]);
|
|
509
|
+
const resolvedSrc = src ?? autoUrl;
|
|
510
|
+
if (resolvedSrc != null && failedSrc !== resolvedSrc) return /* @__PURE__ */ jsx("img", {
|
|
511
|
+
src: resolvedSrc,
|
|
425
512
|
alt: "",
|
|
426
513
|
"aria-hidden": "true",
|
|
427
|
-
className:
|
|
428
|
-
draggable: false
|
|
514
|
+
className: thumbnailImageClasses,
|
|
515
|
+
draggable: false,
|
|
516
|
+
onError: () => setFailedSrc(resolvedSrc)
|
|
429
517
|
});
|
|
430
518
|
return /* @__PURE__ */ jsx("span", {
|
|
431
|
-
className:
|
|
519
|
+
className: thumbnailFallbackClasses,
|
|
432
520
|
children: /* @__PURE__ */ jsx(FileIcon, {
|
|
433
521
|
className: "size-5",
|
|
434
522
|
"aria-hidden": "true"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { FileUpload, FileUploadDropzone, FileUploadDropzoneProps, FileUploadDropzoneVariantsOptions, FileUploadHandle, FileUploadItem, FileUploadItemProps, FileUploadItemStatus, FileUploadList, FileUploadListProps, FileUploadProps, FileUploadRejection, FileUploadRejectionCode, FileUploadRenderState, FileUploadTrigger, FileUploadTriggerProps, fileUploadDropzoneVariants, formatFileSize, useFileUpload } from "./FileUpload.js";
|
|
2
|
-
export { FileUpload, FileUploadDropzone, type FileUploadDropzoneProps, type FileUploadDropzoneVariantsOptions, type FileUploadHandle, FileUploadItem, type FileUploadItemProps, type FileUploadItemStatus, FileUploadList, type FileUploadListProps, type FileUploadProps, type FileUploadRejection, type FileUploadRejectionCode, type FileUploadRenderState, FileUploadTrigger, type FileUploadTriggerProps, fileUploadDropzoneVariants, formatFileSize, useFileUpload };
|
|
1
|
+
import { FileUpload, FileUploadDropzone, FileUploadDropzoneProps, FileUploadDropzoneVariant, FileUploadDropzoneVariantsOptions, FileUploadHandle, FileUploadItem, FileUploadItemProps, FileUploadItemStatus, FileUploadList, FileUploadListProps, FileUploadProps, FileUploadRejection, FileUploadRejectionCode, FileUploadRenderState, FileUploadTrigger, FileUploadTriggerProps, fileUploadDropzoneVariants, formatFileSize, useFileUpload } from "./FileUpload.js";
|
|
2
|
+
export { FileUpload, FileUploadDropzone, type FileUploadDropzoneProps, type FileUploadDropzoneVariant, type FileUploadDropzoneVariantsOptions, type FileUploadHandle, FileUploadItem, type FileUploadItemProps, type FileUploadItemStatus, FileUploadList, type FileUploadListProps, type FileUploadProps, type FileUploadRejection, type FileUploadRejectionCode, type FileUploadRenderState, FileUploadTrigger, type FileUploadTriggerProps, fileUploadDropzoneVariants, formatFileSize, useFileUpload };
|
package/dist/index.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ import { FieldControlProps, useFieldControl } from "./components/Field/FieldCont
|
|
|
46
46
|
import "./components/Field/index.js";
|
|
47
47
|
import { Fieldset, FieldsetDescription, FieldsetDescriptionProps, FieldsetLegend, FieldsetLegendProps, FieldsetLegendVariant, FieldsetProps } from "./components/Fieldset/Fieldset.js";
|
|
48
48
|
import "./components/Fieldset/index.js";
|
|
49
|
-
import { FileUpload, FileUploadDropzone, FileUploadDropzoneProps, FileUploadDropzoneVariantsOptions, FileUploadHandle, FileUploadItem, FileUploadItemProps, FileUploadItemStatus, FileUploadList, FileUploadListProps, FileUploadProps, FileUploadRejection, FileUploadRejectionCode, FileUploadRenderState, FileUploadTrigger, FileUploadTriggerProps, fileUploadDropzoneVariants, formatFileSize, useFileUpload } from "./components/FileUpload/FileUpload.js";
|
|
49
|
+
import { FileUpload, FileUploadDropzone, FileUploadDropzoneProps, FileUploadDropzoneVariant, FileUploadDropzoneVariantsOptions, FileUploadHandle, FileUploadItem, FileUploadItemProps, FileUploadItemStatus, FileUploadList, FileUploadListProps, FileUploadProps, FileUploadRejection, FileUploadRejectionCode, FileUploadRenderState, FileUploadTrigger, FileUploadTriggerProps, fileUploadDropzoneVariants, formatFileSize, useFileUpload } from "./components/FileUpload/FileUpload.js";
|
|
50
50
|
import "./components/FileUpload/index.js";
|
|
51
51
|
import { Form, FormProps } from "./components/Form/Form.js";
|
|
52
52
|
import "./components/Form/index.js";
|
|
@@ -82,4 +82,4 @@ import "./components/Tooltip/index.js";
|
|
|
82
82
|
import { Typography, TypographyProps, TypographyVariant, TypographyVariantsOptions, typographyVariants } from "./components/Typography/Typography.js";
|
|
83
83
|
import "./components/Typography/index.js";
|
|
84
84
|
import { cn } from "./lib/cn.js";
|
|
85
|
-
export { AILoader, type AILoaderProps, type AILoaderRenderState, type AILoaderSize, type AILoaderState, type AILoaderTone, Accordion, type AccordionChevronPosition, AccordionHeader, type AccordionHeaderProps, AccordionItem, type AccordionItemProps, AccordionPanel, type AccordionPanelProps, type AccordionProps, type AccordionSize, AccordionTrigger, type AccordionTriggerProps, type AccordionVariant, Alert, type AlertAppearance, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, type AlertDialogFooterProps, AlertDialogHeader, type AlertDialogHeaderProps, AlertDialogPopup, type AlertDialogPopupProps, type AlertDialogPopupVariantsOptions, type AlertDialogProps, type AlertDialogScrollBehavior, type AlertDialogSize, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, type AlertDialogTriggerProps, type AlertProps, type AlertVariant, type AlertVariantsOptions, Avatar, AvatarBadge, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarVariantsOptions, Badge, type BadgeAppearance, type BadgeProps, type BadgeSize, type BadgeVariant, type BadgeVariantsOptions, Box, type BoxBackground, type BoxPadding, type BoxProps, type BoxRadius, type BoxShadow, type BoxVariantsOptions, Breadcrumb, BreadcrumbEllipsis, type BreadcrumbEllipsisProps, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbLinkVariantsOptions, BreadcrumbList, type BreadcrumbListProps, BreadcrumbPage, type BreadcrumbPageProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, type ButtonVariantsOptions, Calendar, type CalendarDateRange, type CalendarMode, type CalendarProps, type CalendarState, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, type CheckboxSize, type CheckboxVariantsOptions, CodeBlock, type CodeBlockProps, type CodeBlockVariantsOptions, Combobox, type ComboboxAlign, ComboboxChip, type ComboboxChipProps, ComboboxChipRemove, type ComboboxChipRemoveProps, ComboboxChips, type ComboboxChipsProps, ComboboxClear, type ComboboxClearProps, ComboboxCollection, type ComboboxCollectionProps, ComboboxGroup, ComboboxGroupLabel, type ComboboxGroupLabelProps, type ComboboxGroupProps, ComboboxInput, ComboboxInputGroup, type ComboboxInputGroupProps, type ComboboxInputGroupVariantsOptions, type ComboboxInputProps, ComboboxItem, type ComboboxItemProps, ComboboxLabel, type ComboboxLabelProps, ComboboxPopup, type ComboboxPopupProps, type ComboboxProps, ComboboxSeparator, type ComboboxSeparatorProps, type ComboboxSize, ComboboxTrigger, type ComboboxTriggerProps, type ComboboxTriggerSize, type ComboboxTriggerVariant, ComboboxValue, type ComboboxValueProps, ContextMenu, type ContextMenuAlign, ContextMenuCheckboxItem, type ContextMenuCheckboxItemProps, ContextMenuGroup, ContextMenuGroupLabel, type ContextMenuGroupLabelProps, type ContextMenuGroupProps, ContextMenuItem, type ContextMenuItemProps, type ContextMenuItemVariant, ContextMenuLinkItem, type ContextMenuLinkItemProps, ContextMenuPopup, type ContextMenuPopupProps, type ContextMenuProps, ContextMenuRadioGroup, type ContextMenuRadioGroupProps, ContextMenuRadioItem, type ContextMenuRadioItemProps, ContextMenuSeparator, type ContextMenuSeparatorProps, ContextMenuShortcut, type ContextMenuShortcutProps, type ContextMenuSide, ContextMenuSubmenuRoot, type ContextMenuSubmenuRootProps, ContextMenuSubmenuTrigger, type ContextMenuSubmenuTriggerProps, ContextMenuTrigger, type ContextMenuTriggerProps, DatePicker, type DatePickerCalendarProps, type DatePickerPopupProps, type DatePickerProps, type DatePickerSize, type DatePickerVariant, type DatePickerVariantsOptions, DateRangePicker, type DateRangePickerCalendarProps, type DateRangePickerPopupProps, type DateRangePickerProps, type DateRangePickerSize, type DateRangePickerVariant, type DateRangePickerVariantsOptions, Dialog, DialogClose, type DialogCloseProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogPopup, type DialogPopupProps, type DialogPopupVariantsOptions, type DialogProps, type DialogScrollBehavior, type DialogSize, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, Divider, type DividerLabelPosition, type DividerOrientation, type DividerProps, type DividerVariant, type DividerVariantsOptions, Drawer, DrawerClose, type DrawerCloseProps, DrawerDescription, type DrawerDescriptionProps, DrawerFooter, type DrawerFooterProps, DrawerHeader, type DrawerHeaderProps, DrawerIndent, DrawerIndentBackground, type DrawerIndentBackgroundProps, type DrawerIndentProps, DrawerPopup, type DrawerPopupProps, type DrawerPopupVariantsOptions, type DrawerProps, DrawerProvider, type DrawerSide, type DrawerSize, DrawerSwipeArea, type DrawerSwipeAreaProps, DrawerTitle, type DrawerTitleProps, DrawerTrigger, type DrawerTriggerProps, DrawerVirtualKeyboardProvider, Field, type FieldControlProps, FieldDescription, type FieldDescriptionProps, FieldError, type FieldErrorProps, FieldItem, type FieldItemProps, FieldLabel, type FieldLabelProps, type FieldLabelVariantsOptions, type FieldOrientation, type FieldProps, FieldValidity, type FieldValidityProps, Fieldset, FieldsetDescription, type FieldsetDescriptionProps, FieldsetLegend, type FieldsetLegendProps, type FieldsetLegendVariant, type FieldsetProps, FileUpload, FileUploadDropzone, type FileUploadDropzoneProps, type FileUploadDropzoneVariantsOptions, type FileUploadHandle, FileUploadItem, type FileUploadItemProps, type FileUploadItemStatus, FileUploadList, type FileUploadListProps, type FileUploadProps, type FileUploadRejection, type FileUploadRejectionCode, type FileUploadRenderState, FileUploadTrigger, type FileUploadTriggerProps, Form, type FormProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, type InputGroupProps, type InputProps, type InputSize, type InputVariantsOptions, Menu, type MenuAlign, MenuCheckboxItem, type MenuCheckboxItemProps, MenuGroup, MenuGroupLabel, type MenuGroupLabelProps, type MenuGroupProps, type MenuHandle, MenuItem, type MenuItemProps, type MenuItemVariant, type MenuItemVariantsOptions, MenuLinkItem, type MenuLinkItemProps, MenuPopup, type MenuPopupProps, type MenuProps, MenuRadioGroup, type MenuRadioGroupProps, MenuRadioItem, type MenuRadioItemProps, MenuSeparator, type MenuSeparatorProps, MenuShortcut, type MenuShortcutProps, type MenuSide, MenuSubmenuRoot, type MenuSubmenuRootProps, MenuSubmenuTrigger, type MenuSubmenuTriggerProps, MenuTrigger, type MenuTriggerProps, Meter, type MeterIndicatorVariantsOptions, type MeterProps, type MeterSize, type MeterTrackVariantsOptions, type MeterVariant, Popover, type PopoverAlign, PopoverClose, type PopoverCloseProps, PopoverDescription, type PopoverDescriptionProps, type PopoverHandle, PopoverPopup, type PopoverPopupProps, type PopoverPopupVariantsOptions, type PopoverProps, type PopoverSide, PopoverTitle, type PopoverTitleProps, PopoverTrigger, type PopoverTriggerProps, Progress, type ProgressIndicatorVariantsOptions, type ProgressProps, type ProgressSize, type ProgressTrackVariantsOptions, type ProgressVariant, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type RadioSize, type RadioVariantsOptions, Select, type SelectAlign, SelectGroup, SelectGroupLabel, type SelectGroupLabelProps, type SelectGroupProps, SelectItem, type SelectItemProps, SelectLabel, type SelectLabelProps, SelectPopup, type SelectPopupProps, type SelectProps, SelectSeparator, type SelectSeparatorProps, SelectTrigger, type SelectTriggerProps, type SelectTriggerSize, type SelectTriggerVariant, type SelectTriggerVariantsOptions, SelectValue, type SelectValueProps, Skeleton, type SkeletonAnimation, type SkeletonProps, type SkeletonRenderState, type SkeletonVariant, type SkeletonVariantsOptions, Stepper, StepperDescription, type StepperDescriptionProps, StepperIndicator, type StepperIndicatorProps, StepperItem, type StepperItemProps, type StepperOrientation, type StepperProps, StepperSeparator, type StepperSeparatorProps, type StepperSize, StepperTitle, type StepperTitleProps, StepperTrigger, type StepperTriggerProps, type StepperTriggerVariantsOptions, Switch, type SwitchLabelPosition, type SwitchProps, type SwitchSize, type SwitchVariantsOptions, SystemState, type SystemStateBackground, type SystemStateProps, type SystemStateRenderState, type SystemStateScope, type SystemStateTitleLevel, type SystemStateVariant, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, type TableCaptionRenderState, type TableCaptionSide, TableCell, type TableCellProps, TableContainer, type TableContainerProps, type TableContainerRenderState, type TableContainerVariant, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableLayout, type TableProps, type TableRenderState, TableRow, type TableRowProps, type TableRowRenderState, type TableSize, Tabs, type TabsIndicatorPosition, TabsList, type TabsListProps, type TabsListVariantsOptions, TabsPanel, type TabsPanelProps, type TabsProps, type TabsSize, TabsTab, type TabsTabProps, type TabsTabVariantsOptions, type TabsVariant, Timeline, TimelineConnector, type TimelineConnectorProps, TimelineContent, type TimelineContentProps, TimelineDescription, type TimelineDescriptionProps, TimelineIndicator, type TimelineIndicatorAppearance, type TimelineIndicatorProps, type TimelineIndicatorVariant, TimelineItem, type TimelineItemProps, type TimelineProps, TimelineSeparator, type TimelineSeparatorProps, type TimelineSeparatorVariant, type TimelineSize, TimelineTime, type TimelineTimeProps, TimelineTitle, type TimelineTitleProps, type ToastData, type ToastManager, type ToastObject, type ToastOptions, type ToastPosition, type ToastPromiseOptions, type ToastType, type ToastUpdateOptions, Toaster, type ToasterProps, Toggle, ToggleGroup, type ToggleGroupProps, type ToggleProps, type ToggleSize, type ToggleVariant, type ToggleVariantsOptions, Tooltip, type TooltipAlign, type TooltipHandle, TooltipPopup, type TooltipPopupProps, type TooltipPopupVariantsOptions, type TooltipProps, TooltipProvider, type TooltipProviderProps, type TooltipSide, TooltipTrigger, type TooltipTriggerProps, Typography, type TypographyProps, type TypographyVariant, type TypographyVariantsOptions, alertDialogPopupVariants, alertVariants, avatarVariants, badgeVariants, boxVariants, breadcrumbLinkVariants, buttonVariants, checkboxVariants, cn, codeBlockVariants, comboboxInputGroupVariants, createAlertDialogHandle, createDrawerHandle, createMenuHandle, createPopoverHandle, createToastManager, createTooltipHandle, datePickerVariants, dateRangePickerVariants, dialogPopupVariants, dividerVariants, drawerPopupVariants, fieldLabelVariants, fileUploadDropzoneVariants, formatFileSize, inputVariants, menuItemVariants, meterIndicatorVariants, meterTrackVariants, popoverPopupVariants, progressIndicatorVariants, progressTrackVariants, radioVariants, selectTriggerVariants, skeletonVariants, stepperTriggerVariants, switchVariants, tabsListVariants, tabsTabVariants, toast, toggleVariants, tooltipPopupVariants, typographyVariants, useComboboxFilter, useComboboxFilteredItems, useFieldControl, useFileUpload };
|
|
85
|
+
export { AILoader, type AILoaderProps, type AILoaderRenderState, type AILoaderSize, type AILoaderState, type AILoaderTone, Accordion, type AccordionChevronPosition, AccordionHeader, type AccordionHeaderProps, AccordionItem, type AccordionItemProps, AccordionPanel, type AccordionPanelProps, type AccordionProps, type AccordionSize, AccordionTrigger, type AccordionTriggerProps, type AccordionVariant, Alert, type AlertAppearance, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, type AlertDialogFooterProps, AlertDialogHeader, type AlertDialogHeaderProps, AlertDialogPopup, type AlertDialogPopupProps, type AlertDialogPopupVariantsOptions, type AlertDialogProps, type AlertDialogScrollBehavior, type AlertDialogSize, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, type AlertDialogTriggerProps, type AlertProps, type AlertVariant, type AlertVariantsOptions, Avatar, AvatarBadge, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarVariantsOptions, Badge, type BadgeAppearance, type BadgeProps, type BadgeSize, type BadgeVariant, type BadgeVariantsOptions, Box, type BoxBackground, type BoxPadding, type BoxProps, type BoxRadius, type BoxShadow, type BoxVariantsOptions, Breadcrumb, BreadcrumbEllipsis, type BreadcrumbEllipsisProps, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbLinkVariantsOptions, BreadcrumbList, type BreadcrumbListProps, BreadcrumbPage, type BreadcrumbPageProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, type ButtonVariantsOptions, Calendar, type CalendarDateRange, type CalendarMode, type CalendarProps, type CalendarState, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, type CheckboxSize, type CheckboxVariantsOptions, CodeBlock, type CodeBlockProps, type CodeBlockVariantsOptions, Combobox, type ComboboxAlign, ComboboxChip, type ComboboxChipProps, ComboboxChipRemove, type ComboboxChipRemoveProps, ComboboxChips, type ComboboxChipsProps, ComboboxClear, type ComboboxClearProps, ComboboxCollection, type ComboboxCollectionProps, ComboboxGroup, ComboboxGroupLabel, type ComboboxGroupLabelProps, type ComboboxGroupProps, ComboboxInput, ComboboxInputGroup, type ComboboxInputGroupProps, type ComboboxInputGroupVariantsOptions, type ComboboxInputProps, ComboboxItem, type ComboboxItemProps, ComboboxLabel, type ComboboxLabelProps, ComboboxPopup, type ComboboxPopupProps, type ComboboxProps, ComboboxSeparator, type ComboboxSeparatorProps, type ComboboxSize, ComboboxTrigger, type ComboboxTriggerProps, type ComboboxTriggerSize, type ComboboxTriggerVariant, ComboboxValue, type ComboboxValueProps, ContextMenu, type ContextMenuAlign, ContextMenuCheckboxItem, type ContextMenuCheckboxItemProps, ContextMenuGroup, ContextMenuGroupLabel, type ContextMenuGroupLabelProps, type ContextMenuGroupProps, ContextMenuItem, type ContextMenuItemProps, type ContextMenuItemVariant, ContextMenuLinkItem, type ContextMenuLinkItemProps, ContextMenuPopup, type ContextMenuPopupProps, type ContextMenuProps, ContextMenuRadioGroup, type ContextMenuRadioGroupProps, ContextMenuRadioItem, type ContextMenuRadioItemProps, ContextMenuSeparator, type ContextMenuSeparatorProps, ContextMenuShortcut, type ContextMenuShortcutProps, type ContextMenuSide, ContextMenuSubmenuRoot, type ContextMenuSubmenuRootProps, ContextMenuSubmenuTrigger, type ContextMenuSubmenuTriggerProps, ContextMenuTrigger, type ContextMenuTriggerProps, DatePicker, type DatePickerCalendarProps, type DatePickerPopupProps, type DatePickerProps, type DatePickerSize, type DatePickerVariant, type DatePickerVariantsOptions, DateRangePicker, type DateRangePickerCalendarProps, type DateRangePickerPopupProps, type DateRangePickerProps, type DateRangePickerSize, type DateRangePickerVariant, type DateRangePickerVariantsOptions, Dialog, DialogClose, type DialogCloseProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogPopup, type DialogPopupProps, type DialogPopupVariantsOptions, type DialogProps, type DialogScrollBehavior, type DialogSize, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, Divider, type DividerLabelPosition, type DividerOrientation, type DividerProps, type DividerVariant, type DividerVariantsOptions, Drawer, DrawerClose, type DrawerCloseProps, DrawerDescription, type DrawerDescriptionProps, DrawerFooter, type DrawerFooterProps, DrawerHeader, type DrawerHeaderProps, DrawerIndent, DrawerIndentBackground, type DrawerIndentBackgroundProps, type DrawerIndentProps, DrawerPopup, type DrawerPopupProps, type DrawerPopupVariantsOptions, type DrawerProps, DrawerProvider, type DrawerSide, type DrawerSize, DrawerSwipeArea, type DrawerSwipeAreaProps, DrawerTitle, type DrawerTitleProps, DrawerTrigger, type DrawerTriggerProps, DrawerVirtualKeyboardProvider, Field, type FieldControlProps, FieldDescription, type FieldDescriptionProps, FieldError, type FieldErrorProps, FieldItem, type FieldItemProps, FieldLabel, type FieldLabelProps, type FieldLabelVariantsOptions, type FieldOrientation, type FieldProps, FieldValidity, type FieldValidityProps, Fieldset, FieldsetDescription, type FieldsetDescriptionProps, FieldsetLegend, type FieldsetLegendProps, type FieldsetLegendVariant, type FieldsetProps, FileUpload, FileUploadDropzone, type FileUploadDropzoneProps, type FileUploadDropzoneVariant, type FileUploadDropzoneVariantsOptions, type FileUploadHandle, FileUploadItem, type FileUploadItemProps, type FileUploadItemStatus, FileUploadList, type FileUploadListProps, type FileUploadProps, type FileUploadRejection, type FileUploadRejectionCode, type FileUploadRenderState, FileUploadTrigger, type FileUploadTriggerProps, Form, type FormProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, type InputGroupProps, type InputProps, type InputSize, type InputVariantsOptions, Menu, type MenuAlign, MenuCheckboxItem, type MenuCheckboxItemProps, MenuGroup, MenuGroupLabel, type MenuGroupLabelProps, type MenuGroupProps, type MenuHandle, MenuItem, type MenuItemProps, type MenuItemVariant, type MenuItemVariantsOptions, MenuLinkItem, type MenuLinkItemProps, MenuPopup, type MenuPopupProps, type MenuProps, MenuRadioGroup, type MenuRadioGroupProps, MenuRadioItem, type MenuRadioItemProps, MenuSeparator, type MenuSeparatorProps, MenuShortcut, type MenuShortcutProps, type MenuSide, MenuSubmenuRoot, type MenuSubmenuRootProps, MenuSubmenuTrigger, type MenuSubmenuTriggerProps, MenuTrigger, type MenuTriggerProps, Meter, type MeterIndicatorVariantsOptions, type MeterProps, type MeterSize, type MeterTrackVariantsOptions, type MeterVariant, Popover, type PopoverAlign, PopoverClose, type PopoverCloseProps, PopoverDescription, type PopoverDescriptionProps, type PopoverHandle, PopoverPopup, type PopoverPopupProps, type PopoverPopupVariantsOptions, type PopoverProps, type PopoverSide, PopoverTitle, type PopoverTitleProps, PopoverTrigger, type PopoverTriggerProps, Progress, type ProgressIndicatorVariantsOptions, type ProgressProps, type ProgressSize, type ProgressTrackVariantsOptions, type ProgressVariant, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type RadioSize, type RadioVariantsOptions, Select, type SelectAlign, SelectGroup, SelectGroupLabel, type SelectGroupLabelProps, type SelectGroupProps, SelectItem, type SelectItemProps, SelectLabel, type SelectLabelProps, SelectPopup, type SelectPopupProps, type SelectProps, SelectSeparator, type SelectSeparatorProps, SelectTrigger, type SelectTriggerProps, type SelectTriggerSize, type SelectTriggerVariant, type SelectTriggerVariantsOptions, SelectValue, type SelectValueProps, Skeleton, type SkeletonAnimation, type SkeletonProps, type SkeletonRenderState, type SkeletonVariant, type SkeletonVariantsOptions, Stepper, StepperDescription, type StepperDescriptionProps, StepperIndicator, type StepperIndicatorProps, StepperItem, type StepperItemProps, type StepperOrientation, type StepperProps, StepperSeparator, type StepperSeparatorProps, type StepperSize, StepperTitle, type StepperTitleProps, StepperTrigger, type StepperTriggerProps, type StepperTriggerVariantsOptions, Switch, type SwitchLabelPosition, type SwitchProps, type SwitchSize, type SwitchVariantsOptions, SystemState, type SystemStateBackground, type SystemStateProps, type SystemStateRenderState, type SystemStateScope, type SystemStateTitleLevel, type SystemStateVariant, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, type TableCaptionRenderState, type TableCaptionSide, TableCell, type TableCellProps, TableContainer, type TableContainerProps, type TableContainerRenderState, type TableContainerVariant, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableLayout, type TableProps, type TableRenderState, TableRow, type TableRowProps, type TableRowRenderState, type TableSize, Tabs, type TabsIndicatorPosition, TabsList, type TabsListProps, type TabsListVariantsOptions, TabsPanel, type TabsPanelProps, type TabsProps, type TabsSize, TabsTab, type TabsTabProps, type TabsTabVariantsOptions, type TabsVariant, Timeline, TimelineConnector, type TimelineConnectorProps, TimelineContent, type TimelineContentProps, TimelineDescription, type TimelineDescriptionProps, TimelineIndicator, type TimelineIndicatorAppearance, type TimelineIndicatorProps, type TimelineIndicatorVariant, TimelineItem, type TimelineItemProps, type TimelineProps, TimelineSeparator, type TimelineSeparatorProps, type TimelineSeparatorVariant, type TimelineSize, TimelineTime, type TimelineTimeProps, TimelineTitle, type TimelineTitleProps, type ToastData, type ToastManager, type ToastObject, type ToastOptions, type ToastPosition, type ToastPromiseOptions, type ToastType, type ToastUpdateOptions, Toaster, type ToasterProps, Toggle, ToggleGroup, type ToggleGroupProps, type ToggleProps, type ToggleSize, type ToggleVariant, type ToggleVariantsOptions, Tooltip, type TooltipAlign, type TooltipHandle, TooltipPopup, type TooltipPopupProps, type TooltipPopupVariantsOptions, type TooltipProps, TooltipProvider, type TooltipProviderProps, type TooltipSide, TooltipTrigger, type TooltipTriggerProps, Typography, type TypographyProps, type TypographyVariant, type TypographyVariantsOptions, alertDialogPopupVariants, alertVariants, avatarVariants, badgeVariants, boxVariants, breadcrumbLinkVariants, buttonVariants, checkboxVariants, cn, codeBlockVariants, comboboxInputGroupVariants, createAlertDialogHandle, createDrawerHandle, createMenuHandle, createPopoverHandle, createToastManager, createTooltipHandle, datePickerVariants, dateRangePickerVariants, dialogPopupVariants, dividerVariants, drawerPopupVariants, fieldLabelVariants, fileUploadDropzoneVariants, formatFileSize, inputVariants, menuItemVariants, meterIndicatorVariants, meterTrackVariants, popoverPopupVariants, progressIndicatorVariants, progressTrackVariants, radioVariants, selectTriggerVariants, skeletonVariants, stepperTriggerVariants, switchVariants, tabsListVariants, tabsTabVariants, toast, toggleVariants, tooltipPopupVariants, typographyVariants, useComboboxFilter, useComboboxFilteredItems, useFieldControl, useFileUpload };
|