{ "version": 3, "sources": ["../../../../../../owl-nest/common/behaviours/src/image-uploader/constants.ts", "../../../../../../owl-nest/common/behaviours/src/image-uploader/index.ts", "../../../../../../owl-nest/common/behaviours/src/image-uploader/useImageUploader.ts", "../../../../../../owl-nest/common/behaviours/index.ts"], "sourcesContent": ["// TODO: Rather have a map of \"type: extension\" and use that to generate displayable text\nexport const ALLOWED_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif']\nexport const MAX_FILE_SIZE = 5.5e6 // bytes\n", "export * from './useImageUploader'\nexport * from './constants'\n", "import * as React from 'react'\n\ntype UseImageUploaderConfig = {\n handleChange: (file: File, url: Promise) => void\n}\n\nexport type UseImageUploader = {\n onChange: (event: React.ChangeEvent) => File | undefined\n onDrop: (event: React.DragEvent) => File | undefined\n}\n\nexport function useImageUploader({ handleChange }: UseImageUploaderConfig): UseImageUploader {\n return {\n onChange: React.useCallback(onChange, [handleChange]),\n onDrop: React.useCallback(onDrop, [handleChange]),\n }\n\n function onChange(event: React.ChangeEvent): File | undefined {\n const files = event.currentTarget.files\n if (files && files.length > 0) {\n const file = files[0]\n handleChange(file, previewUrl(file))\n return file\n }\n }\n\n function onDrop(event: React.DragEvent): File | undefined {\n const files = event.dataTransfer.files\n if (files && files.length > 0) {\n const file = files[0]\n handleChange(file, previewUrl(file))\n return file\n }\n }\n\n function previewUrl(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader()\n\n reader.addEventListener('load', () => {\n if (typeof reader.result === 'string') {\n resolve(reader.result)\n }\n })\n reader.addEventListener('error', () => {\n if (reader.error !== null) {\n reject(reader.error)\n }\n })\n reader.readAsDataURL(file)\n })\n }\n}\n", "export * as imageUploader from './src/image-uploader'\n"], "mappings": "mHAAAA,IAAAC,IACO,IAAMC,EAAqB,CAAC,aAAc,YAAa,WAAW,EAC5DC,EAAgB,KCF7B,IAAAC,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,kBAAAC,EAAA,qBAAAC,IAAAC,IAAAC,ICAAC,IAAAC,IAAA,IAAAC,EAAuB,OAWhB,SAASC,EAAiB,CAAE,aAAAC,CAAa,EAA6C,CAC3F,MAAO,CACL,SAAgB,cAAYC,EAAU,CAACD,CAAY,CAAC,EACpD,OAAc,cAAYE,EAAQ,CAACF,CAAY,CAAC,CAClD,EAEA,SAASC,EAASE,EAA8D,CAC9E,IAAMC,EAAQD,EAAM,cAAc,MAClC,GAAIC,GAASA,EAAM,OAAS,EAAG,CAC7B,IAAMC,EAAOD,EAAM,CAAC,EACpB,OAAAJ,EAAaK,EAAMC,EAAWD,CAAI,CAAC,EAC5BA,CACT,CACF,CAEA,SAASH,EAAOC,EAAuD,CACrE,IAAMC,EAAQD,EAAM,aAAa,MACjC,GAAIC,GAASA,EAAM,OAAS,EAAG,CAC7B,IAAMC,EAAOD,EAAM,CAAC,EACpB,OAAAJ,EAAaK,EAAMC,EAAWD,CAAI,CAAC,EAC5BA,CACT,CACF,CAEA,SAASC,EAAWD,EAA6B,CAC/C,OAAO,IAAI,QAAQ,CAACE,EAASC,IAAW,CACtC,IAAMC,EAAS,IAAI,WAEnBA,EAAO,iBAAiB,OAAQ,IAAM,CAChC,OAAOA,EAAO,QAAW,UAC3BF,EAAQE,EAAO,MAAM,CAEzB,CAAC,EACDA,EAAO,iBAAiB,QAAS,IAAM,CACjCA,EAAO,QAAU,MACnBD,EAAOC,EAAO,KAAK,CAEvB,CAAC,EACDA,EAAO,cAAcJ,CAAI,CAC3B,CAAC,CACH,CACF,CCpDAK,IAAAC", "names": ["init_define_process_env", "init_sentry_release_injection_stub", "ALLOWED_MIME_TYPES", "MAX_FILE_SIZE", "image_uploader_exports", "__export", "ALLOWED_MIME_TYPES", "MAX_FILE_SIZE", "useImageUploader", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "React", "useImageUploader", "handleChange", "onChange", "onDrop", "event", "files", "file", "previewUrl", "resolve", "reject", "reader", "init_define_process_env", "init_sentry_release_injection_stub"] }