{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { Images, WarningCircle } from '@strapi/icons';\n\nimport pluginPkg from '../../package.json';\n\nimport { MediaLibraryDialog } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport { MediaLibraryInput } from './components/MediaLibraryInput/MediaLibraryInput';\nimport { PERMISSIONS } from './constants';\nimport { UploadProgressDialog } from './future/components/UploadProgressDialog';\nimport { uploadProgressReducer } from './future/store/uploadProgress';\nimport { pluginId } from './pluginId';\nimport { getTrad, prefixPluginTranslations } from './utils';\n\nimport type { MediaLibraryDialogProps } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport type { MediaLibraryInputProps } from './components/MediaLibraryInput/MediaLibraryInput';\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst name = pluginPkg.strapi.name;\n\nconst admin: Plugin.Config.AdminInput = {\n  register(app: StrapiApp) {\n    app.addMenuLink({\n      to: `plugins/${pluginId}`,\n      icon: Images,\n      intlLabel: {\n        id: `${pluginId}.plugin.name`,\n        defaultMessage: 'Media Library',\n      },\n      permissions: PERMISSIONS.main,\n      Component: () => {\n        return import('./pages/App/App').then((mod) => ({ default: mod.Upload }));\n      },\n      position: 4,\n    });\n\n    if (window.strapi.future.isEnabled('unstableMediaLibrary')) {\n      app.addReducers({ uploadProgress: uploadProgressReducer });\n\n      app.addComponents([\n        {\n          name: 'future-global::upload-progress',\n          Component: UploadProgressDialog,\n        },\n      ]);\n\n      app.addMenuLink({\n        to: `plugins/unstable-${pluginId}`,\n        icon: WarningCircle,\n        intlLabel: {\n          id: `${pluginId}.plugin.name`,\n          defaultMessage: 'Media Library',\n        },\n        permissions: PERMISSIONS.main,\n        Component: () => {\n          return import('./future/App').then((mod) => ({\n            default: mod.UnstableMediaLibrary,\n          }));\n        },\n        position: 5,\n      });\n    }\n\n    app.addSettingsLink('global', {\n      id: 'media-library-settings',\n      to: 'media-library',\n      intlLabel: {\n        id: getTrad('plugin.name'),\n        defaultMessage: 'Media Library',\n      },\n      Component() {\n        return import('./pages/SettingsPage/SettingsPage').then((mod) => ({\n          default: mod.ProtectedSettingsPage,\n        }));\n      },\n      permissions: PERMISSIONS.settings,\n    });\n\n    app.addFields({\n      type: 'media',\n      Component: MediaLibraryInput as React.FC<Partial<MediaLibraryInputProps>>,\n    });\n    app.addComponents([\n      {\n        name: 'media-library',\n        Component: MediaLibraryDialog as React.FC<Partial<MediaLibraryDialogProps>>,\n      },\n    ]);\n\n    app.registerPlugin({\n      id: pluginId,\n      name,\n    });\n  },\n  async registerTrads({ locales }: { locales: string[] }) {\n    const importedTrads = await Promise.all(\n      locales.map((locale) => {\n        return import(`./translations/${locale}.json`)\n          .then(({ default: data }) => {\n            return {\n              data: prefixPluginTranslations(data, pluginId),\n              locale,\n            };\n          })\n          .catch(() => {\n            return {\n              data: {},\n              locale,\n            };\n          });\n      })\n    );\n\n    return Promise.resolve(importedTrads);\n  },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["name","pluginPkg","strapi","admin","register","app","addMenuLink","to","pluginId","icon","Images","intlLabel","id","defaultMessage","permissions","PERMISSIONS","main","Component","then","mod","default","Upload","position","window","future","isEnabled","addReducers","uploadProgress","uploadProgressReducer","addComponents","UploadProgressDialog","WarningCircle","UnstableMediaLibrary","addSettingsLink","getTrad","ProtectedSettingsPage","settings","addFields","type","MediaLibraryInput","MediaLibraryDialog","registerPlugin","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAMA,IAAAA,GAAOC,SAAAA,CAAUC,MAAM,CAACF,IAAI;AAElC,MAAMG,KAAAA,GAAkC;AACtCC,IAAAA,QAAAA,CAAAA,CAASC,GAAc,EAAA;AACrBA,QAAAA,GAAAA,CAAIC,WAAW,CAAC;YACdC,EAAAA,EAAI,CAAC,QAAQ,EAAEC,QAAAA,CAAAA,CAAU;YACzBC,IAAAA,EAAMC,MAAAA;YACNC,SAAAA,EAAW;gBACTC,EAAAA,EAAI,CAAA,EAAGJ,QAAAA,CAAS,YAAY,CAAC;gBAC7BK,cAAAA,EAAgB;AAClB,aAAA;AACAC,YAAAA,WAAAA,EAAaC,YAAYC,IAAI;YAC7BC,SAAAA,EAAW,IAAA;AACT,gBAAA,OAAO,OAAO,qBAAA,CAAA,CAAmBC,IAAI,CAAC,CAACC,OAAS;AAAEC,wBAAAA,OAAAA,EAASD,IAAIE;qBAAO,CAAA,CAAA;AACxE,YAAA,CAAA;YACAC,QAAAA,EAAU;AACZ,SAAA,CAAA;AAEA,QAAA,IAAIC,OAAOrB,MAAM,CAACsB,MAAM,CAACC,SAAS,CAAC,sBAAA,CAAA,EAAyB;AAC1DpB,YAAAA,GAAAA,CAAIqB,WAAW,CAAC;gBAAEC,cAAAA,EAAgBC;AAAsB,aAAA,CAAA;AAExDvB,YAAAA,GAAAA,CAAIwB,aAAa,CAAC;AAChB,gBAAA;oBACE7B,IAAAA,EAAM,gCAAA;oBACNiB,SAAAA,EAAWa;AACb;AACD,aAAA,CAAA;AAEDzB,YAAAA,GAAAA,CAAIC,WAAW,CAAC;gBACdC,EAAAA,EAAI,CAAC,iBAAiB,EAAEC,QAAAA,CAAAA,CAAU;gBAClCC,IAAAA,EAAMsB,aAAAA;gBACNpB,SAAAA,EAAW;oBACTC,EAAAA,EAAI,CAAA,EAAGJ,QAAAA,CAAS,YAAY,CAAC;oBAC7BK,cAAAA,EAAgB;AAClB,iBAAA;AACAC,gBAAAA,WAAAA,EAAaC,YAAYC,IAAI;gBAC7BC,SAAAA,EAAW,IAAA;AACT,oBAAA,OAAO,OAAO,kBAAA,CAAA,CAAgBC,IAAI,CAAC,CAACC,OAAS;AAC3CC,4BAAAA,OAAAA,EAASD,IAAIa;yBACf,CAAA,CAAA;AACF,gBAAA,CAAA;gBACAV,QAAAA,EAAU;AACZ,aAAA,CAAA;AACF,QAAA;QAEAjB,GAAAA,CAAI4B,eAAe,CAAC,QAAA,EAAU;YAC5BrB,EAAAA,EAAI,wBAAA;YACJL,EAAAA,EAAI,eAAA;YACJI,SAAAA,EAAW;AACTC,gBAAAA,EAAAA,EAAIsB,OAAAA,CAAQ,aAAA,CAAA;gBACZrB,cAAAA,EAAgB;AAClB,aAAA;AACAI,YAAAA,SAAAA,CAAAA,GAAAA;AACE,gBAAA,OAAO,OAAO,uCAAA,CAAA,CAAqCC,IAAI,CAAC,CAACC,OAAS;AAChEC,wBAAAA,OAAAA,EAASD,IAAIgB;qBACf,CAAA,CAAA;AACF,YAAA,CAAA;AACArB,YAAAA,WAAAA,EAAaC,YAAYqB;AAC3B,SAAA,CAAA;AAEA/B,QAAAA,GAAAA,CAAIgC,SAAS,CAAC;YACZC,IAAAA,EAAM,OAAA;YACNrB,SAAAA,EAAWsB;AACb,SAAA,CAAA;AACAlC,QAAAA,GAAAA,CAAIwB,aAAa,CAAC;AAChB,YAAA;gBACE7B,IAAAA,EAAM,eAAA;gBACNiB,SAAAA,EAAWuB;AACb;AACD,SAAA,CAAA;AAEDnC,QAAAA,GAAAA,CAAIoC,cAAc,CAAC;YACjB7B,EAAAA,EAAIJ,QAAAA;AACJR,YAAAA;AACF,SAAA,CAAA;AACF,IAAA,CAAA;IACA,MAAM0C,aAAAA,CAAAA,CAAc,EAAEC,OAAO,EAAyB,EAAA;QACpD,MAAMC,aAAAA,GAAgB,MAAMC,OAAAA,CAAQC,GAAG,CACrCH,OAAAA,CAAQI,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACX,YAAA,OAAO,iCAAM,CAAC,CAAC,eAAe,EAAEA,MAAAA,CAAO,KAAK,CAAC,CAAA,CAC1C9B,IAAI,CAAC,CAAC,EAAEE,OAAAA,EAAS6B,IAAI,EAAE,GAAA;gBACtB,OAAO;AACLA,oBAAAA,IAAAA,EAAMC,yBAAyBD,IAAAA,EAAMzC,QAAAA,CAAAA;AACrCwC,oBAAAA;AACF,iBAAA;AACF,YAAA,CAAA,CAAA,CACCG,KAAK,CAAC,IAAA;gBACL,OAAO;AACLF,oBAAAA,IAAAA,EAAM,EAAC;AACPD,oBAAAA;AACF,iBAAA;AACF,YAAA,CAAA,CAAA;AACJ,QAAA,CAAA,CAAA,CAAA;QAGF,OAAOH,OAAAA,CAAQO,OAAO,CAACR,aAAAA,CAAAA;AACzB,IAAA;AACF;;;;"}