@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
- /** Replace the default `SystemState` prompt + `FileUploadTrigger`. */
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 a `SystemState`
131
- * (`upload`, or `upload-error` when invalid) with a browse button; pass
132
- * `children` to supply your own prompt. Highlights via `data-dragging` while a
133
- * file is dragged over it.
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, `success`/`error` a status icon. */
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
- /** Message shown while `status="error"`, in place of the size. */
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
- /** Leading visual. Defaults to an auto thumbnail for images, else a file icon. */
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) or file icon, the
184
- * name, and — depending on `status` its size, an upload progress bar, or an
185
- * error message, plus a remove button. `status`/`progress`/`error` are
186
- * consumer-driven so the row reflects real upload state.
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 a `SystemState`
272
- * (`upload`, or `upload-error` when invalid) with a browse button; pass
273
- * `children` to supply your own prompt. Highlights via `data-dragging` while a
274
- * file is dragged over it.
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 (!event.defaultPrevented) context.openPicker();
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__ */ jsx(SystemState, {
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__ */ jsx(FileUploadTrigger, {})
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) or file icon, the
350
- * name, and — depending on `status` its size, an upload progress bar, or an
351
- * error message, plus a remove button. `status`/`progress`/`error` are
352
- * consumer-driven so the row reflects real upload state.
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, { file })
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
- /* @__PURE__ */ jsx("span", {
373
- className: itemNameClasses,
374
- children: file.name
375
- }),
376
- status === "success" && /* @__PURE__ */ jsx(CheckCircleIcon, {
377
- className: "ms-auto size-4 shrink-0 text-success-700",
378
- "aria-hidden": "true"
379
- }),
380
- status === "error" && /* @__PURE__ */ jsx(AlertCircleIcon, {
381
- className: "ms-auto size-4 shrink-0 text-error-700",
382
- "aria-hidden": "true"
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: "ms-auto shrink-0 self-start",
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
- function FileUploadThumbnail({ file }) {
413
- const [url, setUrl] = useState(null);
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 (typeof URL === "undefined" || !file.type.startsWith("image/")) {
416
- setUrl(null);
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
- setUrl(objectUrl);
506
+ setAutoUrl(objectUrl);
421
507
  return () => URL.revokeObjectURL(objectUrl);
422
- }, [file]);
423
- if (url != null) return /* @__PURE__ */ jsx("img", {
424
- src: url,
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: "size-10 rounded-md object-cover",
428
- draggable: false
514
+ className: thumbnailImageClasses,
515
+ draggable: false,
516
+ onError: () => setFailedSrc(resolvedSrc)
429
517
  });
430
518
  return /* @__PURE__ */ jsx("span", {
431
- className: "flex size-10 items-center justify-center rounded-md bg-muted text-muted-foreground",
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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcfusionz/arc-primitive-ui",
3
- "version": "0.2.14",
3
+ "version": "0.2.17",
4
4
  "description": "ArcFusion primitive UI components",
5
5
  "license": "MIT",
6
6
  "type": "module",