{"version":3,"file":"validateFileInputFiles.cjs","sources":["../../../../../src/components/file-input/internal/validateFileInputFiles.ts"],"sourcesContent":["import { formatBytes } from \"../../../utilities/formatters/bytes/formatBytes.js\";\nimport type { UploadedFile } from \"../types.js\";\n\nexport function validateFileInputFiles(\n    file: File,\n    accept = \"\",\n    maxSizeBytes?: number,\n): UploadedFile[\"validation\"] | undefined {\n    const acceptStrings = accept\n        .split(\",\")\n        .map((s) => s.toLowerCase())\n        .map((s) => s.replaceAll(\"*\", \"\"))\n        .map((s) => s.trim());\n\n    let isValidFormat = acceptStrings.length === 0;\n\n    isValidFormat = acceptStrings.some(\n        (acceptString) =>\n            file.type.toLowerCase().includes(acceptString) ||\n            file.name.toLowerCase().endsWith(acceptString),\n    );\n\n    if (!isValidFormat) {\n        return {\n            type: \"WRONG_TYPE\",\n            message: `Filtypen ${file.name?.split(\".\")[1] || \"\"} støttes ikke`,\n        };\n    }\n\n    if (typeof maxSizeBytes !== \"undefined\" && file.size > maxSizeBytes) {\n        return {\n            type: \"TOO_LARGE\",\n            message: `Filen er ${formatBytes(\n                file.size,\n            )}, men kan maksimalt være ${formatBytes(maxSizeBytes)}`,\n        };\n    }\n\n    return undefined;\n}\n"],"names":["file","accept","maxSizeBytes","acceptStrings","split","map","s","toLowerCase","replaceAll","trim","isValidFormat","length","some","acceptString","type","includes","name","endsWith","size","message","formatBytes"],"mappings":"sLAGO,SACHA,EACAC,EAAS,GACTC,GAEA,MAAMC,EAAgBF,EACjBG,MAAM,KACNC,IAAKC,GAAMA,EAAEC,eACbF,IAAKC,GAAMA,EAAEE,WAAW,IAAK,KAC7BH,IAAKC,GAAMA,EAAEG,QAElB,IAAIC,EAAyC,IAAzBP,EAAcQ,OAQlC,OANAD,EAAgBP,EAAcS,KACzBC,GACGb,EAAKc,KAAKP,cAAcQ,SAASF,IACjCb,EAAKgB,KAAKT,cAAcU,SAASJ,IAGpCH,SAOMR,EAAiB,KAAeF,EAAKkB,KAAOhB,EAC5C,CACHY,KAAM,YACNK,QAAS,YAAYC,EAAAA,YACjBpB,EAAKkB,iCACoBE,cAAYlB,WALjD,EANW,CACHY,KAAM,aACNK,QAAS,YAAYnB,EAAKgB,MAAMZ,MAAM,KAAK,IAAM,kBAc7D"}