{"version":3,"file":"MediaLibraryDialog.mjs","sources":["../../../../admin/src/components/MediaLibraryDialog/MediaLibraryDialog.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { AssetDialog } from '../AssetDialog/AssetDialog';\nimport { EditFolderDialog } from '../EditFolderDialog/EditFolderDialog';\nimport { UploadAssetDialog } from '../UploadAssetDialog/UploadAssetDialog';\n\nconst STEPS = {\n  AssetSelect: 'SelectAsset',\n  AssetUpload: 'UploadAsset',\n  FolderCreate: 'FolderCreate',\n};\n\nimport type { File } from '../../../../shared/contracts/files';\nimport type { AllowedTypes } from '../AssetCard/AssetCard';\nexport interface MediaLibraryDialogProps {\n  allowedTypes?: AllowedTypes[];\n  multiple?: boolean;\n  onClose: () => void;\n  onSelectAssets: (selectedAssets: File[]) => void;\n}\n\nexport const MediaLibraryDialog = ({\n  onClose,\n  onSelectAssets,\n  allowedTypes = ['files', 'images', 'videos', 'audios'],\n  multiple = true,\n}: MediaLibraryDialogProps) => {\n  const [step, setStep] = React.useState(STEPS.AssetSelect);\n  const [folderId, setFolderId] = React.useState<number | null>(null);\n\n  switch (step) {\n    case STEPS.AssetSelect:\n      return (\n        <AssetDialog\n          allowedTypes={allowedTypes}\n          folderId={folderId}\n          open\n          onClose={onClose}\n          onValidate={onSelectAssets}\n          onAddAsset={() => setStep(STEPS.AssetUpload)}\n          onAddFolder={() => setStep(STEPS.FolderCreate)}\n          onChangeFolder={(folderId) => setFolderId(folderId)}\n          multiple={multiple}\n        />\n      );\n\n    case STEPS.FolderCreate:\n      return (\n        <EditFolderDialog\n          open\n          onClose={() => setStep(STEPS.AssetSelect)}\n          parentFolderId={folderId}\n        />\n      );\n\n    default:\n      return (\n        <UploadAssetDialog open onClose={() => setStep(STEPS.AssetSelect)} folderId={folderId} />\n      );\n  }\n};\n"],"names":["STEPS","AssetSelect","AssetUpload","FolderCreate","MediaLibraryDialog","onClose","onSelectAssets","allowedTypes","multiple","step","setStep","React","useState","folderId","setFolderId","_jsx","AssetDialog","open","onValidate","onAddAsset","onAddFolder","onChangeFolder","EditFolderDialog","parentFolderId","UploadAssetDialog"],"mappings":";;;;;;AAAA;AAOA,MAAMA,KAAAA,GAAQ;IACZC,WAAAA,EAAa,aAAA;IACbC,WAAAA,EAAa,aAAA;IACbC,YAAAA,EAAc;AAChB,CAAA;AAWO,MAAMC,qBAAqB,CAAC,EACjCC,OAAO,EACPC,cAAc,EACdC,YAAAA,GAAe;AAAC,IAAA,OAAA;AAAS,IAAA,QAAA;AAAU,IAAA,QAAA;AAAU,IAAA;CAAS,EACtDC,QAAAA,GAAW,IAAI,EACS,GAAA;IACxB,MAAM,CAACC,MAAMC,OAAAA,CAAQ,GAAGC,MAAMC,QAAQ,CAACZ,MAAMC,WAAW,CAAA;AACxD,IAAA,MAAM,CAACY,QAAAA,EAAUC,WAAAA,CAAY,GAAGH,KAAAA,CAAMC,QAAQ,CAAgB,IAAA,CAAA;IAE9D,OAAQH,IAAAA;AACN,QAAA,KAAKT,MAAMC,WAAW;AACpB,YAAA,qBACEc,GAAA,CAACC,WAAAA,EAAAA;gBACCT,YAAAA,EAAcA,YAAAA;gBACdM,QAAAA,EAAUA,QAAAA;gBACVI,IAAI,EAAA,IAAA;gBACJZ,OAAAA,EAASA,OAAAA;gBACTa,UAAAA,EAAYZ,cAAAA;gBACZa,UAAAA,EAAY,IAAMT,OAAAA,CAAQV,KAAAA,CAAME,WAAW,CAAA;gBAC3CkB,WAAAA,EAAa,IAAMV,OAAAA,CAAQV,KAAAA,CAAMG,YAAY,CAAA;gBAC7CkB,cAAAA,EAAgB,CAACR,WAAaC,WAAAA,CAAYD,QAAAA,CAAAA;gBAC1CL,QAAAA,EAAUA;;AAIhB,QAAA,KAAKR,MAAMG,YAAY;AACrB,YAAA,qBACEY,GAAA,CAACO,gBAAAA,EAAAA;gBACCL,IAAI,EAAA,IAAA;gBACJZ,OAAAA,EAAS,IAAMK,OAAAA,CAAQV,KAAAA,CAAMC,WAAW,CAAA;gBACxCsB,cAAAA,EAAgBV;;AAItB,QAAA;AACE,YAAA,qBACEE,GAAA,CAACS,iBAAAA,EAAAA;gBAAkBP,IAAI,EAAA,IAAA;gBAACZ,OAAAA,EAAS,IAAMK,OAAAA,CAAQV,KAAAA,CAAMC,WAAW,CAAA;gBAAGY,QAAAA,EAAUA;;AAEnF;AACF;;;;"}