Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@entur/fileupload

Package Overview
Dependencies
Maintainers
10
Versions
216
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@entur/fileupload - npm Package Compare versions

Comparing version
0.5.6
to
0.5.7
+1
-1
dist/fileupload.cjs.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"fileupload.cjs.js","sources":["../src/FileUpload.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n useDropzone,\n DropzoneOptions,\n FileRejection,\n DropEvent,\n} from 'react-dropzone';\nimport classNames from 'classnames';\n\nimport { FileIcon, DeleteIcon } from '@entur/icons';\nimport { IconButton } from '@entur/button';\nimport { Label } from '@entur/typography';\n\nimport './FileUpload.scss';\n\ntype FileUploadProps = DropzoneOptions & {\n /** Tekst som vises ved fullført opplasting\n * @default \"Opplasting fullført\"\n */\n successText?: string;\n /** Tekst som vises om opplasting feilet\n * @default \"Feil ved opplasting av fil\"\n */\n errorText?: string;\n /** Tekst som vises før man laster opp noe\n * @default \"Dra fil eller klikk for å laste opp\"\n */\n standbyText?: string;\n /** Boolean for hvis opplastingen feiler.\n * @default false\n */\n errorUpload?: boolean;\n /** Callback for når en fil legges til */\n onDrop?<T extends File>(\n acceptedFiles: T[],\n fileRejections: FileRejection[],\n event: DropEvent,\n ): void;\n /** Callback for når en fil slettes fra lista */\n onDelete?: (file: File) => void;\n /** Hvilken filtyper som skal aksepteres */\n accept?: string | string[];\n /** Filene som er aktive i komponenten */\n files: File[];\n /** Beskrivende tekst som forklarer feltet */\n label?: string;\n /** Mulighet for å laste opp flere filer */\n multiple?: boolean;\n /**Minste filstørrelse */\n minSize?: number;\n /**Største filstørrelse */\n maxSize?: number;\n /**Tekst som leses opp av skjermleser på søppelbøtte-ikonet\n * @default \"Fjern fil\"\n */\n removeFileButtonDescription?: string;\n [key: string]: any;\n};\n\nexport const FileUpload: React.FC<FileUploadProps> = ({\n standbyText = 'Dra fil eller klikk for å laste opp',\n errorText = 'Feil ved opplasting av fil',\n successText = 'Opplasting fullført',\n errorUpload = false,\n onDrop,\n onDelete = file => console.log(file),\n accept = '',\n files = [],\n label,\n removeFileButtonDescription = 'Fjern fil',\n style,\n ...rest\n}) => {\n const { getRootProps, getInputProps, isDragActive, isDragReject } =\n useDropzone({\n onDrop,\n accept: accept,\n ...rest,\n });\n\n const success = files.length > 0;\n\n return (\n <div className=\"eds-file-upload__wrapper\" {...style}>\n <div className=\"eds-file-upload__input\" {...getRootProps()}>\n {label && <Label style={{ display: 'flex' }}>{label}</Label>}\n <input {...getInputProps()} />\n <span\n className={classNames(\n 'eds-file-upload__dropzone',\n {\n 'eds-file-upload__dropzone--success': success,\n },\n { 'eds-file-upload__dropzone--active': isDragActive },\n { 'eds-file-upload__dropzone--reject': isDragReject },\n { 'eds-file-upload__dropzone--error': errorUpload },\n )}\n >\n {success ? successText : errorUpload ? errorText : standbyText}\n </span>\n </div>\n <div className=\"eds-file-upload__file-list\">\n {files.map((file, index) => (\n <div className=\"eds-file-upload__file-name\" key={index}>\n <FileIcon\n aria-label=\"File icon\"\n className=\"eds-file-upload__file-name-icon\"\n />\n <span className=\"eds-field-upload__file-name-path\">\n {file.name} - {convertSizeToHuman(file.size)}{' '}\n </span>\n <IconButton\n onClick={() => onDelete(file)}\n type=\"button\"\n aria-label={`${removeFileButtonDescription}, ${file.name}`}\n >\n <DeleteIcon />\n </IconButton>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nfunction convertSizeToHuman(size: number) {\n if (size < 1000) {\n return size + 'bytes;';\n } else if (size < 1000000) {\n return `${size / 1000} KB`;\n } else {\n return `${(size / 1000000).toPrecision(4)} MB`;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('fileupload');\n\nexport * from './FileUpload';\n"],"names":["useDropzone","jsxs","Label","jsx","FileIcon","IconButton","DeleteIcon","warnAboutMissingStyles"],"mappings":";;;;;;;;;AA2DO,MAAM,aAAwC,CAAC;AAAA,EACpD,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd;AAAA,EACA,WAAW,CAAA,SAAQ,QAAQ,IAAI,IAAI;AAAA,EACnC,SAAS;AAAA,EACT,QAAQ,CAAA;AAAA,EACR;AAAA,EACA,8BAA8B;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,cAAc,eAAe,cAAc,aAAA,IACjDA,cAAAA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,CACJ;AAEH,QAAM,UAAU,MAAM,SAAS;AAE/B,SACEC,2BAAAA,KAAC,OAAA,EAAI,WAAU,4BAA4B,GAAG,OAC5C,UAAA;AAAA,IAAAA,2BAAAA,KAAC,OAAA,EAAI,WAAU,0BAA0B,GAAG,gBACzC,UAAA;AAAA,MAAA,wCAAUC,WAAAA,OAAA,EAAM,OAAO,EAAE,SAAS,OAAA,GAAW,UAAA,OAAM;AAAA,MACpDC,2BAAAA,IAAC,SAAA,EAAO,GAAG,cAAA,EAAc,CAAG;AAAA,MAC5BA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,sCAAsC;AAAA,YAAA;AAAA,YAExC,EAAE,qCAAqC,aAAA;AAAA,YACvC,EAAE,qCAAqC,aAAA;AAAA,YACvC,EAAE,oCAAoC,YAAA;AAAA,UAAY;AAAA,UAGnD,UAAA,UAAU,cAAc,cAAc,YAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACrD,GACF;AAAA,IACAA,2BAAAA,IAAC,OAAA,EAAI,WAAU,8BACZ,UAAA,MAAM,IAAI,CAAC,MAAM,UAChBF,2BAAAA,KAAC,OAAA,EAAI,WAAU,8BACb,UAAA;AAAA,MAAAE,2BAAAA;AAAAA,QAACC,MAAAA;AAAAA,QAAA;AAAA,UACC,cAAW;AAAA,UACX,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZH,2BAAAA,KAAC,QAAA,EAAK,WAAU,oCACb,UAAA;AAAA,QAAA,KAAK;AAAA,QAAK;AAAA,QAAI,mBAAmB,KAAK,IAAI;AAAA,QAAG;AAAA,MAAA,GAChD;AAAA,MACAE,2BAAAA;AAAAA,QAACE,OAAAA;AAAAA,QAAA;AAAA,UACC,SAAS,MAAM,SAAS,IAAI;AAAA,UAC5B,MAAK;AAAA,UACL,cAAY,GAAG,2BAA2B,KAAK,KAAK,IAAI;AAAA,UAExD,yCAACC,MAAAA,YAAA,CAAA,CAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IACd,EAAA,GAd+C,KAejD,CACD,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;AAEA,SAAS,mBAAmB,MAAc;AACxC,MAAI,OAAO,KAAM;AACf,WAAO,OAAO;AAAA,EAChB,WAAW,OAAO,KAAS;AACzB,WAAO,GAAG,OAAO,GAAI;AAAA,EACvB,OAAO;AACL,WAAO,IAAI,OAAO,KAAS,YAAY,CAAC,CAAC;AAAA,EAC3C;AACF;AClIAC,MAAAA,uBAAuB,YAAY;;"}
{"version":3,"file":"fileupload.cjs.js","sources":["../src/FileUpload.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n DropEvent,\n DropzoneOptions,\n FileRejection,\n useDropzone,\n} from 'react-dropzone';\nimport classNames from 'classnames';\n\nimport { DeleteIcon, FileIcon } from '@entur/icons';\nimport { IconButton } from '@entur/button';\nimport { Label } from '@entur/typography';\n\nimport './FileUpload.scss';\n\ntype FileUploadProps = DropzoneOptions & {\n /** Tekst som vises ved fullført opplasting\n * @default \"Opplasting fullført\"\n */\n successText?: string;\n /** Tekst som vises om opplasting feilet\n * @default \"Feil ved opplasting av fil\"\n */\n errorText?: string;\n /** Tekst som vises før man laster opp noe\n * @default \"Dra fil eller klikk for å laste opp\"\n */\n standbyText?: string;\n /** Boolean for hvis opplastingen feiler.\n * @default false\n */\n errorUpload?: boolean;\n /** Callback for når en fil legges til */\n onDrop?<T extends File>(\n acceptedFiles: T[],\n fileRejections: FileRejection[],\n event: DropEvent,\n ): void;\n /** Callback for når en fil slettes fra lista */\n onDelete?: (file: File) => void;\n /** Hvilken filtyper som skal aksepteres */\n accept?: string | string[];\n /** Filene som er aktive i komponenten */\n files: File[];\n /** Beskrivende tekst som forklarer feltet */\n label?: string;\n /** Mulighet for å laste opp flere filer */\n multiple?: boolean;\n /**Minste filstørrelse */\n minSize?: number;\n /**Største filstørrelse */\n maxSize?: number;\n /**Tekst som leses opp av skjermleser på søppelbøtte-ikonet\n * @default \"Fjern fil\"\n */\n removeFileButtonDescription?: string;\n [key: string]: any;\n};\n\nexport const FileUpload: React.FC<FileUploadProps> = ({\n standbyText = 'Dra fil eller klikk for å laste opp',\n errorText = 'Feil ved opplasting av fil',\n successText = 'Opplasting fullført',\n errorUpload = false,\n onDrop,\n onDelete = file => console.log(file),\n accept = '',\n files = [],\n label,\n removeFileButtonDescription = 'Fjern fil',\n style,\n ...rest\n}) => {\n const { getRootProps, getInputProps, isDragActive, isDragReject } =\n useDropzone({\n onDrop,\n accept: accept,\n ...rest,\n });\n\n const success = files.length > 0;\n\n return (\n <div className=\"eds-file-upload__wrapper\" {...style}>\n <div className=\"eds-file-upload__input\" {...getRootProps()}>\n {label && <Label style={{ display: 'flex' }}>{label}</Label>}\n <input {...getInputProps()} />\n <span\n className={classNames(\n 'eds-file-upload__dropzone',\n {\n 'eds-file-upload__dropzone--success': success,\n },\n { 'eds-file-upload__dropzone--active': isDragActive },\n { 'eds-file-upload__dropzone--reject': isDragReject },\n { 'eds-file-upload__dropzone--error': errorUpload },\n )}\n >\n {success ? successText : errorUpload ? errorText : standbyText}\n </span>\n </div>\n <div className=\"eds-file-upload__file-list\">\n {files.map((file, index) => (\n <div className=\"eds-file-upload__file-name\" key={index}>\n <FileIcon\n aria-label=\"File icon\"\n className=\"eds-file-upload__file-name-icon\"\n />\n <span className=\"eds-field-upload__file-name-path\">\n {file.name} - {convertSizeToHuman(file.size)}{' '}\n </span>\n <IconButton\n onClick={() => onDelete(file)}\n type=\"button\"\n aria-label={`${removeFileButtonDescription}, ${file.name}`}\n >\n <DeleteIcon />\n </IconButton>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nfunction convertSizeToHuman(size: number) {\n if (size < 1000) {\n return size + 'bytes;';\n } else if (size < 1000000) {\n return `${size / 1000} KB`;\n } else {\n return `${(size / 1000000).toPrecision(4)} MB`;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('fileupload');\n\nexport * from './FileUpload';\n"],"names":["useDropzone","jsxs","Label","jsx","FileIcon","IconButton","DeleteIcon","warnAboutMissingStyles"],"mappings":";;;;;;;;;AA2DO,MAAM,aAAwC,CAAC;AAAA,EACpD,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd;AAAA,EACA,WAAW,CAAA,SAAQ,QAAQ,IAAI,IAAI;AAAA,EACnC,SAAS;AAAA,EACT,QAAQ,CAAA;AAAA,EACR;AAAA,EACA,8BAA8B;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,cAAc,eAAe,cAAc,aAAA,IACjDA,cAAAA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,CACJ;AAEH,QAAM,UAAU,MAAM,SAAS;AAE/B,SACEC,2BAAAA,KAAC,OAAA,EAAI,WAAU,4BAA4B,GAAG,OAC5C,UAAA;AAAA,IAAAA,2BAAAA,KAAC,OAAA,EAAI,WAAU,0BAA0B,GAAG,gBACzC,UAAA;AAAA,MAAA,wCAAUC,WAAAA,OAAA,EAAM,OAAO,EAAE,SAAS,OAAA,GAAW,UAAA,OAAM;AAAA,MACpDC,2BAAAA,IAAC,SAAA,EAAO,GAAG,cAAA,EAAc,CAAG;AAAA,MAC5BA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,sCAAsC;AAAA,YAAA;AAAA,YAExC,EAAE,qCAAqC,aAAA;AAAA,YACvC,EAAE,qCAAqC,aAAA;AAAA,YACvC,EAAE,oCAAoC,YAAA;AAAA,UAAY;AAAA,UAGnD,UAAA,UAAU,cAAc,cAAc,YAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACrD,GACF;AAAA,IACAA,2BAAAA,IAAC,OAAA,EAAI,WAAU,8BACZ,UAAA,MAAM,IAAI,CAAC,MAAM,UAChBF,2BAAAA,KAAC,OAAA,EAAI,WAAU,8BACb,UAAA;AAAA,MAAAE,2BAAAA;AAAAA,QAACC,MAAAA;AAAAA,QAAA;AAAA,UACC,cAAW;AAAA,UACX,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZH,2BAAAA,KAAC,QAAA,EAAK,WAAU,oCACb,UAAA;AAAA,QAAA,KAAK;AAAA,QAAK;AAAA,QAAI,mBAAmB,KAAK,IAAI;AAAA,QAAG;AAAA,MAAA,GAChD;AAAA,MACAE,2BAAAA;AAAAA,QAACE,OAAAA;AAAAA,QAAA;AAAA,UACC,SAAS,MAAM,SAAS,IAAI;AAAA,UAC5B,MAAK;AAAA,UACL,cAAY,GAAG,2BAA2B,KAAK,KAAK,IAAI;AAAA,UAExD,yCAACC,MAAAA,YAAA,CAAA,CAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IACd,EAAA,GAd+C,KAejD,CACD,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;AAEA,SAAS,mBAAmB,MAAc;AACxC,MAAI,OAAO,KAAM;AACf,WAAO,OAAO;AAAA,EAChB,WAAW,OAAO,KAAS;AACzB,WAAO,GAAG,OAAO,GAAI;AAAA,EACvB,OAAO;AACL,WAAO,IAAI,OAAO,KAAS,YAAY,CAAC,CAAC;AAAA,EAC3C;AACF;AClIAC,MAAAA,uBAAuB,YAAY;;"}
import { default as React } from 'react';
import { DropzoneOptions, FileRejection, DropEvent } from 'react-dropzone';
import { DropEvent, DropzoneOptions, FileRejection } from 'react-dropzone';
type FileUploadProps = DropzoneOptions & {

@@ -4,0 +4,0 @@ /** Tekst som vises ved fullført opplasting

@@ -1,1 +0,1 @@

{"version":3,"file":"fileupload.esm.js","sources":["../src/FileUpload.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n useDropzone,\n DropzoneOptions,\n FileRejection,\n DropEvent,\n} from 'react-dropzone';\nimport classNames from 'classnames';\n\nimport { FileIcon, DeleteIcon } from '@entur/icons';\nimport { IconButton } from '@entur/button';\nimport { Label } from '@entur/typography';\n\nimport './FileUpload.scss';\n\ntype FileUploadProps = DropzoneOptions & {\n /** Tekst som vises ved fullført opplasting\n * @default \"Opplasting fullført\"\n */\n successText?: string;\n /** Tekst som vises om opplasting feilet\n * @default \"Feil ved opplasting av fil\"\n */\n errorText?: string;\n /** Tekst som vises før man laster opp noe\n * @default \"Dra fil eller klikk for å laste opp\"\n */\n standbyText?: string;\n /** Boolean for hvis opplastingen feiler.\n * @default false\n */\n errorUpload?: boolean;\n /** Callback for når en fil legges til */\n onDrop?<T extends File>(\n acceptedFiles: T[],\n fileRejections: FileRejection[],\n event: DropEvent,\n ): void;\n /** Callback for når en fil slettes fra lista */\n onDelete?: (file: File) => void;\n /** Hvilken filtyper som skal aksepteres */\n accept?: string | string[];\n /** Filene som er aktive i komponenten */\n files: File[];\n /** Beskrivende tekst som forklarer feltet */\n label?: string;\n /** Mulighet for å laste opp flere filer */\n multiple?: boolean;\n /**Minste filstørrelse */\n minSize?: number;\n /**Største filstørrelse */\n maxSize?: number;\n /**Tekst som leses opp av skjermleser på søppelbøtte-ikonet\n * @default \"Fjern fil\"\n */\n removeFileButtonDescription?: string;\n [key: string]: any;\n};\n\nexport const FileUpload: React.FC<FileUploadProps> = ({\n standbyText = 'Dra fil eller klikk for å laste opp',\n errorText = 'Feil ved opplasting av fil',\n successText = 'Opplasting fullført',\n errorUpload = false,\n onDrop,\n onDelete = file => console.log(file),\n accept = '',\n files = [],\n label,\n removeFileButtonDescription = 'Fjern fil',\n style,\n ...rest\n}) => {\n const { getRootProps, getInputProps, isDragActive, isDragReject } =\n useDropzone({\n onDrop,\n accept: accept,\n ...rest,\n });\n\n const success = files.length > 0;\n\n return (\n <div className=\"eds-file-upload__wrapper\" {...style}>\n <div className=\"eds-file-upload__input\" {...getRootProps()}>\n {label && <Label style={{ display: 'flex' }}>{label}</Label>}\n <input {...getInputProps()} />\n <span\n className={classNames(\n 'eds-file-upload__dropzone',\n {\n 'eds-file-upload__dropzone--success': success,\n },\n { 'eds-file-upload__dropzone--active': isDragActive },\n { 'eds-file-upload__dropzone--reject': isDragReject },\n { 'eds-file-upload__dropzone--error': errorUpload },\n )}\n >\n {success ? successText : errorUpload ? errorText : standbyText}\n </span>\n </div>\n <div className=\"eds-file-upload__file-list\">\n {files.map((file, index) => (\n <div className=\"eds-file-upload__file-name\" key={index}>\n <FileIcon\n aria-label=\"File icon\"\n className=\"eds-file-upload__file-name-icon\"\n />\n <span className=\"eds-field-upload__file-name-path\">\n {file.name} - {convertSizeToHuman(file.size)}{' '}\n </span>\n <IconButton\n onClick={() => onDelete(file)}\n type=\"button\"\n aria-label={`${removeFileButtonDescription}, ${file.name}`}\n >\n <DeleteIcon />\n </IconButton>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nfunction convertSizeToHuman(size: number) {\n if (size < 1000) {\n return size + 'bytes;';\n } else if (size < 1000000) {\n return `${size / 1000} KB`;\n } else {\n return `${(size / 1000000).toPrecision(4)} MB`;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('fileupload');\n\nexport * from './FileUpload';\n"],"names":[],"mappings":";;;;;;;AA2DO,MAAM,aAAwC,CAAC;AAAA,EACpD,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd;AAAA,EACA,WAAW,CAAA,SAAQ,QAAQ,IAAI,IAAI;AAAA,EACnC,SAAS;AAAA,EACT,QAAQ,CAAA;AAAA,EACR;AAAA,EACA,8BAA8B;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,cAAc,eAAe,cAAc,aAAA,IACjD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,CACJ;AAEH,QAAM,UAAU,MAAM,SAAS;AAE/B,SACE,qBAAC,OAAA,EAAI,WAAU,4BAA4B,GAAG,OAC5C,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,0BAA0B,GAAG,gBACzC,UAAA;AAAA,MAAA,6BAAU,OAAA,EAAM,OAAO,EAAE,SAAS,OAAA,GAAW,UAAA,OAAM;AAAA,MACpD,oBAAC,SAAA,EAAO,GAAG,cAAA,EAAc,CAAG;AAAA,MAC5B;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,sCAAsC;AAAA,YAAA;AAAA,YAExC,EAAE,qCAAqC,aAAA;AAAA,YACvC,EAAE,qCAAqC,aAAA;AAAA,YACvC,EAAE,oCAAoC,YAAA;AAAA,UAAY;AAAA,UAGnD,UAAA,UAAU,cAAc,cAAc,YAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACrD,GACF;AAAA,IACA,oBAAC,OAAA,EAAI,WAAU,8BACZ,UAAA,MAAM,IAAI,CAAC,MAAM,UAChB,qBAAC,OAAA,EAAI,WAAU,8BACb,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,cAAW;AAAA,UACX,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZ,qBAAC,QAAA,EAAK,WAAU,oCACb,UAAA;AAAA,QAAA,KAAK;AAAA,QAAK;AAAA,QAAI,mBAAmB,KAAK,IAAI;AAAA,QAAG;AAAA,MAAA,GAChD;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAS,MAAM,SAAS,IAAI;AAAA,UAC5B,MAAK;AAAA,UACL,cAAY,GAAG,2BAA2B,KAAK,KAAK,IAAI;AAAA,UAExD,8BAAC,YAAA,CAAA,CAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IACd,EAAA,GAd+C,KAejD,CACD,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;AAEA,SAAS,mBAAmB,MAAc;AACxC,MAAI,OAAO,KAAM;AACf,WAAO,OAAO;AAAA,EAChB,WAAW,OAAO,KAAS;AACzB,WAAO,GAAG,OAAO,GAAI;AAAA,EACvB,OAAO;AACL,WAAO,IAAI,OAAO,KAAS,YAAY,CAAC,CAAC;AAAA,EAC3C;AACF;AClIA,uBAAuB,YAAY;"}
{"version":3,"file":"fileupload.esm.js","sources":["../src/FileUpload.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n DropEvent,\n DropzoneOptions,\n FileRejection,\n useDropzone,\n} from 'react-dropzone';\nimport classNames from 'classnames';\n\nimport { DeleteIcon, FileIcon } from '@entur/icons';\nimport { IconButton } from '@entur/button';\nimport { Label } from '@entur/typography';\n\nimport './FileUpload.scss';\n\ntype FileUploadProps = DropzoneOptions & {\n /** Tekst som vises ved fullført opplasting\n * @default \"Opplasting fullført\"\n */\n successText?: string;\n /** Tekst som vises om opplasting feilet\n * @default \"Feil ved opplasting av fil\"\n */\n errorText?: string;\n /** Tekst som vises før man laster opp noe\n * @default \"Dra fil eller klikk for å laste opp\"\n */\n standbyText?: string;\n /** Boolean for hvis opplastingen feiler.\n * @default false\n */\n errorUpload?: boolean;\n /** Callback for når en fil legges til */\n onDrop?<T extends File>(\n acceptedFiles: T[],\n fileRejections: FileRejection[],\n event: DropEvent,\n ): void;\n /** Callback for når en fil slettes fra lista */\n onDelete?: (file: File) => void;\n /** Hvilken filtyper som skal aksepteres */\n accept?: string | string[];\n /** Filene som er aktive i komponenten */\n files: File[];\n /** Beskrivende tekst som forklarer feltet */\n label?: string;\n /** Mulighet for å laste opp flere filer */\n multiple?: boolean;\n /**Minste filstørrelse */\n minSize?: number;\n /**Største filstørrelse */\n maxSize?: number;\n /**Tekst som leses opp av skjermleser på søppelbøtte-ikonet\n * @default \"Fjern fil\"\n */\n removeFileButtonDescription?: string;\n [key: string]: any;\n};\n\nexport const FileUpload: React.FC<FileUploadProps> = ({\n standbyText = 'Dra fil eller klikk for å laste opp',\n errorText = 'Feil ved opplasting av fil',\n successText = 'Opplasting fullført',\n errorUpload = false,\n onDrop,\n onDelete = file => console.log(file),\n accept = '',\n files = [],\n label,\n removeFileButtonDescription = 'Fjern fil',\n style,\n ...rest\n}) => {\n const { getRootProps, getInputProps, isDragActive, isDragReject } =\n useDropzone({\n onDrop,\n accept: accept,\n ...rest,\n });\n\n const success = files.length > 0;\n\n return (\n <div className=\"eds-file-upload__wrapper\" {...style}>\n <div className=\"eds-file-upload__input\" {...getRootProps()}>\n {label && <Label style={{ display: 'flex' }}>{label}</Label>}\n <input {...getInputProps()} />\n <span\n className={classNames(\n 'eds-file-upload__dropzone',\n {\n 'eds-file-upload__dropzone--success': success,\n },\n { 'eds-file-upload__dropzone--active': isDragActive },\n { 'eds-file-upload__dropzone--reject': isDragReject },\n { 'eds-file-upload__dropzone--error': errorUpload },\n )}\n >\n {success ? successText : errorUpload ? errorText : standbyText}\n </span>\n </div>\n <div className=\"eds-file-upload__file-list\">\n {files.map((file, index) => (\n <div className=\"eds-file-upload__file-name\" key={index}>\n <FileIcon\n aria-label=\"File icon\"\n className=\"eds-file-upload__file-name-icon\"\n />\n <span className=\"eds-field-upload__file-name-path\">\n {file.name} - {convertSizeToHuman(file.size)}{' '}\n </span>\n <IconButton\n onClick={() => onDelete(file)}\n type=\"button\"\n aria-label={`${removeFileButtonDescription}, ${file.name}`}\n >\n <DeleteIcon />\n </IconButton>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nfunction convertSizeToHuman(size: number) {\n if (size < 1000) {\n return size + 'bytes;';\n } else if (size < 1000000) {\n return `${size / 1000} KB`;\n } else {\n return `${(size / 1000000).toPrecision(4)} MB`;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('fileupload');\n\nexport * from './FileUpload';\n"],"names":[],"mappings":";;;;;;;AA2DO,MAAM,aAAwC,CAAC;AAAA,EACpD,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd;AAAA,EACA,WAAW,CAAA,SAAQ,QAAQ,IAAI,IAAI;AAAA,EACnC,SAAS;AAAA,EACT,QAAQ,CAAA;AAAA,EACR;AAAA,EACA,8BAA8B;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,cAAc,eAAe,cAAc,aAAA,IACjD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,CACJ;AAEH,QAAM,UAAU,MAAM,SAAS;AAE/B,SACE,qBAAC,OAAA,EAAI,WAAU,4BAA4B,GAAG,OAC5C,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,0BAA0B,GAAG,gBACzC,UAAA;AAAA,MAAA,6BAAU,OAAA,EAAM,OAAO,EAAE,SAAS,OAAA,GAAW,UAAA,OAAM;AAAA,MACpD,oBAAC,SAAA,EAAO,GAAG,cAAA,EAAc,CAAG;AAAA,MAC5B;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,sCAAsC;AAAA,YAAA;AAAA,YAExC,EAAE,qCAAqC,aAAA;AAAA,YACvC,EAAE,qCAAqC,aAAA;AAAA,YACvC,EAAE,oCAAoC,YAAA;AAAA,UAAY;AAAA,UAGnD,UAAA,UAAU,cAAc,cAAc,YAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACrD,GACF;AAAA,IACA,oBAAC,OAAA,EAAI,WAAU,8BACZ,UAAA,MAAM,IAAI,CAAC,MAAM,UAChB,qBAAC,OAAA,EAAI,WAAU,8BACb,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,cAAW;AAAA,UACX,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZ,qBAAC,QAAA,EAAK,WAAU,oCACb,UAAA;AAAA,QAAA,KAAK;AAAA,QAAK;AAAA,QAAI,mBAAmB,KAAK,IAAI;AAAA,QAAG;AAAA,MAAA,GAChD;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAS,MAAM,SAAS,IAAI;AAAA,UAC5B,MAAK;AAAA,UACL,cAAY,GAAG,2BAA2B,KAAK,KAAK,IAAI;AAAA,UAExD,8BAAC,YAAA,CAAA,CAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IACd,EAAA,GAd+C,KAejD,CACD,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;AAEA,SAAS,mBAAmB,MAAc;AACxC,MAAI,OAAO,KAAM;AACf,WAAO,OAAO;AAAA,EAChB,WAAW,OAAO,KAAS;AACzB,WAAO,GAAG,OAAO,GAAI;AAAA,EACvB,OAAO;AACL,WAAO,IAAI,OAAO,KAAS,YAAY,CAAC,CAAC;AAAA,EAC3C;AACF;AClIA,uBAAuB,YAAY;"}
{
"name": "@entur/fileupload",
"version": "0.5.6",
"version": "0.5.7",
"license": "EUPL-1.2",

@@ -22,4 +22,3 @@ "main": "dist/fileupload.cjs.js",

"build": "vite build",
"test": "jest",
"lint": "eslint src"
"test": "jest"
},

@@ -31,8 +30,8 @@ "peerDependencies": {

"dependencies": {
"@entur/a11y": "^0.2.108",
"@entur/button": "^4.0.4",
"@entur/icons": "^8.4.4",
"@entur/tokens": "^3.22.3",
"@entur/typography": "^2.1.5",
"@entur/utils": "^0.13.2",
"@entur/a11y": "^0.2.109",
"@entur/button": "^4.0.5",
"@entur/icons": "^8.4.5",
"@entur/tokens": "^3.22.4",
"@entur/typography": "^2.1.6",
"@entur/utils": "^0.13.3",
"classnames": "^2.5.1",

@@ -46,3 +45,2 @@ "react-dropzone": "^11.7.1"

"@vitejs/plugin-react": "^5.0.1",
"eslint": "^7.32.0",
"jest": "^29.0.0",

@@ -55,3 +53,3 @@ "jest-environment-jsdom": "^29.0.0",

},
"gitHead": "9ac8be0952badd4043470e47e50992369ada2c11"
"gitHead": "f103a7b4fef3dc0ce47ce4b0e06a8d4062ba1cc5"
}