UNPKG

alinea

Version:
56 lines (54 loc) 1.44 kB
import "../../chunks/chunk-NZLE2WMY.js"; // src/field/link/FileLink.ts import { Entry } from "alinea/core/Entry"; import { imageExtensions } from "alinea/core/media/IsImage"; import { MediaFile } from "alinea/core/media/MediaTypes"; import { createLink, createLinks } from "alinea/field/link/LinkField"; import { entryPicker } from "alinea/picker/entry"; var FileLink; ((FileLink2) => { FileLink2.title = Entry.title; FileLink2.url = MediaFile.location; FileLink2.href = MediaFile.location; FileLink2.extension = MediaFile.extension; FileLink2.size = MediaFile.size; })(FileLink || (FileLink = {})); var fileCondition = { _type: "MediaFile", extension: { notIn: imageExtensions } }; function filePicker(multiple, options) { return entryPicker({ ...options, max: multiple ? void 0 : 1, label: "File", title: multiple ? "Select files" : "Select a file", condition: { or: [fileCondition, { _type: "MediaLibrary" }] }, showMedia: true, defaultView: "thumb", selection: FileLink }); } function file(label, options = {}) { return createLink(label, { ...options, pickers: { file: filePicker(false, options) } }); } ((file2) => { function multiple(label, options = {}) { return createLinks(label, { ...options, pickers: { file: filePicker(true, options) } }); } file2.multiple = multiple; })(file || (file = {})); export { FileLink, file, filePicker };