UNPKG

alinea

Version:
70 lines (68 loc) 1.86 kB
import "../../chunks/chunk-NZLE2WMY.js"; // src/field/link/ImageLink.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 ImageLink; ((ImageLink2) => { ImageLink2.title = Entry.title; ImageLink2.src = MediaFile.location; ImageLink2.extension = MediaFile.extension; ImageLink2.size = MediaFile.size; ImageLink2.hash = MediaFile.hash; ImageLink2.width = MediaFile.width; ImageLink2.height = MediaFile.height; ImageLink2.averageColor = MediaFile.averageColor; ImageLink2.thumbHash = MediaFile.thumbHash; ImageLink2.focus = MediaFile.focus; })(ImageLink || (ImageLink = {})); var imageCondition = { _type: "MediaFile", extension: { in: [ ...imageExtensions, ...imageExtensions.map((e) => e.toUpperCase()) //Fix for historic files with case-insensitive extensions ] } }; function imagePicker(multiple, options) { return entryPicker({ ...options, max: multiple ? void 0 : 1, label: "Image", title: multiple ? "Select images" : "Select an image", condition: imageCondition, showMedia: true, defaultView: "thumb", selection: { ...ImageLink, filePath: Entry.filePath, previewUrl: MediaFile.previewUrl } }); } function image(label, options = {}) { return createLink(label, { ...options, pickers: { image: imagePicker(false, options) } }); } ((image2) => { function multiple(label, options = {}) { return createLinks(label, { ...options, pickers: { image: imagePicker(true, options) } }); } image2.multiple = multiple; })(image || (image = {})); export { ImageLink, image };