{"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  onClose: () => void;\n  onSelectAssets: (selectedAssets: File[]) => void;\n}\n\nexport const MediaLibraryDialog = ({\n  onClose,\n  onSelectAssets,\n  allowedTypes = ['files', 'images', 'videos', 'audios'],\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\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","step","setStep","React","useState","folderId","setFolderId","_jsx","AssetDialog","open","onValidate","onAddAsset","onAddFolder","onChangeFolder","multiple","EditFolderDialog","parentFolderId","UploadAssetDialog"],"mappings":";;;;;;AAAA;AAOA,MAAMA,KAAQ,GAAA;IACZC,WAAa,EAAA,aAAA;IACbC,WAAa,EAAA,aAAA;IACbC,YAAc,EAAA;AAChB,CAAA;AAUO,MAAMC,qBAAqB,CAAC,EACjCC,OAAO,EACPC,cAAc,EACdC,YAAe,GAAA;AAAC,IAAA,OAAA;AAAS,IAAA,QAAA;AAAU,IAAA,QAAA;AAAU,IAAA;CAAS,EAC9B,GAAA;IACxB,MAAM,CAACC,MAAMC,OAAQ,CAAA,GAAGC,MAAMC,QAAQ,CAACX,MAAMC,WAAW,CAAA;AACxD,IAAA,MAAM,CAACW,QAAUC,EAAAA,WAAAA,CAAY,GAAGH,KAAAA,CAAMC,QAAQ,CAAgB,IAAA,CAAA;IAE9D,OAAQH,IAAAA;AACN,QAAA,KAAKR,MAAMC,WAAW;AACpB,YAAA,qBACEa,GAACC,CAAAA,WAAAA,EAAAA;gBACCR,YAAcA,EAAAA,YAAAA;gBACdK,QAAUA,EAAAA,QAAAA;gBACVI,IAAI,EAAA,IAAA;gBACJX,OAASA,EAAAA,OAAAA;gBACTY,UAAYX,EAAAA,cAAAA;gBACZY,UAAY,EAAA,IAAMT,OAAQT,CAAAA,KAAAA,CAAME,WAAW,CAAA;gBAC3CiB,WAAa,EAAA,IAAMV,OAAQT,CAAAA,KAAAA,CAAMG,YAAY,CAAA;gBAC7CiB,cAAgB,EAAA,CAACR,WAAaC,WAAYD,CAAAA,QAAAA,CAAAA;gBAC1CS,QAAQ,EAAA;;AAId,QAAA,KAAKrB,MAAMG,YAAY;AACrB,YAAA,qBACEW,GAACQ,CAAAA,gBAAAA,EAAAA;gBACCN,IAAI,EAAA,IAAA;gBACJX,OAAS,EAAA,IAAMI,OAAQT,CAAAA,KAAAA,CAAMC,WAAW,CAAA;gBACxCsB,cAAgBX,EAAAA;;AAItB,QAAA;AACE,YAAA,qBACEE,GAACU,CAAAA,iBAAAA,EAAAA;gBAAkBR,IAAI,EAAA,IAAA;gBAACX,OAAS,EAAA,IAAMI,OAAQT,CAAAA,KAAAA,CAAMC,WAAW,CAAA;gBAAGW,QAAUA,EAAAA;;AAEnF;AACF;;;;"}