{
  "version": 3,
  "sources": ["../../../src/file/LmFile.tsx"],
  "sourcesContent": ["import { ListItem, Stack, XStack } from 'tamagui'\nimport { useState } from 'react'\nimport { LmFileProps } from './filePickerTypes'\nimport { DocumentResult } from 'expo-document-picker'\nimport { LmFilePicker } from './LmFilePicker'\nimport { LmButton } from '../core/form'\n\nexport function LmFile({\n  pickerButtonProps = { label: 'Pick File' },\n  uploadButtonProps = { label: 'Upload' },\n  onUpload,\n  containerProps,\n  directUpload,\n  cancelButtonProps = { label: 'Cancel' },\n}: LmFileProps) {\n  const [result, setFiles] = useState<DocumentResult | null>(null)\n  const [isUploading, setUploading] = useState(false)\n  const upload = async (res: DocumentResult) => {\n    setUploading(true)\n    await onUpload(res)\n    setUploading(false)\n  }\n  return (\n    <Stack {...containerProps}>\n      {result?.type === 'success' &&\n        Array.from(result.output ?? []).map((file: File) => (\n          <ListItem title={file.name} subTitle={file.type} key={file.name + file.size} />\n        ))}\n      {result?.type === 'success' ? (\n        <XStack space={1}>\n          <LmButton\n            {...cancelButtonProps}\n            onPress={() => {\n              setFiles(null)\n            }}\n          >\n            {cancelButtonProps?.label}\n          </LmButton>\n          <LmButton {...uploadButtonProps} loading={isUploading} onPress={() => upload(result)}>\n            {uploadButtonProps.label}\n          </LmButton>\n        </XStack>\n      ) : (\n        <LmFilePicker\n          {...pickerButtonProps}\n          onChange={(files) => {\n            if (directUpload) {\n              return upload(files)\n            } else {\n              setFiles(files)\n            }\n          }}\n        />\n      )}\n    </Stack>\n  )\n}\n"],
  "mappings": "AAAA,SAAS,UAAU,OAAO,cAAc;AACxC,SAAS,gBAAgB;AAGzB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AAElB,SAAS,OAAO;AAAA,EACrB,oBAAoB,EAAE,OAAO,YAAY;AAAA,EACzC,oBAAoB,EAAE,OAAO,SAAS;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB,EAAE,OAAO,SAAS;AACxC,GAAgB;AACd,QAAM,CAAC,QAAQ,QAAQ,IAAI,SAAgC,IAAI;AAC/D,QAAM,CAAC,aAAa,YAAY,IAAI,SAAS,KAAK;AAClD,QAAM,SAAS,OAAO,QAAwB;AAC5C,iBAAa,IAAI;AACjB,UAAM,SAAS,GAAG;AAClB,iBAAa,KAAK;AAAA,EACpB;AACA,SACE,CAAC,UAAU;AAAA,MACR,iCAAQ,UAAS,aAChB,MAAM,KAAK,OAAO,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,SACnC,CAAC,SAAS,OAAO,KAAK,MAAM,UAAU,KAAK,MAAM,KAAK,KAAK,OAAO,KAAK,MAAM,EAC9E;AAAA,MACF,iCAAQ,UAAS,YAChB,CAAC,OAAO,OAAO;AAAA,MACb,CAAC,aACK,mBACJ,SAAS,MAAM;AACb,iBAAS,IAAI;AAAA,MACf,IAEC,uDAAmB,MACtB,EAPC;AAAA,MAQD,CAAC,aAAa,mBAAmB,SAAS,aAAa,SAAS,MAAM,OAAO,MAAM,IAChF,kBAAkB,MACrB,EAFC;AAAA,IAGH,EAZC,UAcD,CAAC,iBACK,mBACJ,UAAU,CAAC,UAAU;AACnB,UAAI,cAAc;AAChB,eAAO,OAAO,KAAK;AAAA,MACrB,OAAO;AACL,iBAAS,KAAK;AAAA,MAChB;AAAA,IACF,GACF;AAAA,EAEJ,EA/BC;AAiCL;",
  "names": []
}
