@pipelex/mthds-form 0.10.0 → 0.10.1

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.
@@ -447,17 +447,21 @@ function FileField({
447
447
  if (!previewOpen || !storageUri || localIsCurrent || !resolveUrl) return;
448
448
  let cancelled = false;
449
449
  void resolveUrl(storageUri).then((src) => {
450
- if (!cancelled) setResolved(src ? { uri: storageUri, src } : null);
450
+ if (!cancelled) setResolved({ uri: storageUri, src: src || null });
451
451
  }).catch(() => {
452
- if (!cancelled) setResolved(null);
452
+ if (!cancelled) setResolved({ uri: storageUri, src: null });
453
453
  });
454
454
  return () => {
455
455
  cancelled = true;
456
456
  };
457
457
  }, [previewOpen, storageUri, localIsCurrent, resolveUrl]);
458
- const resolvedSrc = resolved && resolved.uri === storageUri ? viewableUrl(resolved.src) : void 0;
458
+ const resolvedSrc = resolved && resolved.uri === storageUri ? viewableUrl(resolved.src ?? void 0) : void 0;
459
459
  const previewSrc = (localIsCurrent ? localPreview?.objectUrl : void 0) ?? directSrc ?? resolvedSrc;
460
- const previewPending = !previewSrc && !!storageUri && resolved?.uri !== storageUri;
460
+ const previewPending = !previewSrc && !!storageUri && !!resolveUrl && resolved?.uri !== storageUri;
461
+ const togglePreview = () => {
462
+ if (!previewOpen) setResolved((r) => r?.src === null ? null : r);
463
+ setPreviewOpen((v) => !v);
464
+ };
461
465
  const urlValue = value?.url ?? "";
462
466
  const urlText = presentation === "studio" || isReadableLink(urlValue) || urlValue === typedUrl ? urlValue : "";
463
467
  return /* @__PURE__ */ jsxs(
@@ -483,7 +487,7 @@ function FileField({
483
487
  onClear: clear,
484
488
  canPreview,
485
489
  previewOpen,
486
- onTogglePreview: () => setPreviewOpen((v) => !v)
490
+ onTogglePreview: togglePreview
487
491
  }
488
492
  ),
489
493
  previewOpen && (previewSrc && isImage ? /* @__PURE__ */ jsx(ImagePreview, { src: previewSrc, filename: value?.filename }) : previewSrc && isPdf ? /* @__PURE__ */ jsx(PdfPreview, { src: previewSrc }) : previewPending ? /* @__PURE__ */ jsx("div", { className: "flex h-24 items-center justify-center rounded-md border border-border bg-muted", children: /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin text-muted-foreground" }) }) : (
@@ -2836,5 +2840,5 @@ function StuffViewer({
2836
2840
  }
2837
2841
 
2838
2842
  export { BooleanField, ConceptPill, DEFAULT_FIELD_STRINGS, DateField, DocumentField, EnumField, FieldDomIdProvider, FieldPresentationProvider, FieldRenderer, FieldShell, FieldStringsProvider, HtmlPreview, ImageField, JsonView, ListField, Markdown, NumberField, ObjectField, OptionalToggle, ProseField, ResultEnvProvider, ResultField, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, StuffViewer, Switch, TextField, ToggleGroup, ToggleGroupItem, UnknownField, cn, downloadStuff, fieldControlClass, humanizeFieldName, useFieldDomId, useFieldPresentation, useFieldStrings, useProseImages, useResolveShareUrl, useResolveUrl, useResolvedUrl };
2839
- //# sourceMappingURL=chunk-G6BWZUGV.js.map
2840
- //# sourceMappingURL=chunk-G6BWZUGV.js.map
2843
+ //# sourceMappingURL=chunk-W56WIIVC.js.map
2844
+ //# sourceMappingURL=chunk-W56WIIVC.js.map